blob: cc2b29a404b0ed5224db50232af0e1d185b31758 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
(async function() {
TestRunner.addResult(`Tests that JavaScriptSourceSyntaxHighlighter detects the tokens.\n`);
function dumpSyntaxHighlightJS(str) {
return TestRunner.dumpSyntaxHighlight(str, 'text/javascript');
}
dumpSyntaxHighlightJS('1_23.45_67');
dumpSyntaxHighlightJS('0xDEAD_c0de');
dumpSyntaxHighlightJS('0o123_456');
dumpSyntaxHighlightJS('0b1011_1101');
dumpSyntaxHighlightJS('123_456');
dumpSyntaxHighlightJS('.123_456e0_1');
dumpSyntaxHighlightJS('1E+12_34');
dumpSyntaxHighlightJS('123_456n');
dumpSyntaxHighlightJS('window._abc');
dumpSyntaxHighlightJS('window._for');
dumpSyntaxHighlightJS('return\'foo\';');
dumpSyntaxHighlightJS('/\\\//g');
dumpSyntaxHighlightJS('//ig\';');
dumpSyntaxHighlightJS('1 / 2 + /a/.test(\'a\');');
dumpSyntaxHighlightJS('"\\"/".length / 2');
dumpSyntaxHighlightJS('var foo = 1/*/***//2');
dumpSyntaxHighlightJS('/*comment*//.*/.test(\'a\')');
dumpSyntaxHighlightJS('\'f\\\noo\';');
dumpSyntaxHighlightJS('\'\\f\\b\\t\';');
dumpSyntaxHighlightJS('\'/\\\n/\';');
dumpSyntaxHighlightJS('foo/**\n/\n*/foo');
dumpSyntaxHighlightJS('{0: true}');
dumpSyntaxHighlightJS('var toString;');
dumpSyntaxHighlightJS('var foo = undefined;');
dumpSyntaxHighlightJS('var foo = Infinity;');
dumpSyntaxHighlightJS('var foo = NaN;')
.then(TestRunner.completeTest.bind(TestRunner));
})();