| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- //-------------------------------------------------------------------------------------------------------
- // Copyright (C) Microsoft. All rights reserved.
- // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- //-------------------------------------------------------------------------------------------------------
- // These tests are to validate the functionality of UnitTestFramework.js.
- // Other unit tests rely on UTF, so it's super-imporant for UTF to be bug-free.
- // Note: run this using jshost.exe, jc.exe wouldn't find WScript.LoadScriptFile.
- if (typeof(WScript) != "undefined") {
- WScript.LoadScriptFile("UnitTestFramework.js");
- }
- helpers.writeln("*** Validating assert.throws...");
- assert.throws(function() { throw "this throws."; });
- helpers.writeln("assert.throws(function) -- function that throws: PASS");
- try {
- assert.throws(function(){});
- helpers.writeln("assert.throws(function) -- function that doen't throw: FAIL");
- } catch (ex) {
- helpers.writeln("assert.throws(function) -- function that doesn't throw: PASS");
- }
- assert.throws(function() { assert.throws(function() {}) });
- // Simple form of assert.throws is what all further validations are based on.
- // Now after it's validated to be correct, use it for everything else.
- assert.throws(function() { eval("{"); }, SyntaxError);
- assert.throws(function() { assert.throws(function() {}, SyntaxError) });
- helpers.writeln("assert.throws(function, Exception): PASS");
- helpers.writeln("*** Validating assert.fail...");
- assert.throws(function() { assert.fail(); });
- helpers.writeln("assert.fail: PASS");
- helpers.writeln("*** Validating assert.areEqual...");
- assert.areEqual(0, 0);
- assert.areEqual(5, 5);
- assert.areEqual(true, true);
- assert.areEqual(false, false);
- assert.areEqual("test", "test");
- var obj1 = {x:0}, obj2 = {x:1};
- assert.areEqual(obj1, obj1);
- assert.throws(function() { assert.areEqual(0, 1) });
- assert.throws(function() { assert.areEqual(100, 200) });
- assert.throws(function() { assert.areEqual(0, "0") });
- assert.throws(function() { assert.areEqual(true, false) });
- assert.throws(function() { assert.areEqual("xy", "x") });
- assert.throws(function() { assert.areEqual(obj1, obj2) });
- helpers.writeln("assert.areEqual: PASS");
- helpers.writeln("*** Validating assert.areNotEqual...");
- assert.throws(function() { assert.areNotEqual(0, 0); });
- assert.throws(function() { assert.areNotEqual(5, 5); });
- assert.throws(function() { assert.areNotEqual(true, true); } );
- assert.throws(function() { assert.areNotEqual(false, false); } );
- assert.throws(function() { assert.areNotEqual("test", "test"); });
- var obj1 = {x:0}, obj2 = {y:0};
- assert.throws(function() { assert.areNotEqual(obj1, obj1); });
- assert.areNotEqual(0, 1);
- assert.areNotEqual(100, 200);
- assert.areNotEqual(0, "0");
- assert.areNotEqual(true, false);
- assert.areNotEqual("xy", "x");
- assert.areNotEqual(obj1, obj2);
- helpers.writeln("assert.areNotEqual: PASS");
- helpers.writeln("*** Validating assert.isTrue/isFalse...");
- assert.isTrue(true);
- assert.throws(function() { assert.isTrue(false); });
- assert.isFalse(false);
- assert.throws(function() { assert.isFalse(true); });
- helpers.writeln("assert.isTrue/isFalse: PASS");
- helpers.writeln("*** Validating isCompatVersion9...");
- assert.isTrue(helpers.isCompatVersion9 === !helpers.isVersion10OrLater);
- helpers.writeln("Validating isCompatVersion9: PASS");
|