Tests: Disable the ":lang respects escaped backslashes" test

Firefox 114+ no longer match on backslashes in `:lang()`, even when escaped.
It is an intentional change as `:lang()` parameters are supposed to be valid
BCP 47 strings. Therefore, we won't attempt to patch it.
We'll keep this test here until other browsers match the behavior.

Fixes gh-5271
Closes gh-5277
Ref https://bugzilla.mozilla.org/show_bug.cgi?id=1839747#c1
Ref https://github.com/w3c/csswg-drafts/issues/8720#issuecomment-1509242961

(cherry picked from commit 62b9a25834)
This commit is contained in:
Michał Gołębiowski-Owczarek 2023-06-27 18:05:46 +02:00 committed by Michał Gołębiowski-Owczarek
parent 141518e9c0
commit 5aa7d93acf
No known key found for this signature in database

View File

@ -1525,7 +1525,7 @@ QUnit.test( "pseudo - :target and :root", function( assert ) {
} ); } );
QUnit.test( "pseudo - :lang", function( assert ) { QUnit.test( "pseudo - :lang", function( assert ) {
assert.expect( QUnit.jQuerySelectors ? 105 : 55 ); assert.expect( QUnit.jQuerySelectors ? 104 : 54 );
var docElem = document.documentElement, var docElem = document.documentElement,
docXmlLang = docElem.getAttribute( "xml:lang" ), docXmlLang = docElem.getAttribute( "xml:lang" ),
@ -1598,8 +1598,18 @@ QUnit.test( "pseudo - :lang", function( assert ) {
anchor.parentNode.lang = "ara"; anchor.parentNode.lang = "ara";
anchor.lang = "ara\\b"; anchor.lang = "ara\\b";
assert.deepEqual( jQuery.find( ":lang(ara\\b)", foo ), [], ":lang respects backslashes" ); assert.deepEqual( jQuery.find( ":lang(ara\\b)", foo ), [], ":lang respects backslashes" );
assert.deepEqual( jQuery.find( ":lang(ara\\\\b)", foo ), [ anchor ],
":lang respects escaped backslashes" ); // Support: Firefox 114+
// Firefox 114+ no longer match on backslashes in `:lang()`, even when escaped.
// It is an intentional change as `:lang()` parameters are supposed to be valid
// BCP 47 strings. Therefore, we won't attempt to patch it.
// We'll keep this test here until other browsers match the behavior.
// See https://bugzilla.mozilla.org/show_bug.cgi?id=1839747#c1
// See https://github.com/w3c/csswg-drafts/issues/8720#issuecomment-1509242961
//
// assert.deepEqual( jQuery.find( ":lang(ara\\\\b)", foo ), [ anchor ],
// ":lang respects escaped backslashes" );
assert.throws( function() { assert.throws( function() {
jQuery.find( "#qunit-fixture:lang(c++)" ); jQuery.find( "#qunit-fixture:lang(c++)" );
}, ":lang value must be a valid identifier" ); }, ":lang value must be a valid identifier" );