blob: dd4a3bceb4c56ae45d29e1526cd76a0496338a03 [file] [log] [blame]
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'spell_checking_utils.dart';
void main() {
_expectList(splitStringIntoWords("Hello world"), ["Hello", "world"]);
_expectList(splitStringIntoWords("Hello\nworld"), ["Hello", "world"]);
_expectList(splitStringIntoWords("Hello 'world'"), ["Hello", "world"]);
_expectList(splitStringIntoWords("It's fun"), ["It's", "fun"]);
_expectList(splitStringIntoWords("It's 'fun'"), ["It's", "fun"]);
_expectList(splitStringIntoWords("exit-code"), ["exit", "code"]);
_expectList(splitStringIntoWords("fatal=warning"), ["fatal", "warning"]);
_expectList(splitStringIntoWords("vm|none"), ["vm", "none"]);
_expectList(splitStringIntoWords("vm/none"), ["vm", "none"]);
_expectList(splitStringIntoWords("vm,none"), ["vm", "none"]);
_expectList(splitStringIntoWords("One or more word(s)"),
["One", "or", "more", "word(s)"]);
_expectList(splitStringIntoWords("One or more words)"),
["One", "or", "more", "words"]);
_expectList(
splitStringIntoWords("It's 'fun' times 100"), ["It's", "fun", "times"]);
_expectList(splitStringIntoWords("splitCamelCase", splitAsCode: false),
["splitCamelCase"]);
_expectList(splitStringIntoWords("splitCamelCase", splitAsCode: true),
["split", "Camel", "Case"]);
_expectList(splitStringIntoWords("logicalAnd_end", splitAsCode: true),
["logical", "And", "end"]);
_expectList(splitStringIntoWords("TheCNNAlso", splitAsCode: true),
["The", "CNN", "Also"]);
_expectList(splitStringIntoWords("LOGICAL_OR_PRECEDENCE", splitAsCode: true),
["LOGICAL", "OR", "PRECEDENCE"]);
_expectList(splitStringIntoWords("ThisIsTheCNN", splitAsCode: true),
["This", "Is", "The", "CNN"]);
// Special-case "A".
_expectList(splitStringIntoWords("notAConstant", splitAsCode: true),
["not", "A", "Constant"]);
_expectList(
splitStringIntoWords("notAC", splitAsCode: true), ["not", "A", "C"]);
_expectList(
splitStringIntoWords("split_etc", splitAsCode: false), ["split_etc"]);
_expectList(
splitStringIntoWords("split_etc", splitAsCode: true), ["split", "etc"]);
_expectList(
splitStringIntoWords("split:etc", splitAsCode: false), ["split:etc"]);
_expectList(
splitStringIntoWords("split:etc", splitAsCode: true), ["split", "etc"]);
_expectList(splitStringIntoWords("vm.none", splitAsCode: false), ["vm.none"]);
_expectList(
splitStringIntoWords("vm.none", splitAsCode: true), ["vm", "none"]);
_expectList(splitStringIntoWords("ActualData(foo, bar)", splitAsCode: false),
["ActualData(foo", "bar"]);
_expectList(splitStringIntoWords("ActualData(foo, bar)", splitAsCode: true),
["Actual", "Data", "foo", "bar"]);
_expectList(
splitStringIntoWords("List<int>", splitAsCode: false), ["List<int"]);
_expectList(
splitStringIntoWords("List<int>", splitAsCode: true), ["List", "int"]);
_expectList(
splitStringIntoWords("Platform.environment['TERM']", splitAsCode: false),
["Platform.environment['TERM"]);
_expectList(
splitStringIntoWords("Platform.environment['TERM']", splitAsCode: true),
["Platform", "environment", "TERM"]);
_expectList(splitStringIntoWords("DART2JS_PLATFORM", splitAsCode: false),
["DART2JS_PLATFORM"]);
_expectList(splitStringIntoWords("DART2JS_PLATFORM", splitAsCode: true),
["DART2JS", "PLATFORM"]);
_expectList(splitStringIntoWords("Foo\\n", splitAsCode: false), ["Foo\\n"]);
_expectList(splitStringIntoWords("Foo\\n", splitAsCode: true), ["Foo"]);
_expectList(
splitStringIntoWords("foo({bar})", splitAsCode: false), ["foo({bar"]);
_expectList(
splitStringIntoWords("foo({bar})", splitAsCode: true), ["foo", "bar"]);
_expectList(splitStringIntoWords("foo@bar", splitAsCode: false), ["foo@bar"]);
_expectList(
splitStringIntoWords("foo@bar", splitAsCode: true), ["foo", "bar"]);
_expectList(splitStringIntoWords("foo#bar", splitAsCode: false), ["foo#bar"]);
_expectList(
splitStringIntoWords("foo#bar", splitAsCode: true), ["foo", "bar"]);
_expectList(splitStringIntoWords("foo&bar", splitAsCode: false), ["foo&bar"]);
_expectList(
splitStringIntoWords("foo&bar", splitAsCode: true), ["foo", "bar"]);
_expectList(splitStringIntoWords("foo?bar", splitAsCode: false), ["foo?bar"]);
_expectList(
splitStringIntoWords("foo?bar", splitAsCode: true), ["foo", "bar"]);
print("OK");
}
void _expectList(List<String> actual, List<String> expected) {
if (actual.length != expected.length)
throw "Not the same ($actual vs $expected)";
for (int i = 0; i < actual.length; i++) {
if (actual[i] != expected[i]) throw "Not the same ($actual vs $expected)";
}
}