| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- //-------------------------------------------------------------------------------------------------------
- // Copyright (C) Microsoft. All rights reserved.
- // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- //-------------------------------------------------------------------------------------------------------
- if (this.WScript && this.WScript.LoadScriptFile) { // Check for running in ch
- this.WScript.LoadScriptFile("..\\UnitTestFramework\\UnitTestFramework.js");
- }
- var tests = [
- {
- name: "With different types on right side",
- body: function () {
- assert.isFalse(1n === false);
- assert.isFalse(1n === 1);
- assert.isFalse(1n === "1");
- assert.isFalse(1n === "1.0");
- assert.isFalse(1n === 1.0);
- assert.isFalse(1n === {a: 1});
- assert.isFalse(1n === null);
- assert.isFalse(1n === undefined);
- assert.isFalse(1n === []);
- assert.isFalse(1n === Symbol());
- }
- },
- {
- name: "With different types on left side",
- body: function () {
- assert.isFalse(true === 1n);
- assert.isFalse(1 === 1n);
- assert.isFalse("1" === 1n);
- assert.isFalse("1.0" === 1n);
- assert.isFalse(1.0 === 1n);
- assert.isFalse({a: 1} === 1n);
- assert.isFalse(null === 1n);
- assert.isFalse(undefined === 1n);
- assert.isFalse([] === 1n);
- assert.isFalse(Symbol() === 1n);
- }
- },
- {
- name: "With same type BigInt",
- body: function () {
- assert.isTrue(0n === -0n);
- assert.isTrue(1n === 1n);
- assert.isTrue(1n === BigInt(1n));
- assert.isTrue(BigInt(2n) === BigInt(2n));
- assert.isTrue(BigInt(3n) === 3n);
- assert.isTrue(1n === 2n-1n);
- var x = 2n;
- var y = 2n;
- assert.isTrue(x === y);
- assert.isTrue(--x === 1n);
- assert.isTrue(y === 2n);
- assert.isFalse(x === y);
- }
- },
- {
- name: "Cross scope",
- body: function () {
- var y = 1n;
- var f = () => {
- return y;
- };
- var g = () => {
- return 1n;
- };
- var x = 1n;
- assert.isTrue(x === f());
- assert.isTrue(x === g());
- var o = {a: 1n};
- assert.isTrue(x == o.a);
- }
- },
- {
- name: "Marshal",
- body: function () {
- let child_global = WScript.LoadScript('var val = 5n;', 'samethread');
- assert.isTrue(5n === child_global.val);
- }
- },
- {
- name: "Module",
- body: function () {
- WScript.RegisterModuleSource("exporter.js", "export var val = 5n;");
- WScript.RegisterModuleSource("importer.js",
- `
- import { val } from 'exporter.js';
- assert.isTrue(5n === val);
- `);
- WScript.LoadScriptFile("importer.js", "module");
- }
- },
- ];
- testRunner.runTests(tests, { verbose: WScript.Arguments[0] != "summary" });
|