From 4abba5f6c67873e1863adab5d3de2ba9cca3b592 Mon Sep 17 00:00:00 2001 From: Robert Krimen Date: Sat, 20 Apr 2013 19:16:17 -0700 Subject: [PATCH] For DefaultValue: HintString (not HintNumber) if object is a Date --- date_test.go | 10 ++++++++++ object.go | 7 ++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/date_test.go b/date_test.go index ff5a04f..f66adbd 100644 --- a/date_test.go +++ b/date_test.go @@ -122,3 +122,13 @@ func TestDate_setYear(t *testing.T) { test(`new Date(12564504e5).setYear(1996)`, "846223200000") test(`new Date(12564504e5).setYear(2000)`, "972453600000") } + +func TestDateDefaultValue(t *testing.T) { + Terst(t) + + test := runTest() + test(` + var date = new Date(); + date + 0 === date.toString() + "0"; + `, "true") +} diff --git a/object.go b/object.go index 69a832c..e4edb07 100644 --- a/object.go +++ b/object.go @@ -161,7 +161,12 @@ const ( // 8.12.8 func (self *_object) DefaultValue(hint _defaultValueHint) Value { if hint == defaultValueNoHint { - hint = defaultValueHintNumber + if self._Date != nil { + // Date exception + hint = defaultValueHintString + } else { + hint = defaultValueHintNumber + } } methodSequence := []string{"valueOf", "toString"} if hint == defaultValueHintString {