Opera qSA Tests

opera doesn't fail on invalid pseudo selectors

by jitter

HTML

<script src="http://github.com/jquery/qunit/raw/master/qunit/qunit.js"></script>
<link rel="stylesheet" href="http://github.com/jquery/qunit/raw/master/qunit/qunit.css">
<h1 id="qunit-header">Opera qSA Tests - related to "querySelectorAll does not throw for an unsupported pseudo-class part of selector if there is a valid part first" on opera bug tracker</h1>

<!-- no modification needed on the following line -->
<h2 id="qunit-banner"></h2><h2 id="qunit-userAgent"></h2><ol id="qunit-tests"></ol>

<div id="qunit-fixture"></div>

JavaScript

module("Opera querySelectorAll Tests");

test("Invalid pseudo selector tests", 12, function() {
    var qSA = function( selector ) {
        return function() {
            document.querySelectorAll( selector );
        };
    };
    raises( qSA(""), "basic check" );
    raises( qSA(":input"), "invalid selector" );
    raises( qSA("#foo:input"), "invalid selector" );
    raises( qSA("#foo :input"), "invalid selector" );
    raises( qSA("#foo #foo:input"), "invalid selector" );
    raises( qSA("#foo #foo :input"), "invalid selector" );
    raises( qSA("#foo, #foo :input"), "invalid selector" );
    raises( qSA("#foo, #foo:input"), "invalid selector" );
    raises( qSA("#foo, #foo, :input"), "invalid selector" );
    raises( qSA("#foo :input, #foo"), "invalid selector" );
    raises( qSA("#foo:input, #foo"), "invalid selector" );
    raises( qSA("#foo, :input, #foo"), "invalid selector" );
});