mirror of https://github.com/tc39/test262.git
78 lines
2.7 KiB
Python
78 lines
2.7 KiB
Python
#!/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()
|