blob: 3d06682b41a13962b2e8f0ecf1703995dda82a8e [file] [log] [blame]
function shouldBe(expected, actual, msg) {
if (msg === void 0)
msg = "";
else
msg = " for " + msg;
if (actual !== expected)
throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected);
}
function shouldBeAsync(expected, run, msg) {
let actual;
var hadError = false;
run().then(function(value) { actual = value; },
function(error) { hadError = true; actual = error; });
drainMicrotasks();
if (hadError)
throw actual;
shouldBe(expected, actual, msg);
}
var d = ({ x : "bar", y : function() { return async z => this.x + z; }}).y();
var e = { x : "baz", y : d };
shouldBeAsync("barley", () => d("ley"));
shouldBeAsync("barley", () => e.y("ley"));