@@ -317,11 +317,11 @@ def set_attribute_on_first_child(docfrag, name, value, treeName):
317317 fragment passed in"""
318318 setter = {'ElementTree' : lambda d : d [0 ].set ,
319319 'DOM' : lambda d : d .firstChild .setAttribute }
320- setter ['PullDOM ' ] = setter ['DOM ' ]
320+ setter ['cElementTree ' ] = setter ['ElementTree ' ]
321321 try :
322- setter .get (treeName , setter ['ElementTree ' ])(docfrag )(name , value )
323- except TypeError :
324- setter ['DOM ' ](docfrag )(name , value )
322+ setter .get (treeName , setter ['DOM ' ])(docfrag )(name , value )
323+ except AttributeError :
324+ setter ['ElementTree ' ](docfrag )(name , value )
325325
326326
327327def runTreewalkerEditTest (intext , expected , attrs_to_add , tree ):
@@ -336,15 +336,23 @@ def runTreewalkerEditTest(intext, expected, attrs_to_add, tree):
336336 output = convertTokens (treeClass ["walker" ](document ))
337337 output = attrlist .sub (sortattrs , output )
338338 if not output in expected :
339- raise AssertionError ('%r not in %r' % (output , expected ))
339+ raise AssertionError ("TreewalkerEditTest: %s \n Expected: \n %s \n Received: \n %s" % (treeName , expected , output ))
340340
341341
342342def test_treewalker_six_mix ():
343343 """Str/Unicode mix. If str attrs added to tree"""
344344
345- intext = '<a href="http://example.com">Example</a>'
346- expected = '<a>\n class="test123"\n href="http://example.com"\n "Example"'
347- attrs = [('class' , 'test123' )]
345+ # ToDo: Find a better way to specify that the attribute value is a bytestring
346+ sm_tests = [
347+ ('<a href="http://example.com">Example</a>' ,
348+ [(str ('class' ), str ('test123' ))],
349+ '<a>\n class="test123"\n href="http://example.com"\n "Example"' ),
350+
351+ ('<link href="http://example.com/cow">' ,
352+ [(str ('rel' ), str ('alternate' ))],
353+ '<link>\n href="http://example.com/cow"\n rel="alternate"\n "Example"' )
354+ ]
348355
349356 for tree in treeTypes .items ():
350- yield runTreewalkerEditTest , intext , expected , attrs , tree
357+ for intext , attrs , expected in sm_tests :
358+ yield runTreewalkerEditTest , intext , expected , attrs , tree
0 commit comments