Skip to content

Commit e4ba44a

Browse files
committed
Add failing test for assert_dom collapsing whitespace
1 parent 96464c8 commit e4ba44a

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

test/selector_assertions_test.rb

+60
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,66 @@ 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+
render_html "<p>Some<br><br>line-broken<br><br>text</p>"
286+
287+
assert_nothing_raised do
288+
assert_select "p", {
289+
text: "Someline-brokentext",
290+
strict: true
291+
}, "<br> was not removed from text when strict"
292+
293+
assert_select "p", {
294+
html: "Some<br><br>line-broken<br><br>text",
295+
strict: true
296+
}, "<br> was removed from html when strict"
297+
end
298+
end
299+
240300
#
241301
# Test assert_not_select.
242302
#

0 commit comments

Comments
 (0)