Merge V8 5.3.332.45. DO NOT MERGE
Test: Manual
FPIIM-449
Change-Id: Id3254828b068abdea3cb10442e0172a8c9a98e03
(cherry picked from commit 13e2dadd00298019ed862f2b2fc5068bba730bcf)
diff --git a/test/cctest/test-date.cc b/test/cctest/test-date.cc
index 67b9501..a745949 100644
--- a/test/cctest/test-date.cc
+++ b/test/cctest/test-date.cc
@@ -166,3 +166,52 @@
CheckDST(august_20 + 2 * 3600 - 1000);
CheckDST(august_20);
}
+
+namespace {
+int legacy_parse_count = 0;
+void DateParseLegacyCounterCallback(v8::Isolate* isolate,
+ v8::Isolate::UseCounterFeature feature) {
+ if (feature == v8::Isolate::kLegacyDateParser) legacy_parse_count++;
+}
+} // anonymous namespace
+
+TEST(DateParseLegacyUseCounter) {
+ CcTest::InitializeVM();
+ v8::HandleScope scope(CcTest::isolate());
+ LocalContext context;
+ CcTest::isolate()->SetUseCounterCallback(DateParseLegacyCounterCallback);
+ CHECK_EQ(0, legacy_parse_count);
+ CompileRun("Date.parse('2015-02-31')");
+ CHECK_EQ(0, legacy_parse_count);
+ CompileRun("Date.parse('2015-02-31T11:22:33.444Z01:23')");
+ CHECK_EQ(0, legacy_parse_count);
+ CompileRun("Date.parse('2015-02-31T11:22:33.444')");
+ CHECK_EQ(0, legacy_parse_count);
+ CompileRun("Date.parse('2000 01 01')");
+ CHECK_EQ(1, legacy_parse_count);
+ CompileRun("Date.parse('2015-02-31T11:22:33.444 ')");
+ CHECK_EQ(1, legacy_parse_count);
+}
+
+#ifdef V8_I18N_SUPPORT
+TEST(DateCacheVersion) {
+ FLAG_allow_natives_syntax = true;
+ v8::Isolate* isolate = CcTest::isolate();
+ v8::Isolate::Scope isolate_scope(isolate);
+ v8::HandleScope scope(isolate);
+ v8::Local<v8::Context> context = v8::Context::New(isolate);
+ v8::Context::Scope context_scope(context);
+ v8::Local<v8::Number> date_cache_version =
+ v8::Local<v8::Number>::Cast(CompileRun("%DateCacheVersion()"));
+
+ CHECK(date_cache_version->IsNumber());
+ CHECK_EQ(0.0, date_cache_version->NumberValue(context).FromMaybe(-1.0));
+
+ v8::Date::DateTimeConfigurationChangeNotification(isolate);
+
+ date_cache_version =
+ v8::Local<v8::Number>::Cast(CompileRun("%DateCacheVersion()"));
+ CHECK(date_cache_version->IsNumber());
+ CHECK_EQ(1.0, date_cache_version->NumberValue(context).FromMaybe(-1.0));
+}
+#endif // V8_I18N_SUPPORT