| <!DOCTYPE html> |
| <!-- Submitted from TestTWF Paris --> |
| <html> |
| <head> |
| <meta charset=utf-8> |
| <title id='desc'>IDBKeyRange Tests - Incorrect</title> |
| <link rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#range-concept"> |
| <link rel=assert title="If the lower key is greater than the upper key, then a DOMException of type DataError must be thrown."> |
| <link rel=author href="mailto:chrcharles67@gmail.com" title="Christophe CHARLES"> |
| |
| <script src="../../../resources/testharness.js"></script> |
| <script src="../../../resources/testharnessreport.js"></script> |
| <script src="support.js"></script> |
| |
| <script type="text/javascript"> |
| |
| // TypeError: bound requires more than 0 arguments |
| test( function() { |
| assert_throws(new TypeError(), function() { |
| IDBKeyRange.bound(); |
| }); |
| }, "IDBKeyRange.bound() - bound requires more than 0 arguments."); |
| |
| // Null parameters |
| test( function() { |
| assert_throws("DataError", function() { |
| IDBKeyRange.bound(null, null); |
| }); |
| }, "IDBKeyRange.bound(null, null) - null parameters are incorrect."); |
| |
| // // Null parameter |
| test( function() { |
| assert_throws("DataError", function() { |
| IDBKeyRange.bound(1, null); |
| }); |
| assert_throws("DataError", function() { |
| IDBKeyRange.bound(null, 1); |
| }); |
| }, "IDBKeyRange.bound(1, null / null, 1) - null parameter is incorrect."); |
| |
| // bound incorrect |
| test( function() { |
| var lowerBad = Math.floor(Math.random()*31) + 5; |
| var upper = lowerBad - 1; |
| assert_throws("DataError", function() { |
| IDBKeyRange.bound(lowerBad, upper); |
| }); |
| assert_throws("DataError", function() { |
| IDBKeyRange.bound('b', 'a'); |
| }); |
| }, "IDBKeyRange.bound(lower, upper / lower > upper) - 'lower' is greater than 'upper'." |
| ); |
| |
| test( function() { |
| assert_throws("DataError", function() { |
| IDBKeyRange.bound('a', 1); |
| }); |
| assert_throws("DataError", function() { |
| IDBKeyRange.bound(new Date(), 1); |
| }); |
| assert_throws("DataError", function() { |
| IDBKeyRange.bound([1, 2], 1); |
| }); |
| }, "IDBKeyRange.bound(DOMString/Date/Array, 1) - A DOMString, Date and Array are greater than a float."); |
| |
| |
| // ReferenceError: the variable is not defined |
| test( function() { |
| var goodVariable = 1; |
| assert_throws(new ReferenceError(), function() { |
| IDBKeyRange.bound(noExistingVariable, 1); |
| }); |
| assert_throws(new ReferenceError(), function() { |
| IDBKeyRange.bound(goodVariable, noExistingVariable); |
| }); |
| }, "IDBKeyRange.bound(noExistingVariable, 1 / goodVariable, noExistingVariable) - noExistingVariable is not defined."); |
| |
| // Valid type key error |
| test( function() { |
| assert_throws("DataError", function() { |
| IDBKeyRange.bound(true, 1); |
| }); |
| }, "IDBKeyRange.bound(true, 1) - boolean is not a valid key type."); |
| |
| |
| </script> |
| </head> |
| |
| <body> |
| <div id="log"></div> |
| </body> |
| </html> |