mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-26 14:28:49 +00:00
We were interpreting "undefined" as a variable lookup failure in some cases and throwing a ReferenceError exception instead of treating it as the valid value "undefined". This patch wraps the result of variable lookup in Optional<>, which allows us to only throw ReferenceError when lookup actually fails.
19 lines
324 B
JavaScript
19 lines
324 B
JavaScript
function assert(x) { if (!x) throw 1; }
|
|
|
|
function foo(a) {
|
|
return a;
|
|
}
|
|
|
|
try {
|
|
var x = undefined;
|
|
assert(x === undefined);
|
|
assert(foo(x) === undefined);
|
|
|
|
var o = {};
|
|
o.x = x;
|
|
assert(o.x === undefined);
|
|
assert(o.x === x);
|
|
console.log("PASS");
|
|
} catch (e) {
|
|
console.log("FAIL: " + e);
|
|
}
|