| function shouldBe(expected, actual, msg) { |
| throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected); |
| function shouldBeAsync(expected, run, msg) { |
| run().then(function(value) { actual = value; }, |
| function(error) { hadError = true; actual = error; }); |
| shouldBe(expected, actual, msg); |
| return async () => await new.target; |
| return async () => { return await new.target }; |
| var self = new.target; await new.target; |
| shouldBeAsync(C1, new C1()); |
| shouldBeAsync(undefined, C1()); |
| shouldBeAsync(C2, new C2()); |
| shouldBeAsync(undefined, C2()); |
| shouldBeAsync(C2WithAwait, new C2WithAwait()); |
| shouldBeAsync(undefined, C2WithAwait()); |