mirror of
https://github.com/robertkrimen/otto
synced 2025-10-12 20:27:30 +08:00
Fix writable/enumerable/configurable of undefined, NaN, & Infinity to be false
This commit is contained in:
parent
70045edc65
commit
22ae900958
|
@ -51,6 +51,15 @@ func TestGlobal(t *testing.T) {
|
|||
test(`eval.length === 1`, "true")
|
||||
test(`eval.prototype === undefined`, "true")
|
||||
test(`raise: new eval()`, "TypeError: [function] is not a constructor")
|
||||
|
||||
test(`
|
||||
[
|
||||
[ delete undefined, undefined ],
|
||||
[ delete NaN, NaN ],
|
||||
[ delete Infinity, Infinity ],
|
||||
];
|
||||
`, "false,,false,NaN,false,Infinity")
|
||||
|
||||
}
|
||||
|
||||
func TestGlobalLength(t *testing.T) {
|
||||
|
|
6
inline
6
inline
|
@ -551,9 +551,9 @@ sub newContext {
|
|||
"SyntaxError",
|
||||
"URIError",
|
||||
),
|
||||
$self->property("undefined", $self->undefinedValue(), "0101"),
|
||||
$self->property("NaN", $self->numberValue("math.NaN()"), "0101"),
|
||||
$self->property("Infinity", $self->numberValue("math.Inf(+1)"), "0100"),
|
||||
$self->property("undefined", $self->undefinedValue(), "0"),
|
||||
$self->property("NaN", $self->numberValue("math.NaN()"), "0"),
|
||||
$self->property("Infinity", $self->numberValue("math.Inf(+1)"), "0"),
|
||||
),
|
||||
}),
|
||||
;
|
||||
|
|
|
@ -4612,20 +4612,20 @@ func _newContext(runtime *_runtime) {
|
|||
},
|
||||
},
|
||||
"undefined": _property{
|
||||
mode: 0101,
|
||||
mode: 0,
|
||||
value: Value{
|
||||
_valueType: valueUndefined,
|
||||
},
|
||||
},
|
||||
"NaN": _property{
|
||||
mode: 0101,
|
||||
mode: 0,
|
||||
value: Value{
|
||||
_valueType: valueNumber,
|
||||
value: math.NaN(),
|
||||
},
|
||||
},
|
||||
"Infinity": _property{
|
||||
mode: 0100,
|
||||
mode: 0,
|
||||
value: Value{
|
||||
_valueType: valueNumber,
|
||||
value: math.Inf(+1),
|
||||
|
|
|
@ -593,7 +593,7 @@ func TestComparison(t *testing.T) {
|
|||
test := runTest()
|
||||
|
||||
test("undefined = 1")
|
||||
test("undefined", "1")
|
||||
test("undefined", "undefined")
|
||||
|
||||
test("result = undefined == undefined")
|
||||
test("result", "true")
|
||||
|
|
Loading…
Reference in New Issue
Block a user