123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- load("test-common.js");
- try {
- let getNumber = () => 42;
- assert(getNumber() === 42);
- getNumber = () => 99;
- assert(getNumber() === 99);
- let add = (a, b) => a + b;
- assert(add(2, 3) === 5);
- const addBlock = (a, b) => {
- let res = a + b;
- return res;
- };
- assert(addBlock(5, 4) === 9);
- let chompy = [(x) => x, 2];
- assert(chompy.length === 2);
- assert(chompy[0](1) === 1);
- const makeObject = (a, b) => ({ a, b });
- const obj = makeObject(33, 44);
- assert(typeof obj === "object");
- assert(obj.a === 33);
- assert(obj.b === 44);
- let returnUndefined = () => { };
- assert(typeof returnUndefined() === "undefined");
- const makeArray = (a, b) => [a, b];
- const array = makeArray("3", { foo: 4 });
- assert(array[0] === "3");
- assert(array[1].foo === 4);
- let square = x => x * x;
- assert(square(3) === 9);
- let squareBlock = x => {
- return x * x;
- };
- assert(squareBlock(4) === 16);
- const message = (who => "Hello " + who)("friends!");
- assert(message === "Hello friends!");
- const sum = ((x, y, z) => x + y + z)(1, 2, 3);
- assert(sum === 6);
- const product = ((x, y, z) => {
- let res = x * y * z;
- return res;
- })(5, 4, 2);
- assert(product === 40);
- const half = (x => {
- return x / 2;
- })(10);
- assert(half === 5);
- var foo, bar;
- foo = bar, baz => {};
- assert(foo === undefined);
- assert(bar === undefined);
- function FooBar() {
- this.x = {
- y: () => this,
- z: function () {
- return (() => this)();
- }
- };
- }
- var foobar = new FooBar();
- assert(foobar.x.y() === foobar);
- assert(foobar.x.z() === foobar.x);
- var Baz = () => {};
- assert(Baz.prototype === undefined);
- assertThrowsError(() => {
- new Baz();
- }, {
- error: TypeError,
- message: "Baz is not a constructor"
- });
- (() => {
- "use strict";
- assert(isStrictMode());
- (() => {
- assert(isStrictMode());
- })();
- })();
- (() => {
- 'use strict';
- assert(isStrictMode());
- })();
- (() => {
- assert(!isStrictMode());
- (() => {
- "use strict";
- assert(isStrictMode());
- })();
- assert(!isStrictMode());
- })();
- console.log("PASS");
- } catch {
- console.log("FAIL");
- }
|