@@ -237,6 +237,73 @@ def test_assert_select_with_invalid_minimum_and_maximum
237237 assert_equal "Range begin or :minimum cannot be greater than Range end or :maximum" , error . message
238238 end
239239
240+ def test_assert_select_not_strict_collapses_whitespace
241+ render_html "<p>Some\n line-broken\n text</p>"
242+
243+ assert_nothing_raised do
244+ assert_select "p" , {
245+ text : "Some line-broken text" ,
246+ strict : false
247+ } , "Whitespace was not collapsed from text when not strict"
248+
249+ assert_select "p" , {
250+ html : "Some line-broken text" ,
251+ strict : false
252+ } , "Whitespace was not collapsed from html when not strict"
253+ end
254+
255+ render_html "<p>Some<br><br>line-broken<br><br>text</p>"
256+
257+ assert_nothing_raised do
258+ assert_select "p" , {
259+ text : "Someline-brokentext" ,
260+ strict : false
261+ } , "<br> was not removed from text when not strict"
262+
263+ assert_select "p" , {
264+ html : "Some<br><br>line-broken<br><br>text" ,
265+ strict : false
266+ } , "<br> was removed from html when not strict"
267+ end
268+ end
269+
270+ def test_assert_select_strict_respects_whitespace
271+ render_html "<p>Some\n line-broken\n text</p>"
272+
273+ assert_nothing_raised do
274+ assert_select "p" , {
275+ text : "Some\n line-broken\n text" ,
276+ strict : true
277+ } , "Whitespace was collapsed from text when strict"
278+
279+ assert_select "p" , {
280+ html : "Some\n line-broken\n text" ,
281+ strict : true
282+ } , "Whitespace was collapsed from html when strict"
283+ end
284+
285+ assert_raises ( Assertion ) do
286+ assert_select "p" , {
287+ html : "Some line-broken text" ,
288+ strict : true
289+ }
290+ end
291+
292+ render_html "<p>Some<br><br>line-broken<br><br>text</p>"
293+
294+ assert_nothing_raised do
295+ assert_select "p" , {
296+ text : "Someline-brokentext" ,
297+ strict : true
298+ } , "<br> was not removed from text when strict"
299+
300+ assert_select "p" , {
301+ html : "Some<br><br>line-broken<br><br>text" ,
302+ strict : true
303+ } , "<br> was removed from html when strict"
304+ end
305+ end
306+
240307 #
241308 # Test assert_not_select.
242309 #
0 commit comments