[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/mfa/html5lib-python/python3-old/tests/test_validator.py [Back]  [Original]

import os, unittest
from support import simplejson, html5lib_test_files
from html5lib.html5parser import HTMLParser
from html5lib.filters.validator import HTMLConformanceChecker

class TestCase(unittest.TestCase):
    def runValidatorTest(self, test):
        p = HTMLParser(tokenizer=HTMLConformanceChecker)
        p.parse(test['input'])
        errorCodes = [errorcode for position, errorcode, datavars in p.errors]
        if test.has_key('fail-if'):
            self.failIf(test['fail-if'] in errorCodes)
        if test.has_key('fail-unless'):
            self.failUnless(test['fail-unless'] in errorCodes)

def buildTestSuite():
    for filename in html5lib_test_files('validator', '*.test'):
        tests = simplejson.load(file(filename))
        testName = os.path.basename(filename).replace(".test","")
        for index,test in enumerate(tests['tests']):
            def testFunc(self, test=test):
                self.runValidatorTest(test)
            testFunc.__doc__ = "\t".join([testName, test['description']])
            setattr(TestCase, 'test_%s_%d' % (testName, index), testFunc)
    return unittest.TestLoader().loadTestsFromTestCase(TestCase)

def main():
    buildTestSuite()
    unittest.main()

if __name__ == "__main__":
    main()

Web Proxy Viewer  |  New URL  |  Original Page