From 0f64e61451ff7b1eb65a81bb633c11e6d26a5660 Mon Sep 17 00:00:00 2001 From: Leo Balter Date: Wed, 6 Feb 2019 15:23:43 -0500 Subject: [PATCH] update tests for packaging tools --- .../fixtures/test262-yaml-headers-no-cr.js | 15 ++++++++++ tools/packaging/test/test_common.py | 18 +++++++++-- tools/packaging/test/test_parseTestRecord.py | 30 ++++++++++++++++++- 3 files changed, 60 insertions(+), 3 deletions(-) create mode 100644 tools/packaging/test/fixtures/test262-yaml-headers-no-cr.js diff --git a/tools/packaging/test/fixtures/test262-yaml-headers-no-cr.js b/tools/packaging/test/fixtures/test262-yaml-headers-no-cr.js new file mode 100644 index 0000000000..62ac683d92 --- /dev/null +++ b/tools/packaging/test/fixtures/test262-yaml-headers-no-cr.js @@ -0,0 +1,15 @@ +/*--- +info: > + The production Block { } in strict code can't contain function + declaration; +description: Trying to declare function at the Block statement +negative: SyntaxError +bestPractice: "http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls" +flags: [onlyStrict] +---*/ + +"use strict"; +{ + function __func(){} +} + diff --git a/tools/packaging/test/test_common.py b/tools/packaging/test/test_common.py index 0d6600b7d7..2841a5bf07 100644 --- a/tools/packaging/test/test_common.py +++ b/tools/packaging/test/test_common.py @@ -37,7 +37,7 @@ declaration;""", record['commentary']) record['description']) self.assertEqual("", record['onlyStrict']) self.assertEqual("SyntaxError", record['negative']) - self.assertEqual("http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls", + self.assertEqual('http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls', record['bestPractice']) @@ -55,9 +55,23 @@ class TestYAMLParsing(unittest.TestCase): self.assertEqual(['onlyStrict'], record['flags']) self.assertEqual("", record['onlyStrict']) self.assertEqual("SyntaxError", record['negative']) - self.assertEqual("http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls", + self.assertEqual('"http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls"', record['bestPractice']) + def test_no_header(self): + name = 'fixtures/test262-yaml-headers-no-cr.js' + contents = slurpFile(name) + record = convertDocString(contents) + + self.assertEqual("The production Block { } in strict code can't contain function declaration;\n", record['commentary']) + + self.assertEqual("Trying to declare function at the Block statement", + record['description']) + self.assertEqual(['onlyStrict'], record['flags']) + self.assertEqual("", record['onlyStrict']) + self.assertEqual("SyntaxError", record['negative']) + self.assertEqual('"http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls"', + record['bestPractice']) if __name__ == '__main__': unittest.main() diff --git a/tools/packaging/test/test_parseTestRecord.py b/tools/packaging/test/test_parseTestRecord.py index 7d1e9a64d2..7cb15807d5 100644 --- a/tools/packaging/test/test_parseTestRecord.py +++ b/tools/packaging/test/test_parseTestRecord.py @@ -161,7 +161,35 @@ flags: [onlyStrict]""" self.assertEqual(['onlyStrict'], record['flags']) self.assertEqual("", record['onlyStrict']) self.assertEqual("SyntaxError", record['negative']) - self.assertEqual("http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls", + self.assertEqual('"http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls"', + record['bestPractice']) + + self.assertEqual(""""use strict"; +{ + function __func(){} +} + +""", record['test']) + +class TestYAML2Parsing(unittest.TestCase): + def test_test(self): + self.assertTrue(True) + + def test_overview(self): + name = 'fixtures/test262-yaml-headers-no-cr.js' + contents = slurpFile(name) + record = parseTestRecord(contents, name) + + self.assertEqual('', + record['header']) + self.assertEqual("The production Block { } in strict code can't contain function declaration;\n", record['commentary']) + + self.assertEqual("Trying to declare function at the Block statement", + record['description']) + self.assertEqual(['onlyStrict'], record['flags']) + self.assertEqual("", record['onlyStrict']) + self.assertEqual("SyntaxError", record['negative']) + self.assertEqual('"http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls"', record['bestPractice']) self.assertEqual(""""use strict";