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}`; + } } };