From 8669d0c4bc6ed591db40854e38d2b9f2e69a941f Mon Sep 17 00:00:00 2001 From: Jeff Avallone Date: Fri, 19 Dec 2014 20:53:15 -0500 Subject: [PATCH] Adding specs for the basic repetitions --- spec/parser/javascript/repeat_any_spec.js | 13 +++++++++++++ spec/parser/javascript/repeat_optional_spec.js | 13 +++++++++++++ spec/parser/javascript/repeat_required_spec.js | 13 +++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 spec/parser/javascript/repeat_any_spec.js create mode 100644 spec/parser/javascript/repeat_optional_spec.js create mode 100644 spec/parser/javascript/repeat_required_spec.js diff --git a/spec/parser/javascript/repeat_any_spec.js b/spec/parser/javascript/repeat_any_spec.js new file mode 100644 index 0000000..db24caf --- /dev/null +++ b/spec/parser/javascript/repeat_any_spec.js @@ -0,0 +1,13 @@ +import javascript from 'src/js/parser/javascript/parser.js'; + +describe('parser/javascript/repeat_any.js', function() { + + it('parses "*" as a RepeatAny', function() { + var parser = new javascript.Parser('*'); + expect(parser.__consume__repeat_any()).toEqual(jasmine.objectContaining({ + minimum: 0, + maximum: -1 + })); + }); + +}); diff --git a/spec/parser/javascript/repeat_optional_spec.js b/spec/parser/javascript/repeat_optional_spec.js new file mode 100644 index 0000000..0c84058 --- /dev/null +++ b/spec/parser/javascript/repeat_optional_spec.js @@ -0,0 +1,13 @@ +import javascript from 'src/js/parser/javascript/parser.js'; + +describe('parser/javascript/repeat_optional.js', function() { + + it('parses "?" as a RepeatOptional', function() { + var parser = new javascript.Parser('?'); + expect(parser.__consume__repeat_optional()).toEqual(jasmine.objectContaining({ + minimum: 0, + maximum: 1 + })); + }); + +}); diff --git a/spec/parser/javascript/repeat_required_spec.js b/spec/parser/javascript/repeat_required_spec.js new file mode 100644 index 0000000..8f112ab --- /dev/null +++ b/spec/parser/javascript/repeat_required_spec.js @@ -0,0 +1,13 @@ +import javascript from 'src/js/parser/javascript/parser.js'; + +describe('parser/javascript/repeat_any.js', function() { + + it('parses "+" as a RepeatRequired', function() { + var parser = new javascript.Parser('+'); + expect(parser.__consume__repeat_required()).toEqual(jasmine.objectContaining({ + minimum: 1, + maximum: -1 + })); + }); + +});