git.fiddlerwoaroof.com
Raw Blame History
var t = await import("./t/index_tests.js");

const when = (expect) => (thing) => ({
  isCalledWith(...arglists) {
    const call = [];
    for (const args of arglists) {
      call.push(args);
    }

    return {
      get expect() {
        return {
          toEqual(w) {
            console.log(
              `\t\t${thing.name}${call
                .map((v) => `(${v.map((w) => JSON.stringify(w)).join(", ")})`)
                .join("")} returns ${JSON.stringify(w)}`
            );
          },
        };
      },
    };
  },
});

function describe(desc, cb) {
  console.log(desc);
  cb();
}

function test(desc, cb) {
  console.log("\t", desc);
  cb();
}

function expect(v, context) {
  v = v.toString();

  return {
    toHaveLength(length) {
      console.log("\t\t", v, "has length", length, "with context", context);
    },
    toEqual(w) {
      console.log("\t\t", v, "equals", w, "with context", context);
    },
    toHaveProperty(prop, value) {
      console.log(
        "\t\t",
        v,
        "has property",
        prop,
        "with value",
        value,
        "with context",
        context
      );
    },
    toBeTruthy() {
      console.log("\t\t", v, "returns a truthy value");
    },
    toBeFalsy() {
      console.log("\t\t", v, "returns a falsy value");
    },
  };
}

t.tests({ expect, test, describe, when: when(expect) });
// iota
// 	 returns the right number of items
// 		 uut.iota(items) has length 0
// 		 uut.iota(items) has length 1
// 		 uut.iota(items) has length 2
// 		 uut.iota(items) has length 3
// 		 uut.iota(items) has length 4
// 		 uut.iota(items) has length 5
// 		 uut.iota(items) has length 6
// 		 uut.iota(items) has length 7
// 		 uut.iota(items) has length 8
// 		 uut.iota(items) has length 9
// 	 returns the right number of items, independently of start
// 		 uut.iota(5, start) has length 5
// 		 uut.iota(5, start) has length 5
// 		 uut.iota(5, start) has length 5
// 		 uut.iota(5, start) has length 5
// 		 uut.iota(5, start) has length 5
// 		 uut.iota(5, start) has length 5
// 		 uut.iota(5, start) has length 5
// 		 uut.iota(5, start) has length 5
// 		 uut.iota(5, start) has length 5
// 		 uut.iota(5, start) has length 5
// 		 uut.iota(5, 2.3) has length 5
// 	 returns the right start, if count > 0
// 		 uut.iota(0, 5) equals []
// 		 uut.iota(items, 5) has property 0 with value 5
// 		 uut.iota(items, -5) has property 0 with value -5
// 		 uut.iota(items, 2.5) has property 0 with value 2.5
// 		 uut.iota(items, NaN) has property 0 with value NaN
// 		 uut.iota(items, Infinity) has property 0 with value Infinity
// 		 uut.iota(items, -Infinity) has property 0 with value -Infinity
// 		 uut.iota(items, 5) has property 0 with value 5
// 		 uut.iota(items, -5) has property 0 with value -5
// 		 uut.iota(items, 2.5) has property 0 with value 2.5
// 		 uut.iota(items, NaN) has property 0 with value NaN
// 		 uut.iota(items, Infinity) has property 0 with value Infinity
// 		 uut.iota(items, -Infinity) has property 0 with value -Infinity
// 		 uut.iota(items, 5) has property 0 with value 5
// 		 uut.iota(items, -5) has property 0 with value -5
// 		 uut.iota(items, 2.5) has property 0 with value 2.5
// 		 uut.iota(items, NaN) has property 0 with value NaN
// 		 uut.iota(items, Infinity) has property 0 with value Infinity
// 		 uut.iota(items, -Infinity) has property 0 with value -Infinity
// 		 uut.iota(items, 5) has property 0 with value 5
// 		 uut.iota(items, -5) has property 0 with value -5
// 		 uut.iota(items, 2.5) has property 0 with value 2.5
// 		 uut.iota(items, NaN) has property 0 with value NaN
// 		 uut.iota(items, Infinity) has property 0 with value Infinity
// 		 uut.iota(items, -Infinity) has property 0 with value -Infinity
// 		 uut.iota(items, 5) has property 0 with value 5
// 		 uut.iota(items, -5) has property 0 with value -5
// 		 uut.iota(items, 2.5) has property 0 with value 2.5
// 		 uut.iota(items, NaN) has property 0 with value NaN
// 		 uut.iota(items, Infinity) has property 0 with value Infinity
// 		 uut.iota(items, -Infinity) has property 0 with value -Infinity
// 		 uut.iota(items, 5) has property 0 with value 5
// 		 uut.iota(items, -5) has property 0 with value -5
// 		 uut.iota(items, 2.5) has property 0 with value 2.5
// 		 uut.iota(items, NaN) has property 0 with value NaN
// 		 uut.iota(items, Infinity) has property 0 with value Infinity
// 		 uut.iota(items, -Infinity) has property 0 with value -Infinity
// 		 uut.iota(items, 5) has property 0 with value 5
// 		 uut.iota(items, -5) has property 0 with value -5
// 		 uut.iota(items, 2.5) has property 0 with value 2.5
// 		 uut.iota(items, NaN) has property 0 with value NaN
// 		 uut.iota(items, Infinity) has property 0 with value Infinity
// 		 uut.iota(items, -Infinity) has property 0 with value -Infinity
// 		 uut.iota(items, 5) has property 0 with value 5
// 		 uut.iota(items, -5) has property 0 with value -5
// 		 uut.iota(items, 2.5) has property 0 with value 2.5
// 		 uut.iota(items, NaN) has property 0 with value NaN
// 		 uut.iota(items, Infinity) has property 0 with value Infinity
// 		 uut.iota(items, -Infinity) has property 0 with value -Infinity
// 		 uut.iota(items, 5) has property 0 with value 5
// 		 uut.iota(items, -5) has property 0 with value -5
// 		 uut.iota(items, 2.5) has property 0 with value 2.5
// 		 uut.iota(items, NaN) has property 0 with value NaN
// 		 uut.iota(items, Infinity) has property 0 with value Infinity
// 		 uut.iota(items, -Infinity) has property 0 with value -Infinity