@@ -2237,6 +2237,39 @@ def test_findall(self):
22372237 ['tag' ] * 2 )
22382238 self .assertEqual (e .findall ('section//' ), e .findall ('section//*' ))
22392239
2240+ self .assertEqual (summarize_list (e .findall (".//section[tag='subtext']" )),
2241+ ['section' ])
2242+ self .assertEqual (summarize_list (e .findall (".//section[tag ='subtext']" )),
2243+ ['section' ])
2244+ self .assertEqual (summarize_list (e .findall (".//section[tag= 'subtext']" )),
2245+ ['section' ])
2246+ self .assertEqual (summarize_list (e .findall (".//section[tag = 'subtext']" )),
2247+ ['section' ])
2248+ self .assertEqual (summarize_list (e .findall (".//section[ tag = 'subtext' ]" )),
2249+ ['section' ])
2250+
2251+ self .assertEqual (summarize_list (e .findall (".//tag[.='subtext']" )),
2252+ ['tag' ])
2253+ self .assertEqual (summarize_list (e .findall (".//tag[. ='subtext']" )),
2254+ ['tag' ])
2255+ self .assertEqual (summarize_list (e .findall ('.//tag[.= "subtext"]' )),
2256+ ['tag' ])
2257+ self .assertEqual (summarize_list (e .findall ('.//tag[ . = "subtext" ]' )),
2258+ ['tag' ])
2259+ self .assertEqual (summarize_list (e .findall (".//tag[. = 'subtext']" )),
2260+ ['tag' ])
2261+ self .assertEqual (summarize_list (e .findall (".//tag[. = 'subtext ']" )),
2262+ [])
2263+ self .assertEqual (summarize_list (e .findall (".//tag[.= ' subtext']" )),
2264+ [])
2265+
2266+ # duplicate section => 2x tag matches
2267+ e [1 ] = e [2 ]
2268+ self .assertEqual (summarize_list (e .findall (".//section[tag = 'subtext']" )),
2269+ ['section' , 'section' ])
2270+ self .assertEqual (summarize_list (e .findall (".//tag[. = 'subtext']" )),
2271+ ['tag' , 'tag' ])
2272+
22402273 def test_test_find_with_ns (self ):
22412274 e = ET .XML (SAMPLE_XML_NS )
22422275 self .assertEqual (summarize_list (e .findall ('tag' )), [])
0 commit comments