3
3
import StringIO
4
4
import unittest
5
5
6
- from support import html5lib_test_files
6
+ from support import html5lib_test_files , TestData
7
7
8
8
from html5lib import html5parser , treewalkers , treebuilders
9
9
from html5lib .filters .lint import Filter as LintFilter , LintError
10
10
11
- from test_parser import parseTestcase
11
+ from test_parser import convertExpected
12
12
13
13
def PullDOMAdapter (node ):
14
14
from xml .dom import Node
@@ -209,7 +209,7 @@ def runTest(self, innerHTML, input, expected, errors, treeClass):
209
209
try :
210
210
output = convertTokens (LintFilter (treeClass ["walker" ](document )))
211
211
output = attrlist .sub (sortattrs , output )
212
- expected = attrlist .sub (sortattrs , expected )
212
+ expected = attrlist .sub (sortattrs , convertExpected ( expected ) )
213
213
self .assertEquals (expected , output , "\n " .join ([
214
214
"" , "Input:" , input ,
215
215
"" , "Expected:" , expected ,
@@ -228,16 +228,14 @@ def buildTestSuite():
228
228
testName = os .path .basename (filename ).replace (".dat" ,"" )
229
229
if testName == "tests5" : continue # TODO
230
230
231
- f = open (filename )
232
- tests = f . read (). split ( "#data \n " )
231
+ tests = TestData (filename , ( "data" , "errors" , "document-fragment" ,
232
+ "document" ) )
233
233
234
234
for index , test in enumerate (tests ):
235
- if test == "" : continue
236
- test = "#data\n " + test
237
- innerHTML , input , expected , errors = parseTestcase (test )
238
-
239
- def testFunc (self , innerHTML = innerHTML , input = input ,
240
- expected = expected , errors = errors , treeCls = treeCls ):
235
+ errors = test ['errors' ].split ("\n " )
236
+ def testFunc (self , innerHTML = test ['document-fragment' ],
237
+ input = test ['data' ], expected = test ['document' ],
238
+ errors = errors , treeCls = treeCls ):
241
239
self .runTest (innerHTML , input , expected , errors , treeCls )
242
240
setattr (TestCase , "test_%s_%d_%s" % (testName ,index + 1 ,treeName ),
243
241
testFunc )
0 commit comments