@@ -317,11 +317,11 @@ def set_attribute_on_first_child(docfrag, name, value, treeName):
317
317
fragment passed in"""
318
318
setter = {'ElementTree' : lambda d : d [0 ].set ,
319
319
'DOM' : lambda d : d .firstChild .setAttribute }
320
- setter ['PullDOM ' ] = setter ['DOM ' ]
320
+ setter ['cElementTree ' ] = setter ['ElementTree ' ]
321
321
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 )
325
325
326
326
327
327
def runTreewalkerEditTest (intext , expected , attrs_to_add , tree ):
@@ -336,15 +336,23 @@ def runTreewalkerEditTest(intext, expected, attrs_to_add, tree):
336
336
output = convertTokens (treeClass ["walker" ](document ))
337
337
output = attrlist .sub (sortattrs , output )
338
338
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 ))
340
340
341
341
342
342
def test_treewalker_six_mix ():
343
343
"""Str/Unicode mix. If str attrs added to tree"""
344
344
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
+ ]
348
355
349
356
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