From 7f6e6d137d189a27408195a04f9c88eb226f998d Mon Sep 17 00:00:00 2001 From: Mike Pennisi Date: Sat, 28 May 2016 15:44:54 -0400 Subject: [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. --- tools/generation/lib/template.py | 5 ++++- .../generation/test/expected/negative/negative-negative.js | 13 +++++++++++++ tools/generation/test/fixtures/negative.case | 10 ++++++++++ tools/generation/test/fixtures/negative/negative.template | 7 +++++++ tools/generation/test/run.py | 5 +++++ 5 files changed, 39 insertions(+), 1 deletion(-) 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 (limited to 'tools') diff --git a/tools/generation/lib/template.py b/tools/generation/lib/template.py index 769ec4fb9..609724b6f 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 000000000..539d74803 --- /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 000000000..9a56ecb4c --- /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 000000000..e0ffe2019 --- /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 297815d67..9fc9ee3a1 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() -- cgit v1.2.1