@@ -401,7 +401,7 @@ def get_tree_count(tree, path):
401401 return len (tree .findall (path ))
402402
403403
404- def check_snapshot (snapshot_name , tree ):
404+ def check_snapshot (snapshot_name , tree , normalize_to_text ):
405405 assert rust_test_path .endswith ('.rs' )
406406 snapshot_path = '{}.{}.{}' .format (rust_test_path [:- 3 ], snapshot_name , 'html' )
407407 try :
@@ -413,7 +413,10 @@ def check_snapshot(snapshot_name, tree):
413413 else :
414414 raise FailedCheck ('No saved snapshot value' )
415415
416- actual_str = ET .tostring (tree ).decode ('utf-8' )
416+ if not normalize_to_text :
417+ actual_str = ET .tostring (tree ).decode ('utf-8' )
418+ else :
419+ actual_str = flatten (tree )
417420
418421 if expected_str != actual_str :
419422 if bless :
@@ -494,11 +497,16 @@ def check_command(c, cache):
494497 [snapshot_name , html_path , pattern ] = c .args
495498 tree = cache .get_tree (html_path )
496499 xpath = normalize_xpath (pattern )
500+ normalize_to_text = False
501+ if xpath .endswith ('/text()' ):
502+ xpath = xpath [:- 7 ]
503+ normalize_to_text = True
504+
497505 subtrees = tree .findall (xpath )
498506 if len (subtrees ) == 1 :
499507 [subtree ] = subtrees
500508 try :
501- check_snapshot (snapshot_name , subtree )
509+ check_snapshot (snapshot_name , subtree , normalize_to_text )
502510 ret = True
503511 except FailedCheck as err :
504512 cerr = str (err )
0 commit comments