]> source.dussan.org Git - jquery.git/commitdiff
Tests: Disable the ":lang respects escaped backslashes" test
authorMichał Gołębiowski-Owczarek <m.goleb@gmail.com>
Tue, 27 Jun 2023 16:05:46 +0000 (18:05 +0200)
committerGitHub <noreply@github.com>
Tue, 27 Jun 2023 16:05:46 +0000 (18:05 +0200)
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

test/unit/selector.js

index 57e21ce6bb1dd3fce3a5b80f9fa732eb1e192bcf..086726d430281035a1c2bc20b54e9a02fbca7cfc 100644 (file)
@@ -1474,7 +1474,7 @@ QUnit.test( "pseudo - :target and :root", function( assert ) {
 } );
 
 QUnit.test( "pseudo - :lang", function( assert ) {
-       assert.expect( QUnit.jQuerySelectors ? 105 : 55 );
+       assert.expect( QUnit.jQuerySelectors ? 104 : 54 );
 
        var docElem = document.documentElement,
                docXmlLang = docElem.getAttribute( "xml:lang" ),
@@ -1547,8 +1547,18 @@ QUnit.test( "pseudo - :lang", function( assert ) {
        anchor.parentNode.lang = "ara";
        anchor.lang = "ara\\b";
        assert.deepEqual( jQuery( ":lang(ara\\b)", foo ).get(), [], ":lang respects backslashes" );
-       assert.deepEqual( jQuery( ":lang(ara\\\\b)", foo ).get(), [ 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( ":lang(ara\\\\b)", foo ).get(), [ anchor ],
+       //      ":lang respects escaped backslashes" );
+
        assert.throws( function() {
                jQuery( "#qunit-fixture:lang(c++)" );
        }, ":lang value must be a valid identifier" );