From 7f6e6d137d189a27408195a04f9c88eb226f998d Mon Sep 17 00:00:00 2001 From: Mike Pennisi <mike@mikepennisi.com> Date: Sat, 28 May 2016 15:44:54 -0400 Subject: [PATCH] [generation] Parse and render new error format Extend the test generation tool to emit the recently-modified format of the "negative" meta-data. Update the effected test case files accordingly. --- src/dflt-params/duplicates.case | 4 +++- src/dflt-params/rest.case | 4 +++- .../array-elem-init-simple-strict.case | 4 +++- .../array-elem-init-yield-ident-invalid.case | 4 +++- .../array-elem-nested-array-invalid.case | 4 +++- ...array-elem-nested-array-yield-ident-invalid.case | 4 +++- .../array-elem-nested-obj-invalid.case | 4 +++- .../array-elem-nested-obj-yield-ident-invalid.case | 4 +++- .../array-elem-target-simple-strict.case | 4 +++- .../array-elem-target-yield-invalid.case | 4 +++- src/dstr-assignment/array-rest-before-element.case | 4 +++- src/dstr-assignment/array-rest-before-elision.case | 4 +++- src/dstr-assignment/array-rest-before-rest.case | 4 +++- src/dstr-assignment/array-rest-elision-invalid.case | 4 +++- src/dstr-assignment/array-rest-init.case | 4 +++- .../array-rest-nested-array-invalid.case | 4 +++- ...array-rest-nested-array-yield-ident-invalid.case | 4 +++- .../array-rest-nested-obj-invalid.case | 4 +++- .../array-rest-nested-obj-yield-ident-invalid.case | 4 +++- .../array-rest-yield-ident-invalid.case | 4 +++- .../obj-id-identifier-yield-expr.case | 4 +++- .../obj-id-identifier-yield-ident-invalid.case | 4 +++- src/dstr-assignment/obj-id-init-simple-strict.case | 4 +++- .../obj-id-init-yield-ident-invalid.case | 4 +++- src/dstr-assignment/obj-id-simple-strict.case | 4 +++- .../obj-prop-elem-init-yield-ident-invalid.case | 4 +++- .../obj-prop-elem-target-yield-ident-invalid.case | 4 +++- .../obj-prop-nested-array-invalid.case | 4 +++- .../obj-prop-nested-array-yield-ident-invalid.case | 4 +++- .../obj-prop-nested-obj-invalid.case | 4 +++- .../obj-prop-nested-obj-yield-ident-invalid.case | 4 +++- src/dstr-binding/ary-ptrn-rest-init-ary.case | 4 +++- src/dstr-binding/ary-ptrn-rest-init-id.case | 4 +++- src/dstr-binding/ary-ptrn-rest-init-obj.case | 4 +++- src/dstr-binding/ary-ptrn-rest-not-final-ary.case | 4 +++- src/dstr-binding/ary-ptrn-rest-not-final-id.case | 4 +++- src/dstr-binding/ary-ptrn-rest-not-final-obj.case | 4 +++- tools/generation/lib/template.py | 5 ++++- .../test/expected/negative/negative-negative.js | 13 +++++++++++++ tools/generation/test/fixtures/negative.case | 10 ++++++++++ .../test/fixtures/negative/negative.template | 7 +++++++ tools/generation/test/run.py | 5 +++++ 42 files changed, 150 insertions(+), 38 deletions(-) create mode 100644 tools/generation/test/expected/negative/negative-negative.js create mode 100644 tools/generation/test/fixtures/negative.case create mode 100644 tools/generation/test/fixtures/negative/negative.template diff --git a/src/dflt-params/duplicates.case b/src/dflt-params/duplicates.case index e2a6e424d0..90ae8bfb75 100644 --- a/src/dflt-params/duplicates.case +++ b/src/dflt-params/duplicates.case @@ -5,7 +5,9 @@ desc: > It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. template: syntax -negative: SyntaxError +negative: + phase: early + type: SyntaxError info: | 14.1.2 Static Semantics: Early Errors diff --git a/src/dflt-params/rest.case b/src/dflt-params/rest.case index e8b7f03e35..cee08eaf12 100644 --- a/src/dflt-params/rest.case +++ b/src/dflt-params/rest.case @@ -20,7 +20,9 @@ info: | ...BindingIdentifier[?Yield] ...BindingPattern[?Yield] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- params diff --git a/src/dstr-assignment/array-elem-init-simple-strict.case b/src/dstr-assignment/array-elem-init-simple-strict.case index 7158a328b8..3db58d5504 100644 --- a/src/dstr-assignment/array-elem-init-simple-strict.case +++ b/src/dstr-assignment/array-elem-init-simple-strict.case @@ -10,7 +10,9 @@ desc: > template: syntax es6id: 12.14.5.1 flags: [onlyStrict] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/array-elem-init-yield-ident-invalid.case b/src/dstr-assignment/array-elem-init-yield-ident-invalid.case index c67ee2c344..a92e5fc498 100644 --- a/src/dstr-assignment/array-elem-init-yield-ident-invalid.case +++ b/src/dstr-assignment/array-elem-init-yield-ident-invalid.case @@ -8,7 +8,9 @@ desc: > template: syntax es6id: 12.14.5.4 flags: [onlyStrict] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/array-elem-nested-array-invalid.case b/src/dstr-assignment/array-elem-nested-array-invalid.case index 9cceb9f06f..c3d212df05 100644 --- a/src/dstr-assignment/array-elem-nested-array-invalid.case +++ b/src/dstr-assignment/array-elem-nested-array-invalid.case @@ -9,7 +9,9 @@ desc: > AssignmentPattern as the goal symbol. template: syntax es6id: 12.14.5.1 -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/array-elem-nested-array-yield-ident-invalid.case b/src/dstr-assignment/array-elem-nested-array-yield-ident-invalid.case index 006428417b..67bfe43404 100644 --- a/src/dstr-assignment/array-elem-nested-array-yield-ident-invalid.case +++ b/src/dstr-assignment/array-elem-nested-array-yield-ident-invalid.case @@ -9,7 +9,9 @@ desc: > template: syntax es6id: 12.14.5.3 flags: [onlyStrict] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/array-elem-nested-obj-invalid.case b/src/dstr-assignment/array-elem-nested-obj-invalid.case index 3bf2ec0f31..5b486bc48e 100644 --- a/src/dstr-assignment/array-elem-nested-obj-invalid.case +++ b/src/dstr-assignment/array-elem-nested-obj-invalid.case @@ -9,7 +9,9 @@ desc: > AssignmentPattern as the goal symbol. template: syntax es6id: 12.14.5.1 -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/array-elem-nested-obj-yield-ident-invalid.case b/src/dstr-assignment/array-elem-nested-obj-yield-ident-invalid.case index ce9db76419..d6a792c8bf 100644 --- a/src/dstr-assignment/array-elem-nested-obj-yield-ident-invalid.case +++ b/src/dstr-assignment/array-elem-nested-obj-yield-ident-invalid.case @@ -9,7 +9,9 @@ desc: > template: syntax es6id: 12.14.5.3 flags: [onlyStrict] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/array-elem-target-simple-strict.case b/src/dstr-assignment/array-elem-target-simple-strict.case index b9a8adf770..a06ccd75d0 100644 --- a/src/dstr-assignment/array-elem-target-simple-strict.case +++ b/src/dstr-assignment/array-elem-target-simple-strict.case @@ -10,7 +10,9 @@ desc: > template: syntax es6id: 12.14.5.1 flags: [onlyStrict] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/array-elem-target-yield-invalid.case b/src/dstr-assignment/array-elem-target-yield-invalid.case index 0ff8247068..71270d5f45 100644 --- a/src/dstr-assignment/array-elem-target-yield-invalid.case +++ b/src/dstr-assignment/array-elem-target-yield-invalid.case @@ -9,7 +9,9 @@ desc: > template: syntax es6id: 12.14.5.4 flags: [onlyStrict] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/array-rest-before-element.case b/src/dstr-assignment/array-rest-before-element.case index fda8d7721f..cbf87ec138 100644 --- a/src/dstr-assignment/array-rest-before-element.case +++ b/src/dstr-assignment/array-rest-before-element.case @@ -7,7 +7,9 @@ desc: > AssignmentElementList. template: syntax es6id: 12.14.5 -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/array-rest-before-elision.case b/src/dstr-assignment/array-rest-before-elision.case index 501f9ac1e6..d97663df9f 100644 --- a/src/dstr-assignment/array-rest-before-elision.case +++ b/src/dstr-assignment/array-rest-before-elision.case @@ -7,7 +7,9 @@ desc: > AssignmentElementList. template: syntax es6id: 12.14.5 -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/array-rest-before-rest.case b/src/dstr-assignment/array-rest-before-rest.case index a86de5f458..304e0ab487 100644 --- a/src/dstr-assignment/array-rest-before-rest.case +++ b/src/dstr-assignment/array-rest-before-rest.case @@ -7,7 +7,9 @@ desc: > AssignmentElementList. template: syntax es6id: 12.14.5 -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/array-rest-elision-invalid.case b/src/dstr-assignment/array-rest-elision-invalid.case index f002f7169a..019fa58dd5 100644 --- a/src/dstr-assignment/array-rest-elision-invalid.case +++ b/src/dstr-assignment/array-rest-elision-invalid.case @@ -7,7 +7,9 @@ desc: > AssignmentRestElement in a AssignmentElementList. template: syntax es6id: 12.14.5 -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/array-rest-init.case b/src/dstr-assignment/array-rest-init.case index 02c329e209..aaf654fa47 100644 --- a/src/dstr-assignment/array-rest-init.case +++ b/src/dstr-assignment/array-rest-init.case @@ -6,7 +6,9 @@ desc: > The AssignmentRestElement does not support an initializer. template: syntax es6id: 12.14.5 -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- setup diff --git a/src/dstr-assignment/array-rest-nested-array-invalid.case b/src/dstr-assignment/array-rest-nested-array-invalid.case index 08eff54e22..0163c4e004 100644 --- a/src/dstr-assignment/array-rest-nested-array-invalid.case +++ b/src/dstr-assignment/array-rest-nested-array-invalid.case @@ -9,7 +9,9 @@ desc: > AssignmentPattern as the goal symbol. template: syntax es6id: 12.14.5.1 -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/array-rest-nested-array-yield-ident-invalid.case b/src/dstr-assignment/array-rest-nested-array-yield-ident-invalid.case index 995a7f9ff3..42c334b406 100644 --- a/src/dstr-assignment/array-rest-nested-array-yield-ident-invalid.case +++ b/src/dstr-assignment/array-rest-nested-array-yield-ident-invalid.case @@ -9,7 +9,9 @@ desc: > template: syntax es6id: 12.14.5.3 flags: [onlyStrict] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/array-rest-nested-obj-invalid.case b/src/dstr-assignment/array-rest-nested-obj-invalid.case index ee38be20ea..b393f1677d 100644 --- a/src/dstr-assignment/array-rest-nested-obj-invalid.case +++ b/src/dstr-assignment/array-rest-nested-obj-invalid.case @@ -9,7 +9,9 @@ desc: > AssignmentPattern as the goal symbol. template: syntax es6id: 12.14.5.1 -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/array-rest-nested-obj-yield-ident-invalid.case b/src/dstr-assignment/array-rest-nested-obj-yield-ident-invalid.case index 9759c626ca..7b88162a66 100644 --- a/src/dstr-assignment/array-rest-nested-obj-yield-ident-invalid.case +++ b/src/dstr-assignment/array-rest-nested-obj-yield-ident-invalid.case @@ -9,7 +9,9 @@ desc: > template: syntax es6id: 12.14.5.3 flags: [onlyStrict] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/array-rest-yield-ident-invalid.case b/src/dstr-assignment/array-rest-yield-ident-invalid.case index d635a7c5a6..3dec86f328 100644 --- a/src/dstr-assignment/array-rest-yield-ident-invalid.case +++ b/src/dstr-assignment/array-rest-yield-ident-invalid.case @@ -9,7 +9,9 @@ desc: > template: syntax es6id: 12.14.5 flags: [onlyStrict] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- setup diff --git a/src/dstr-assignment/obj-id-identifier-yield-expr.case b/src/dstr-assignment/obj-id-identifier-yield-expr.case index 8dc18230f5..d188630eed 100644 --- a/src/dstr-assignment/obj-id-identifier-yield-expr.case +++ b/src/dstr-assignment/obj-id-identifier-yield-expr.case @@ -9,7 +9,9 @@ template: syntax es6id: 12.14.5 flags: [noStrict] features: [generators] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- setup diff --git a/src/dstr-assignment/obj-id-identifier-yield-ident-invalid.case b/src/dstr-assignment/obj-id-identifier-yield-ident-invalid.case index 83c135da48..e668456de7 100644 --- a/src/dstr-assignment/obj-id-identifier-yield-ident-invalid.case +++ b/src/dstr-assignment/obj-id-identifier-yield-ident-invalid.case @@ -8,7 +8,9 @@ desc: > template: syntax es6id: 12.14.5 flags: [onlyStrict] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/obj-id-init-simple-strict.case b/src/dstr-assignment/obj-id-init-simple-strict.case index b2faabe699..c2eebf5204 100644 --- a/src/dstr-assignment/obj-id-init-simple-strict.case +++ b/src/dstr-assignment/obj-id-init-simple-strict.case @@ -8,7 +8,9 @@ desc: > template: syntax es6id: 12.14.5.1 flags: [onlyStrict] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/obj-id-init-yield-ident-invalid.case b/src/dstr-assignment/obj-id-init-yield-ident-invalid.case index 3d8d12f933..31ed69b955 100644 --- a/src/dstr-assignment/obj-id-init-yield-ident-invalid.case +++ b/src/dstr-assignment/obj-id-init-yield-ident-invalid.case @@ -9,7 +9,9 @@ desc: > template: syntax es6id: 12.14.5 flags: [onlyStrict] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/obj-id-simple-strict.case b/src/dstr-assignment/obj-id-simple-strict.case index 19e92bb621..07ee74ad97 100644 --- a/src/dstr-assignment/obj-id-simple-strict.case +++ b/src/dstr-assignment/obj-id-simple-strict.case @@ -8,7 +8,9 @@ desc: > template: syntax es6id: 12.14.5.1 flags: [onlyStrict] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/obj-prop-elem-init-yield-ident-invalid.case b/src/dstr-assignment/obj-prop-elem-init-yield-ident-invalid.case index 9c127af0ee..3209b2ae68 100644 --- a/src/dstr-assignment/obj-prop-elem-init-yield-ident-invalid.case +++ b/src/dstr-assignment/obj-prop-elem-init-yield-ident-invalid.case @@ -9,7 +9,9 @@ desc: > template: syntax es6id: 12.14.5.4 flags: [onlyStrict] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/obj-prop-elem-target-yield-ident-invalid.case b/src/dstr-assignment/obj-prop-elem-target-yield-ident-invalid.case index 75503db0e8..5499eff41c 100644 --- a/src/dstr-assignment/obj-prop-elem-target-yield-ident-invalid.case +++ b/src/dstr-assignment/obj-prop-elem-target-yield-ident-invalid.case @@ -9,7 +9,9 @@ desc: > template: syntax es6id: 12.14.5.4 flags: [onlyStrict] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/obj-prop-nested-array-invalid.case b/src/dstr-assignment/obj-prop-nested-array-invalid.case index b4321822d3..e211a97156 100644 --- a/src/dstr-assignment/obj-prop-nested-array-invalid.case +++ b/src/dstr-assignment/obj-prop-nested-array-invalid.case @@ -9,7 +9,9 @@ desc: > AssignmentPattern as the goal symbol. template: syntax es6id: 12.14.5.1 -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/obj-prop-nested-array-yield-ident-invalid.case b/src/dstr-assignment/obj-prop-nested-array-yield-ident-invalid.case index addafc3b40..da89304718 100644 --- a/src/dstr-assignment/obj-prop-nested-array-yield-ident-invalid.case +++ b/src/dstr-assignment/obj-prop-nested-array-yield-ident-invalid.case @@ -9,7 +9,9 @@ desc: > template: syntax es6id: 12.14.5.4 flags: [onlyStrict] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/obj-prop-nested-obj-invalid.case b/src/dstr-assignment/obj-prop-nested-obj-invalid.case index 9bf46e92cd..b207859342 100644 --- a/src/dstr-assignment/obj-prop-nested-obj-invalid.case +++ b/src/dstr-assignment/obj-prop-nested-obj-invalid.case @@ -10,7 +10,9 @@ desc: > the goal symbol. template: syntax es6id: 12.14.5.1 -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-assignment/obj-prop-nested-obj-yield-ident-invalid.case b/src/dstr-assignment/obj-prop-nested-obj-yield-ident-invalid.case index c37458e46d..a6a02878eb 100644 --- a/src/dstr-assignment/obj-prop-nested-obj-yield-ident-invalid.case +++ b/src/dstr-assignment/obj-prop-nested-obj-yield-ident-invalid.case @@ -9,7 +9,9 @@ desc: > template: syntax es6id: 12.14.5.4 flags: [onlyStrict] -negative: SyntaxError +negative: + phase: early + type: SyntaxError ---*/ //- elems diff --git a/src/dstr-binding/ary-ptrn-rest-init-ary.case b/src/dstr-binding/ary-ptrn-rest-init-ary.case index dd8cba348b..ab359ad3f3 100644 --- a/src/dstr-binding/ary-ptrn-rest-init-ary.case +++ b/src/dstr-binding/ary-ptrn-rest-init-ary.case @@ -3,7 +3,9 @@ /*--- template: default desc: Reset element (nested array pattern) does not support initializer -negative: SyntaxError +negative: + phase: early + type: SyntaxError info: > 13.3.3 Destructuring Binding Patterns diff --git a/src/dstr-binding/ary-ptrn-rest-init-id.case b/src/dstr-binding/ary-ptrn-rest-init-id.case index 91dd9d4329..e5ab514c08 100644 --- a/src/dstr-binding/ary-ptrn-rest-init-id.case +++ b/src/dstr-binding/ary-ptrn-rest-init-id.case @@ -3,7 +3,9 @@ /*--- template: default desc: Reset element (identifier) does not support initializer -negative: SyntaxError +negative: + phase: early + type: SyntaxError info: > 13.3.3 Destructuring Binding Patterns diff --git a/src/dstr-binding/ary-ptrn-rest-init-obj.case b/src/dstr-binding/ary-ptrn-rest-init-obj.case index cfcee7403f..dc3cf7437a 100644 --- a/src/dstr-binding/ary-ptrn-rest-init-obj.case +++ b/src/dstr-binding/ary-ptrn-rest-init-obj.case @@ -3,7 +3,9 @@ /*--- template: default desc: Reset element (nested object pattern) does not support initializer -negative: SyntaxError +negative: + phase: early + type: SyntaxError info: > 13.3.3 Destructuring Binding Patterns diff --git a/src/dstr-binding/ary-ptrn-rest-not-final-ary.case b/src/dstr-binding/ary-ptrn-rest-not-final-ary.case index 416826354e..c76c83d0a4 100644 --- a/src/dstr-binding/ary-ptrn-rest-not-final-ary.case +++ b/src/dstr-binding/ary-ptrn-rest-not-final-ary.case @@ -3,7 +3,9 @@ /*--- template: default desc: Rest element (array binding pattern) may not be followed by any element -negative: SyntaxError +negative: + phase: early + type: SyntaxError info: > 13.3.3 Destructuring Binding Patterns diff --git a/src/dstr-binding/ary-ptrn-rest-not-final-id.case b/src/dstr-binding/ary-ptrn-rest-not-final-id.case index 9594641608..962733013a 100644 --- a/src/dstr-binding/ary-ptrn-rest-not-final-id.case +++ b/src/dstr-binding/ary-ptrn-rest-not-final-id.case @@ -3,7 +3,9 @@ /*--- template: default desc: Rest element (identifier) may not be followed by any element -negative: SyntaxError +negative: + phase: early + type: SyntaxError info: > 13.3.3 Destructuring Binding Patterns diff --git a/src/dstr-binding/ary-ptrn-rest-not-final-obj.case b/src/dstr-binding/ary-ptrn-rest-not-final-obj.case index f5ab82db4b..00c70507ea 100644 --- a/src/dstr-binding/ary-ptrn-rest-not-final-obj.case +++ b/src/dstr-binding/ary-ptrn-rest-not-final-obj.case @@ -3,7 +3,9 @@ /*--- template: default desc: Rest element (object binding pattern) may not be followed by any element -negative: SyntaxError +negative: + phase: early + type: SyntaxError info: > 13.3.3 Destructuring Binding Patterns diff --git a/tools/generation/lib/template.py b/tools/generation/lib/template.py index 769ec4fb9e..609724b6f3 100644 --- a/tools/generation/lib/template.py +++ b/tools/generation/lib/template.py @@ -144,7 +144,10 @@ class Template: lines += ['includes: ' + yaml.dump(includes).strip()] if case_values['meta'].get('negative'): - lines += ['negative: ' + case_values['meta'].get('negative')] + lines += ['negative:'] + as_yaml = yaml.dump(case_values['meta'].get('negative'), + default_flow_style=False) + lines += indent(as_yaml.strip(), ' ').split('\n') info = [] diff --git a/tools/generation/test/expected/negative/negative-negative.js b/tools/generation/test/expected/negative/negative-negative.js new file mode 100644 index 0000000000..539d748034 --- /dev/null +++ b/tools/generation/test/expected/negative/negative-negative.js @@ -0,0 +1,13 @@ +// This file was procedurally generated from the following sources: +// - tools/generation/test/fixtures/negative.case +// - tools/generation/test/fixtures/negative/negative.template +/*--- +description: foobar (The "negative" field should be emitted in the output files) +es6id: 1.2.3 +flags: [generated] +negative: + phase: early + type: ReferenceError +info: | + case info +---*/ diff --git a/tools/generation/test/fixtures/negative.case b/tools/generation/test/fixtures/negative.case new file mode 100644 index 0000000000..9a56ecb4c6 --- /dev/null +++ b/tools/generation/test/fixtures/negative.case @@ -0,0 +1,10 @@ +// Copyright (C) 2016 Mike Pennisi. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +template: negative +desc: foobar +info: case info +negative: + phase: early + type: ReferenceError +---*/ diff --git a/tools/generation/test/fixtures/negative/negative.template b/tools/generation/test/fixtures/negative/negative.template new file mode 100644 index 0000000000..e0ffe20197 --- /dev/null +++ b/tools/generation/test/fixtures/negative/negative.template @@ -0,0 +1,7 @@ +// Copyright (C) 2016 Mike Pennisi. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +name: The "negative" field should be emitted in the output files +path: negative/negative- +es6id: 1.2.3 +---*/ diff --git a/tools/generation/test/run.py b/tools/generation/test/run.py index 297815d679..9fc9ee3a1b 100755 --- a/tools/generation/test/run.py +++ b/tools/generation/test/run.py @@ -54,5 +54,10 @@ class TestGeneration(unittest.TestCase): self.assertEqual(result['returncode'], 0) self.compareTrees('normal') + def test_negative(self): + result = self.fixture('negative.case') + self.assertEqual(result['returncode'], 0) + self.compareTrees('negative') + if __name__ == '__main__': unittest.main() -- GitLab