1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-15 15:14:58 +00:00
serenity/Tests/LibWeb/Text/input/HTML/Window-set-properties.html
Andrew Kaster 2505cecc0f LibWeb: Exclude [Global] interfaces from legacy platform object methods
Window and other global objects are not technically legacy platform
objects, and have other ways to override their setters and getters.

However, Window does need to share some code with the legacy platform
object paths, and simply adding another bool check to the mix seems
the shortest putt.
2024-01-19 09:02:00 +01:00

22 lines
680 B
HTML

<script src="../include.js"></script>
<script id="__NEXT_DATA__"></script>
<script>
test(() => {
"use strict";
println(`window.__NEXT_DATA__ = ${window.__NEXT_DATA__}`);
window.__NEXT_DATA__ = undefined;
println(`window.__NEXT_DATA__ = ${window.__NEXT_DATA__}`);
println(`window[0] = ${window[0]}`);
// FIXME: Other browsers just swallow this error, but we throw an exception.
try {
window[0] = 42;
} catch (e) {
println(`e = ${e}`);
}
println(`window[0] = ${window[0]}`);
window.__proto__[0] = 42;
println(`window[0] = ${window[0]}`);
});
</script>