/test/test.js
JavaScript | 163 lines | 139 code | 23 blank | 1 comment | 4 complexity | ed54bb15feae72b904e7a42ac84d39c9 MD5 | raw file
- 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);
- });
- 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() {
- equals(state, "done", "Test teardown.");
- }
- });
- test("teardown must be called after test ended", function() {
- expect(1);
- stop();
- setTimeout(function() {
- state = "done";
- start();
- }, 13);
- });
- } // end setTimeout tests
- if (typeof asyncTest !== 'undefined') {
- 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);
- });
- } // end asyncTest tests
- module("save scope", {
- setup: function() {
- this.foo = "bar";
- },
- teardown: function() {
- same(this.foo, "bar");
- }
- });
- test("scope check", function() {
- expect(2);
- same(this.foo, "bar");
- });
- module("simple testEnvironment setup", {
- foo: "bar",
- bugid: "#5311" // example of meta-data
- });
- test("scope check", function() {
- same(this.foo, "bar");
- });
- test("modify testEnvironment",function() {
- this.foo="hamster";
- });
- test("testEnvironment reset for next test",function() {
- same(this.foo, "bar");
- });
- module("testEnvironment with object", {
- options:{
- recipe:"soup",
- ingredients:["hamster","onions"]
- }
- });
- test("scope check", function() {
- same(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() {
- same(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() {
- equals( QUnit.current_testEnvironment, this, 'The current testEnvironment is global');
- equals( 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() {
- equals( 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() {
- equals( makeurl(), 'http://google.com/?q=hamstersoup', 'url from module, q from test');
- });