From 8cd1ade51592e3fba0a926418b1c9990a4c409f3 Mon Sep 17 00:00:00 2001 From: Kristof Kosztyo Date: Mon, 27 Jul 2015 13:08:58 +0200 Subject: [PATCH] Fix primitive value handling in Date constructor JerryScript-DCO-1.0-Signed-off-by: Kristof Kosztyo kkosztyo.u-szeged@partner.samsung.com --- jerry-core/ecma/builtin-objects/ecma-builtin-date.cpp | 2 +- tests/jerry/date-construct.js | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-date.cpp b/jerry-core/ecma/builtin-objects/ecma-builtin-date.cpp index 9fd1639a5..a90cfad9d 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-date.cpp +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-date.cpp @@ -529,7 +529,7 @@ ecma_builtin_date_dispatch_construct (const ecma_value_t *arguments_list_p, /**< ECMA_TRY_CATCH (prim_value, ecma_op_to_number (arguments_list_p[0]), ret_value); prim_value_num_p = ecma_alloc_number (); - *prim_value_num_p = *ecma_get_number_from_value (prim_value); + *prim_value_num_p = ecma_date_time_clip (*ecma_get_number_from_value (prim_value)); ECMA_FINALIZE (prim_value); } diff --git a/tests/jerry/date-construct.js b/tests/jerry/date-construct.js index 55e6e2c59..c5d485f92 100644 --- a/tests/jerry/date-construct.js +++ b/tests/jerry/date-construct.js @@ -57,3 +57,9 @@ assert (d.valueOf() == 1420070400000); d = new Date(2015,0,1,0,0,0,0); assert (d.valueOf() == 1420070400000); + +d = new Date(8.64e+15); +assert (d.valueOf() == 8.64e+15); + +d = new Date(8.64e+15 + 1); +assert (isNaN(d.valueOf()));