blob: 1b1bfef56e7be9948446a21d4aff1700a891b7f6 [file] [log] [blame]
// GetPrivateName should throw when the receiver does not have the requested private property
let i, threw = false;
class C {
#x = i;
constructor() { if (i === 30) return { [Symbol.toStringTag]: "without #x"}; }
static x(obj) { return obj.#x; }
get [Symbol.toStringTag]() { return "with #x"; }
}
try {
for (i = 0; i < 50; ++i) {
let c = new C;
let result = C.x(c);
if (result !== i)
throw new Error(`Expected C.x(${c}) to be ${i}, but found ${result}`);
}
} catch (e) {
threw = true;
if (i !== 30 || e.constructor !== TypeError) {
throw e;
}
}
if (!threw)
throw new Error("Expected TypeError, but no exception was thrown");