#!/usr/bin/env python # Copyright 2014 by Sam Mikes. All rights reserved. # This code is governed by the BSD license found in the LICENSE file. import unittest import os # add parent dir to search path import sys sys.path.insert(0, "..") from common import * def slurpFile(name): with open(name) as f: contents = f.read() return contents class TestOldParsing(unittest.TestCase): def test_test(self): pass def test_overview(self): name = 'fixtures/test262-old-headers.js' contents = slurpFile(name) record = convertDocString(contents) self.assertEqual("""The production Block { } in strict code can't contain function declaration;""", record['commentary']) self.assertEqual("bestPractice/Sbp_A1_T1.js", record['path']) self.assertEqual("Trying to declare function at the Block statement", 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', record['bestPractice']) class TestYAMLParsing(unittest.TestCase): def test_overview(self): name = 'fixtures/test262-yaml-headers.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']) 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()