v8/test/inspector/runtime/protocol-works-with-different-locale.js
kozyatinskiy 7ba222ffcb [inspector] fix timestamp formatting with non C locales
If current locale has "," as decimal separator then message for consoleAPICalled will be corrupted.

BUG=chromium:653424
R=dgozman@chromium.org

Committed: https://crrev.com/dde5ef75cbac1eb7e2dae59b246e4a0d0ba6a0f4
Review-Url: https://codereview.chromium.org/2410933002
Cr-Original-Commit-Position: refs/heads/master@{#40190}
Cr-Commit-Position: refs/heads/master@{#40288}
2016-10-13 20:32:07 +00:00

41 lines
1.5 KiB
JavaScript

// Copyright 2016 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
Protocol.Runtime.enable();
Protocol.Runtime.onConsoleAPICalled(dumpConsoleApiCalled);
InspectorTest.runTestSuite([
function consoleLogWithDefaultLocale(next) {
Protocol.Runtime.evaluate({ expression: "console.log(239) "}).then(next);
},
function consoleTimeWithCommaAsSeparator(next) {
InspectorTest.log("set locale to fr_CA.UTF-8 (has comma as separator)");
setlocale("fr_CA.UTF-8");
Protocol.Runtime.evaluate({ expression: "console.time(\"a\"); console.timeEnd(\"a\")"}).then(next);
},
function consoleLogWithCommaAsSeparator(next) {
InspectorTest.log("set locale to fr_CA.UTF-8 (has comma as separator)");
setlocale("fr_CA.UTF-8");
Protocol.Runtime.evaluate({ expression: "console.log(239) "}).then(next);
},
function consoleTimeWithCommaAfterConsoleLog(next) {
InspectorTest.log("set locale to fr_CA.UTF-8 (has comma as separator)");
setlocale("fr_CA.UTF-8");
Protocol.Runtime.evaluate({ expression: "console.log(239) "})
.then(() => Protocol.Runtime.evaluate({ expression: "console.time(\"a\"); console.timeEnd(\"a\")"}))
.then(next);
}
]);
function dumpConsoleApiCalled(message) {
var firstArg = message.params.args[0];
if (firstArg.type === "string")
firstArg.value = firstArg.value.replace(/[0-9]+/g, "x");
InspectorTest.logMessage(message);
}