123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324 |
- test("module without setup/teardown (default)", function() {
- expect(1);
- ok(true);
- });
- test("expect in test", 3, function() {
- ok(true);
- ok(true);
- ok(true);
- });
- test("expect in test", 1, function() {
- ok(true);
- });
- module("setup test", {
- setup: function() {
- ok(true);
- }
- });
- test("module with setup", function() {
- expect(2);
- ok(true);
- });
- test("module with setup, expect in test call", 2, function() {
- ok(true);
- });
- var state;
- module("setup/teardown test", {
- setup: function() {
- state = true;
- ok(true);
- },
- teardown: function() {
- ok(true);
- }
- });
- test("module with setup/teardown", function() {
- expect(3);
- ok(true);
- });
- module("setup/teardown test 2");
- test("module without setup/teardown", function() {
- expect(1);
- ok(true);
- });
- if (typeof setTimeout !== 'undefined') {
- state = 'fail';
- module("teardown and stop", {
- teardown: function() {
- equal(state, "done", "Test teardown.");
- }
- });
- test("teardown must be called after test ended", function() {
- expect(1);
- stop();
- setTimeout(function() {
- state = "done";
- start();
- }, 13);
- });
- module("async setup test", {
- setup: function() {
- stop();
- setTimeout(function(){
- ok(true);
- start();
- }, 500);
- }
- });
- asyncTest("module with async setup", function() {
- expect(2);
- ok(true);
- start();
- });
- module("async teardown test", {
- teardown: function() {
- stop();
- setTimeout(function(){
- ok(true);
- start();
- }, 500);
- }
- });
- asyncTest("module with async teardown", function() {
- expect(2);
- ok(true);
- start();
- });
- module("asyncTest");
- asyncTest("asyncTest", function() {
- expect(2);
- ok(true);
- setTimeout(function() {
- state = "done";
- ok(true);
- start();
- }, 13);
- });
- asyncTest("asyncTest", 2, function() {
- ok(true);
- setTimeout(function() {
- state = "done";
- ok(true);
- start();
- }, 13);
- });
- test("sync", 2, function() {
- stop();
- setTimeout(function() {
- ok(true);
- start();
- }, 13);
- stop();
- setTimeout(function() {
- ok(true);
- start();
- }, 125);
- });
- }
- module("save scope", {
- setup: function() {
- this.foo = "bar";
- },
- teardown: function() {
- deepEqual(this.foo, "bar");
- }
- });
- test("scope check", function() {
- expect(2);
- deepEqual(this.foo, "bar");
- });
- module("simple testEnvironment setup", {
- foo: "bar",
- bugid: "#5311" // example of meta-data
- });
- test("scope check", function() {
- deepEqual(this.foo, "bar");
- });
- test("modify testEnvironment",function() {
- this.foo="hamster";
- });
- test("testEnvironment reset for next test",function() {
- deepEqual(this.foo, "bar");
- });
- module("testEnvironment with object", {
- options:{
- recipe:"soup",
- ingredients:["hamster","onions"]
- }
- });
- test("scope check", function() {
- deepEqual(this.options, {recipe:"soup",ingredients:["hamster","onions"]}) ;
- });
- test("modify testEnvironment",function() {
- // since we do a shallow copy, the testEnvironment can be modified
- this.options.ingredients.push("carrots");
- });
- test("testEnvironment reset for next test",function() {
- deepEqual(this.options, {recipe:"soup",ingredients:["hamster","onions","carrots"]}, "Is this a bug or a feature? Could do a deep copy") ;
- });
- module("testEnvironment tests");
- function makeurl() {
- var testEnv = QUnit.current_testEnvironment;
- var url = testEnv.url || 'http://example.com/search';
- var q = testEnv.q || 'a search test';
- return url + '?q='+encodeURIComponent(q);
- }
- test("makeurl working",function() {
- equal( QUnit.current_testEnvironment, this, 'The current testEnvironment is global');
- equal( makeurl(), 'http://example.com/search?q=a%20search%20test', 'makeurl returns a default url if nothing specified in the testEnvironment');
- });
- module("testEnvironment with makeurl settings", {
- url: 'http://google.com/',
- q: 'another_search_test'
- });
- test("makeurl working with settings from testEnvironment", function() {
- equal( makeurl(), 'http://google.com/?q=another_search_test', 'rather than passing arguments, we use test metadata to form the url');
- });
- test("each test can extend the module testEnvironment", {
- q:'hamstersoup'
- }, function() {
- equal( makeurl(), 'http://google.com/?q=hamstersoup', 'url from module, q from test');
- });
- module("jsDump");
- test("jsDump output", function() {
- equals( QUnit.jsDump.parse([1, 2]), "[\n 1,\n 2\n]" );
- equals( QUnit.jsDump.parse({top: 5, left: 0}), "{\n \"top\": 5,\n \"left\": 0\n}" );
- if (typeof document !== 'undefined' && document.getElementById("qunit-header")) {
- equals( QUnit.jsDump.parse(document.getElementById("qunit-header")), "<h1 id=\"qunit-header\"></h1>" );
- equals( QUnit.jsDump.parse(document.getElementsByTagName("h1")), "[\n <h1 id=\"qunit-header\"></h1>\n]" );
- }
- });
- module("assertions");
- test("raises",function() {
- function CustomError( message ) {
- this.message = message;
- }
- CustomError.prototype.toString = function() {
- return this.message;
- };
- raises(
- function() {
- throw "error"
- }
- );
- raises(
- function() {
- throw "error"
- },
- 'raises with just a message, no expected'
- );
- raises(
- function() {
- throw new CustomError();
- },
- CustomError,
- 'raised error is an instance of CustomError'
- );
- raises(
- function() {
- throw new CustomError("some error description");
- },
- /description/,
- "raised error message contains 'description'"
- );
- raises(
- function() {
- throw new CustomError("some error description");
- },
- function( err ) {
- if ( (err instanceof CustomError) && /description/.test(err) ) {
- return true;
- }
- },
- "custom validation function"
- );
- });
- if (typeof document !== "undefined") {
- module("fixture");
- test("setup", function() {
- document.getElementById("qunit-fixture").innerHTML = "foobar";
- });
- test("basics", function() {
- equal( document.getElementById("qunit-fixture").innerHTML, "test markup", "automatically reset" );
- });
- }
- module("custom assertions");
- (function() {
- function mod2(value, expected, message) {
- var actual = value % 2;
- QUnit.push(actual == expected, actual, expected, message);
- }
- test("mod2", function() {
- mod2(2, 0, "2 % 2 == 0");
- mod2(3, 1, "3 % 2 == 1");
- })
- })();
- (function() {
- var reset = QUnit.reset;
- function afterTest() {
- ok( false, "reset should not modify test status" );
- }
- module("reset");
- test("reset runs assertions", function() {
- QUnit.reset = function() {
- afterTest();
- reset.apply( this, arguments );
- };
- });
- test("reset runs assertions2", function() {
- QUnit.reset = reset;
- });
- })();
- module("noglobals", {
- teardown: function() {
- delete window.badGlobalVariableIntroducedInTest;
- }
- });
- test("let teardown clean up globals", function() {
- // this test will always pass if run without ?noglobals=true
- window.badGlobalVariableIntroducedInTest = true;
- });
|