mirror of
https://github.com/robertkrimen/otto
synced 2025-10-26 20:28:49 +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.length === 1`, "true")
|
||||||
test(`eval.prototype === undefined`, "true")
|
test(`eval.prototype === undefined`, "true")
|
||||||
test(`raise: new eval()`, "TypeError: [function] is not a constructor")
|
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) {
|
func TestGlobalLength(t *testing.T) {
|
||||||
|
|
|
||||||
6
inline
6
inline
|
|
@ -551,9 +551,9 @@ sub newContext {
|
||||||
"SyntaxError",
|
"SyntaxError",
|
||||||
"URIError",
|
"URIError",
|
||||||
),
|
),
|
||||||
$self->property("undefined", $self->undefinedValue(), "0101"),
|
$self->property("undefined", $self->undefinedValue(), "0"),
|
||||||
$self->property("NaN", $self->numberValue("math.NaN()"), "0101"),
|
$self->property("NaN", $self->numberValue("math.NaN()"), "0"),
|
||||||
$self->property("Infinity", $self->numberValue("math.Inf(+1)"), "0100"),
|
$self->property("Infinity", $self->numberValue("math.Inf(+1)"), "0"),
|
||||||
),
|
),
|
||||||
}),
|
}),
|
||||||
;
|
;
|
||||||
|
|
|
||||||
|
|
@ -4612,20 +4612,20 @@ func _newContext(runtime *_runtime) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"undefined": _property{
|
"undefined": _property{
|
||||||
mode: 0101,
|
mode: 0,
|
||||||
value: Value{
|
value: Value{
|
||||||
_valueType: valueUndefined,
|
_valueType: valueUndefined,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"NaN": _property{
|
"NaN": _property{
|
||||||
mode: 0101,
|
mode: 0,
|
||||||
value: Value{
|
value: Value{
|
||||||
_valueType: valueNumber,
|
_valueType: valueNumber,
|
||||||
value: math.NaN(),
|
value: math.NaN(),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"Infinity": _property{
|
"Infinity": _property{
|
||||||
mode: 0100,
|
mode: 0,
|
||||||
value: Value{
|
value: Value{
|
||||||
_valueType: valueNumber,
|
_valueType: valueNumber,
|
||||||
value: math.Inf(+1),
|
value: math.Inf(+1),
|
||||||
|
|
|
||||||
|
|
@ -593,7 +593,7 @@ func TestComparison(t *testing.T) {
|
||||||
test := runTest()
|
test := runTest()
|
||||||
|
|
||||||
test("undefined = 1")
|
test("undefined = 1")
|
||||||
test("undefined", "1")
|
test("undefined", "undefined")
|
||||||
|
|
||||||
test("result = undefined == undefined")
|
test("result = undefined == undefined")
|
||||||
test("result", "true")
|
test("result", "true")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user