Skip to content

Commit

Permalink
Tests: Workaround failures in recent XSS tests in iOS 8 - 12
Browse files Browse the repository at this point in the history
iOS 8-12 parses `<noembed>` tags differently, executing this code. This is no
different to native behavior on that OS, though, so just accept it.

Ref gh-4685
Closes gh-4694
  • Loading branch information
mgol committed Apr 30, 2020
1 parent 1a7332c commit 11066a9
Showing 1 changed file with 15 additions and 7 deletions.
22 changes: 15 additions & 7 deletions test/unit/manipulation.js
Expand Up @@ -2917,7 +2917,8 @@ QUnit.test( "Sanitized HTML doesn't get unsanitized", function( assert ) {

var container,
counter = 0,
assertCount = 13,
oldIos = /iphone os (?:8|9|10|11|12)_/i.test( navigator.userAgent ),
assertCount = oldIos ? 12 : 13,
done = assert.async( assertCount );

assert.expect( assertCount );
Expand Down Expand Up @@ -2954,10 +2955,17 @@ QUnit.test( "Sanitized HTML doesn't get unsanitized", function( assert ) {
test( "<title><title /><img src=url404 onerror=xss(4)>" );
test( "<iframe><iframe/><img src=url404 onerror=xss(5)>" );
test( "<noframes><noframes/><img src=url404 onerror=xss(6)>" );
test( "<noembed><noembed/><img src=url404 onerror=xss(7)>" );
test( "<noscript><noscript/><img src=url404 onerror=xss(8)>" );
test( "<foo\" alt=\"\" title=\"/><img src=url404 onerror=xss(9)>\">" );
test( "<img alt=\"<x\" title=\"\" src=\"/><img src=url404 onerror=xss(10)>\">" );
test( "<noscript/><img src=url404 onerror=xss(11)>" );
test( "<option><style></option></select><img src=url404 onerror=xss(12)></style>" );
test( "<noscript><noscript/><img src=url404 onerror=xss(7)>" );
test( "<foo\" alt=\"\" title=\"/><img src=url404 onerror=xss(8)>\">" );
test( "<img alt=\"<x\" title=\"\" src=\"/><img src=url404 onerror=xss(9)>\">" );
test( "<noscript/><img src=url404 onerror=xss(10)>" );

test( "<option><style></option></select><img src=url404 onerror=xss(11)></style>" );

// Support: iOS 8 - 12 only.
// Old iOS parses `<noembed>` tags differently, executing this code. This is no
// different to native behavior on that OS, though, so just accept it.
if ( !oldIos ) {
test( "<noembed><noembed/><img src=url404 onerror=xss(12)>" );
}
} );

0 comments on commit 11066a9

Please sign in to comment.