From 55657a792bf97183b695f2357523e1b708c7853d Mon Sep 17 00:00:00 2001 From: Jeff Avallone Date: Sat, 20 Dec 2014 10:53:01 -0500 Subject: [PATCH] Adding check for out of order numbers --- spec/parser/javascript/repeat_spec_spec.js | 7 +++++++ src/js/parser/javascript/repeat_spec.js | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/spec/parser/javascript/repeat_spec_spec.js b/spec/parser/javascript/repeat_spec_spec.js index 61eadb2..4d79cc7 100644 --- a/spec/parser/javascript/repeat_spec_spec.js +++ b/spec/parser/javascript/repeat_spec_spec.js @@ -31,4 +31,11 @@ describe('parser/javascript/repeat_spec.js', function() { expect(parser.__consume__repeat_spec()).toEqual(null); }); + it('throws an exception when the numbers are out of order', function() { + var parser = new javascript.Parser('{42,24}'); + expect(() => { + parser.__consume__repeat_spec(); + }).toThrow('Numbers out of order: {42,24}'); + }); + }); diff --git a/src/js/parser/javascript/repeat_spec.js b/src/js/parser/javascript/repeat_spec.js index cf1eb7e..d6ee5d0 100644 --- a/src/js/parser/javascript/repeat_spec.js +++ b/src/js/parser/javascript/repeat_spec.js @@ -15,5 +15,9 @@ export default { } else { this.maximum = -1; } + + if (this.minimum > this.maximum && this.maximum !== -1) { + throw `Numbers out of order: ${this.textValue}`; + } } };