Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(384)

Unified Diff: pkg/analyzer/test/generated/scanner_test.dart

Issue 68233003: New analyzer snapshot. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analyzer/test/generated/resolver_test.dart ('k') | pkg/analyzer/test/generated/test_support.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/test/generated/scanner_test.dart
diff --git a/pkg/analyzer/test/generated/scanner_test.dart b/pkg/analyzer/test/generated/scanner_test.dart
index 8702c381e8a4a95390f2e7bae5274e3aa76cd6dc..c6790f29a1af8fdefbab2ac1acfa0380334934b6 100644
--- a/pkg/analyzer/test/generated/scanner_test.dart
+++ b/pkg/analyzer/test/generated/scanner_test.dart
@@ -1,6 +1,8 @@
// This code was auto-generated, is not intended to be edited, and is subject to
// significant change. Please see the README file for more information.
+
library engine.scanner_test;
+
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/java_junit.dart';
import 'package:analyzer/src/generated/source.dart';
@@ -9,6 +11,7 @@ import 'package:analyzer/src/generated/scanner.dart';
import 'package:analyzer/src/generated/utilities_collection.dart' show TokenMap;
import 'package:unittest/unittest.dart' as _ut;
import 'test_support.dart';
+
class KeywordStateTest extends JUnitTestCase {
void test_KeywordState() {
List<Keyword> keywords = Keyword.values;
@@ -41,6 +44,7 @@ class KeywordStateTest extends JUnitTestCase {
}
}
}
+
static dartSuite() {
_ut.group('KeywordStateTest', () {
_ut.test('test_KeywordState', () {
@@ -50,6 +54,7 @@ class KeywordStateTest extends JUnitTestCase {
});
}
}
+
class CharSequenceReaderTest extends JUnitTestCase {
void test_advance() {
CharSequenceReader reader = new CharSequenceReader(new CharSequence("x"));
@@ -57,9 +62,11 @@ class CharSequenceReaderTest extends JUnitTestCase {
JUnitTestCase.assertEquals(-1, reader.advance());
JUnitTestCase.assertEquals(-1, reader.advance());
}
+
void test_creation() {
JUnitTestCase.assertNotNull(new CharSequenceReader(new CharSequence("x")));
}
+
void test_getOffset() {
CharSequenceReader reader = new CharSequenceReader(new CharSequence("x"));
JUnitTestCase.assertEquals(-1, reader.offset);
@@ -68,12 +75,14 @@ class CharSequenceReaderTest extends JUnitTestCase {
reader.advance();
JUnitTestCase.assertEquals(0, reader.offset);
}
+
void test_getString() {
CharSequenceReader reader = new CharSequenceReader(new CharSequence("xyzzy"));
reader.offset = 3;
JUnitTestCase.assertEquals("yzz", reader.getString(1, 0));
JUnitTestCase.assertEquals("zzy", reader.getString(2, 1));
}
+
void test_peek() {
CharSequenceReader reader = new CharSequenceReader(new CharSequence("xy"));
JUnitTestCase.assertEquals(0x78, reader.peek());
@@ -85,11 +94,13 @@ class CharSequenceReaderTest extends JUnitTestCase {
JUnitTestCase.assertEquals(-1, reader.peek());
JUnitTestCase.assertEquals(-1, reader.peek());
}
+
void test_setOffset() {
CharSequenceReader reader = new CharSequenceReader(new CharSequence("xyz"));
reader.offset = 2;
JUnitTestCase.assertEquals(2, reader.offset);
}
+
static dartSuite() {
_ut.group('CharSequenceReaderTest', () {
_ut.test('test_advance', () {
@@ -119,6 +130,7 @@ class CharSequenceReaderTest extends JUnitTestCase {
});
}
}
+
class TokenTypeTest extends EngineTestCase {
void test_isOperator() {
JUnitTestCase.assertTrue(TokenType.AMPERSAND.isOperator);
@@ -162,6 +174,7 @@ class TokenTypeTest extends EngineTestCase {
JUnitTestCase.assertTrue(TokenType.TILDE_SLASH.isOperator);
JUnitTestCase.assertTrue(TokenType.TILDE_SLASH_EQ.isOperator);
}
+
void test_isUserDefinableOperator() {
JUnitTestCase.assertTrue(TokenType.AMPERSAND.isUserDefinableOperator);
JUnitTestCase.assertTrue(TokenType.BAR.isUserDefinableOperator);
@@ -183,6 +196,7 @@ class TokenTypeTest extends EngineTestCase {
JUnitTestCase.assertTrue(TokenType.TILDE.isUserDefinableOperator);
JUnitTestCase.assertTrue(TokenType.TILDE_SLASH.isUserDefinableOperator);
}
+
static dartSuite() {
_ut.group('TokenTypeTest', () {
_ut.test('test_isOperator', () {
@@ -196,21 +210,25 @@ class TokenTypeTest extends EngineTestCase {
});
}
}
+
/**
* The class `TokenFactory` defines utility methods that can be used to create tokens.
*/
class TokenFactory {
static Token token(Keyword keyword) => new KeywordToken(keyword, 0);
+
static Token token2(String lexeme) => new StringToken(TokenType.STRING, lexeme, 0);
+
static Token token3(TokenType type) => new Token(type, 0);
+
static Token token4(TokenType type, String lexeme) => new StringToken(type, lexeme, 0);
}
+
/**
* Instances of the class `TokenStreamValidator` are used to validate the correct construction
* of a stream of tokens.
*/
class TokenStreamValidator {
-
/**
* Validate that the stream of tokens that starts with the given token is correct.
*
@@ -223,6 +241,7 @@ class TokenStreamValidator {
JUnitTestCase.fail(builder.toString());
}
}
+
void validateStream(JavaStringBuilder builder, Token token) {
if (token == null) {
return;
@@ -255,6 +274,7 @@ class TokenStreamValidator {
currentToken = currentToken.next;
}
}
+
void writeToken(JavaStringBuilder builder, Token token) {
builder.append("[");
builder.append(token.type);
@@ -267,292 +287,388 @@ class TokenStreamValidator {
builder.append("]");
}
}
+
class ScannerTest extends JUnitTestCase {
void test_ampersand() {
assertToken(TokenType.AMPERSAND, "&");
}
+
void test_ampersand_ampersand() {
assertToken(TokenType.AMPERSAND_AMPERSAND, "&&");
}
+
void test_ampersand_eq() {
assertToken(TokenType.AMPERSAND_EQ, "&=");
}
+
void test_at() {
assertToken(TokenType.AT, "@");
}
+
void test_backping() {
assertToken(TokenType.BACKPING, "`");
}
+
void test_backslash() {
assertToken(TokenType.BACKSLASH, "\\");
}
+
void test_bang() {
assertToken(TokenType.BANG, "!");
}
+
void test_bang_eq() {
assertToken(TokenType.BANG_EQ, "!=");
}
+
void test_bar() {
assertToken(TokenType.BAR, "|");
}
+
void test_bar_bar() {
assertToken(TokenType.BAR_BAR, "||");
}
+
void test_bar_eq() {
assertToken(TokenType.BAR_EQ, "|=");
}
+
void test_caret() {
assertToken(TokenType.CARET, "^");
}
+
void test_caret_eq() {
assertToken(TokenType.CARET_EQ, "^=");
}
+
void test_close_curly_bracket() {
assertToken(TokenType.CLOSE_CURLY_BRACKET, "}");
}
+
void test_close_paren() {
assertToken(TokenType.CLOSE_PAREN, ")");
}
+
void test_close_quare_bracket() {
assertToken(TokenType.CLOSE_SQUARE_BRACKET, "]");
}
+
void test_colon() {
assertToken(TokenType.COLON, ":");
}
+
void test_comma() {
assertToken(TokenType.COMMA, ",");
}
+
void test_comment_multi() {
assertComment(TokenType.MULTI_LINE_COMMENT, "/* comment */");
}
+
void test_comment_multi_unterminated() {
assertError(ScannerErrorCode.UNTERMINATED_MULTI_LINE_COMMENT, 3, "/* x");
}
+
void test_comment_nested() {
assertComment(TokenType.MULTI_LINE_COMMENT, "/* comment /* within a */ comment */");
}
+
void test_comment_single() {
assertComment(TokenType.SINGLE_LINE_COMMENT, "// comment");
}
+
void test_double_both_e() {
assertToken(TokenType.DOUBLE, "0.123e4");
}
+
void test_double_both_E() {
assertToken(TokenType.DOUBLE, "0.123E4");
}
+
void test_double_fraction() {
assertToken(TokenType.DOUBLE, ".123");
}
+
void test_double_fraction_e() {
assertToken(TokenType.DOUBLE, ".123e4");
}
+
void test_double_fraction_E() {
assertToken(TokenType.DOUBLE, ".123E4");
}
+
void test_double_missingDigitInExponent() {
assertError(ScannerErrorCode.MISSING_DIGIT, 1, "1e");
}
+
void test_double_whole_e() {
assertToken(TokenType.DOUBLE, "12e4");
}
+
void test_double_whole_E() {
assertToken(TokenType.DOUBLE, "12E4");
}
+
void test_eq() {
assertToken(TokenType.EQ, "=");
}
+
void test_eq_eq() {
assertToken(TokenType.EQ_EQ, "==");
}
+
void test_gt() {
assertToken(TokenType.GT, ">");
}
+
void test_gt_eq() {
assertToken(TokenType.GT_EQ, ">=");
}
+
void test_gt_gt() {
assertToken(TokenType.GT_GT, ">>");
}
+
void test_gt_gt_eq() {
assertToken(TokenType.GT_GT_EQ, ">>=");
}
+
void test_hash() {
assertToken(TokenType.HASH, "#");
}
+
void test_hexidecimal() {
assertToken(TokenType.HEXADECIMAL, "0x1A2B3C");
}
+
void test_hexidecimal_missingDigit() {
assertError(ScannerErrorCode.MISSING_HEX_DIGIT, 1, "0x");
}
+
void test_identifier() {
assertToken(TokenType.IDENTIFIER, "result");
}
+
void test_illegalChar_cyrillicLetter_middle() {
assertError(ScannerErrorCode.ILLEGAL_CHARACTER, 0, "Shche\u0433lov");
}
+
void test_illegalChar_cyrillicLetter_start() {
assertError(ScannerErrorCode.ILLEGAL_CHARACTER, 0, "\u0429");
}
+
void test_illegalChar_nbsp() {
assertError(ScannerErrorCode.ILLEGAL_CHARACTER, 0, "\u00A0");
}
+
void test_illegalChar_notLetter() {
assertError(ScannerErrorCode.ILLEGAL_CHARACTER, 0, "\u0312");
}
+
void test_index() {
assertToken(TokenType.INDEX, "[]");
}
+
void test_index_eq() {
assertToken(TokenType.INDEX_EQ, "[]=");
}
+
void test_int() {
assertToken(TokenType.INT, "123");
}
+
void test_int_initialZero() {
assertToken(TokenType.INT, "0123");
}
+
void test_keyword_abstract() {
assertKeywordToken("abstract");
}
+
void test_keyword_as() {
assertKeywordToken("as");
}
+
void test_keyword_assert() {
assertKeywordToken("assert");
}
+
void test_keyword_break() {
assertKeywordToken("break");
}
+
void test_keyword_case() {
assertKeywordToken("case");
}
+
void test_keyword_catch() {
assertKeywordToken("catch");
}
+
void test_keyword_class() {
assertKeywordToken("class");
}
+
void test_keyword_const() {
assertKeywordToken("const");
}
+
void test_keyword_continue() {
assertKeywordToken("continue");
}
+
void test_keyword_default() {
assertKeywordToken("default");
}
+
void test_keyword_do() {
assertKeywordToken("do");
}
+
void test_keyword_dynamic() {
assertKeywordToken("dynamic");
}
+
void test_keyword_else() {
assertKeywordToken("else");
}
+
void test_keyword_enum() {
assertKeywordToken("enum");
}
+
void test_keyword_export() {
assertKeywordToken("export");
}
+
void test_keyword_extends() {
assertKeywordToken("extends");
}
+
void test_keyword_factory() {
assertKeywordToken("factory");
}
+
void test_keyword_false() {
assertKeywordToken("false");
}
+
void test_keyword_final() {
assertKeywordToken("final");
}
+
void test_keyword_finally() {
assertKeywordToken("finally");
}
+
void test_keyword_for() {
assertKeywordToken("for");
}
+
void test_keyword_get() {
assertKeywordToken("get");
}
+
void test_keyword_if() {
assertKeywordToken("if");
}
+
void test_keyword_implements() {
assertKeywordToken("implements");
}
+
void test_keyword_import() {
assertKeywordToken("import");
}
+
void test_keyword_in() {
assertKeywordToken("in");
}
+
void test_keyword_is() {
assertKeywordToken("is");
}
+
void test_keyword_library() {
assertKeywordToken("library");
}
+
void test_keyword_new() {
assertKeywordToken("new");
}
+
void test_keyword_null() {
assertKeywordToken("null");
}
+
void test_keyword_operator() {
assertKeywordToken("operator");
}
+
void test_keyword_part() {
assertKeywordToken("part");
}
+
void test_keyword_rethrow() {
assertKeywordToken("rethrow");
}
+
void test_keyword_return() {
assertKeywordToken("return");
}
+
void test_keyword_set() {
assertKeywordToken("set");
}
+
void test_keyword_static() {
assertKeywordToken("static");
}
+
void test_keyword_super() {
assertKeywordToken("super");
}
+
void test_keyword_switch() {
assertKeywordToken("switch");
}
+
void test_keyword_this() {
assertKeywordToken("this");
}
+
void test_keyword_throw() {
assertKeywordToken("throw");
}
+
void test_keyword_true() {
assertKeywordToken("true");
}
+
void test_keyword_try() {
assertKeywordToken("try");
}
+
void test_keyword_typedef() {
assertKeywordToken("typedef");
}
+
void test_keyword_var() {
assertKeywordToken("var");
}
+
void test_keyword_void() {
assertKeywordToken("void");
}
+
void test_keyword_while() {
assertKeywordToken("while");
}
+
void test_keyword_with() {
assertKeywordToken("with");
}
+
void test_lineInfo_multilineComment() {
String source = "/*\r *\r */";
assertLineInfo(source, [
@@ -560,6 +676,7 @@ class ScannerTest extends JUnitTestCase {
new ScannerTest_ExpectedLocation(4, 2, 2),
new ScannerTest_ExpectedLocation(source.length - 1, 3, 3)]);
}
+
void test_lineInfo_multilineString() {
String source = "'''a\r\nbc\r\nd'''";
assertLineInfo(source, [
@@ -567,6 +684,7 @@ class ScannerTest extends JUnitTestCase {
new ScannerTest_ExpectedLocation(7, 2, 2),
new ScannerTest_ExpectedLocation(source.length - 1, 3, 4)]);
}
+
void test_lineInfo_simpleClass() {
String source = "class Test {\r\n String s = '...';\r\n int get x => s.MISSING_GETTER;\r\n}";
assertLineInfo(source, [
@@ -574,60 +692,78 @@ class ScannerTest extends JUnitTestCase {
new ScannerTest_ExpectedLocation(source.indexOf("MISSING_GETTER"), 3, 20),
new ScannerTest_ExpectedLocation(source.length - 1, 4, 1)]);
}
+
void test_lineInfo_slashN() {
String source = "class Test {\n}";
assertLineInfo(source, [
new ScannerTest_ExpectedLocation(0, 1, 1),
new ScannerTest_ExpectedLocation(source.indexOf("}"), 2, 1)]);
}
+
void test_lt() {
assertToken(TokenType.LT, "<");
}
+
void test_lt_eq() {
assertToken(TokenType.LT_EQ, "<=");
}
+
void test_lt_lt() {
assertToken(TokenType.LT_LT, "<<");
}
+
void test_lt_lt_eq() {
assertToken(TokenType.LT_LT_EQ, "<<=");
}
+
void test_minus() {
assertToken(TokenType.MINUS, "-");
}
+
void test_minus_eq() {
assertToken(TokenType.MINUS_EQ, "-=");
}
+
void test_minus_minus() {
assertToken(TokenType.MINUS_MINUS, "--");
}
+
void test_open_curly_bracket() {
assertToken(TokenType.OPEN_CURLY_BRACKET, "{");
}
+
void test_open_paren() {
assertToken(TokenType.OPEN_PAREN, "(");
}
+
void test_open_square_bracket() {
assertToken(TokenType.OPEN_SQUARE_BRACKET, "[");
}
+
void test_openSquareBracket() {
assertToken(TokenType.OPEN_SQUARE_BRACKET, "[");
}
+
void test_percent() {
assertToken(TokenType.PERCENT, "%");
}
+
void test_percent_eq() {
assertToken(TokenType.PERCENT_EQ, "%=");
}
+
void test_period() {
assertToken(TokenType.PERIOD, ".");
}
+
void test_period_period() {
assertToken(TokenType.PERIOD_PERIOD, "..");
}
+
void test_period_period_period() {
assertToken(TokenType.PERIOD_PERIOD_PERIOD, "...");
}
+
void test_periodAfterNumberNotIncluded_identifier() {
assertTokens("42.isEven()", [
new StringToken(TokenType.INT, "42", 0),
@@ -636,6 +772,7 @@ class ScannerTest extends JUnitTestCase {
new Token(TokenType.OPEN_PAREN, 9),
new Token(TokenType.CLOSE_PAREN, 10)]);
}
+
void test_periodAfterNumberNotIncluded_period() {
assertTokens("42..isEven()", [
new StringToken(TokenType.INT, "42", 0),
@@ -644,30 +781,39 @@ class ScannerTest extends JUnitTestCase {
new Token(TokenType.OPEN_PAREN, 10),
new Token(TokenType.CLOSE_PAREN, 11)]);
}
+
void test_plus() {
assertToken(TokenType.PLUS, "+");
}
+
void test_plus_eq() {
assertToken(TokenType.PLUS_EQ, "+=");
}
+
void test_plus_plus() {
assertToken(TokenType.PLUS_PLUS, "++");
}
+
void test_question() {
assertToken(TokenType.QUESTION, "?");
}
+
void test_scriptTag_withArgs() {
assertToken(TokenType.SCRIPT_TAG, "#!/bin/dart -debug");
}
+
void test_scriptTag_withoutSpace() {
assertToken(TokenType.SCRIPT_TAG, "#!/bin/dart");
}
+
void test_scriptTag_withSpace() {
assertToken(TokenType.SCRIPT_TAG, "#! /bin/dart");
}
+
void test_semicolon() {
assertToken(TokenType.SEMICOLON, ";");
}
+
void test_setSourceStart() {
int offsetDelta = 42;
GatheringErrorListener listener = new GatheringErrorListener();
@@ -679,18 +825,23 @@ class ScannerTest extends JUnitTestCase {
JUnitTestCase.assertEquals(3, lineStarts.length);
JUnitTestCase.assertEquals(33, lineStarts[2]);
}
+
void test_slash() {
assertToken(TokenType.SLASH, "/");
}
+
void test_slash_eq() {
assertToken(TokenType.SLASH_EQ, "/=");
}
+
void test_star() {
assertToken(TokenType.STAR, "*");
}
+
void test_star_eq() {
assertToken(TokenType.STAR_EQ, "*=");
}
+
void test_startAndEnd() {
Token token = scan("a");
Token previous = token.previous;
@@ -700,15 +851,19 @@ class ScannerTest extends JUnitTestCase {
JUnitTestCase.assertEquals(next, next.next);
JUnitTestCase.assertEquals(token, next.previous);
}
+
void test_string_multi_double() {
assertToken(TokenType.STRING, "\"\"\"line1\nline2\"\"\"");
}
+
void test_string_multi_embeddedQuotes() {
assertToken(TokenType.STRING, "\"\"\"line1\n\"\"\nline2\"\"\"");
}
+
void test_string_multi_embeddedQuotes_escapedChar() {
assertToken(TokenType.STRING, "\"\"\"a\"\"\\tb\"\"\"");
}
+
void test_string_multi_interpolation_block() {
assertTokens("\"Hello \${name}!\"", [
new StringToken(TokenType.STRING, "\"Hello ", 0),
@@ -717,6 +872,7 @@ class ScannerTest extends JUnitTestCase {
new Token(TokenType.CLOSE_CURLY_BRACKET, 13),
new StringToken(TokenType.STRING, "!\"", 14)]);
}
+
void test_string_multi_interpolation_identifier() {
assertTokens("\"Hello \$name!\"", [
new StringToken(TokenType.STRING, "\"Hello ", 0),
@@ -724,42 +880,55 @@ class ScannerTest extends JUnitTestCase {
new StringToken(TokenType.IDENTIFIER, "name", 8),
new StringToken(TokenType.STRING, "!\"", 12)]);
}
+
void test_string_multi_single() {
assertToken(TokenType.STRING, "'''string'''");
}
+
void test_string_multi_slashEnter() {
assertToken(TokenType.STRING, "'''\\\n'''");
}
+
void test_string_multi_unterminated() {
assertError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, 8, "'''string");
}
+
void test_string_raw_multi_double() {
assertToken(TokenType.STRING, "r\"\"\"line1\nline2\"\"\"");
}
+
void test_string_raw_multi_single() {
assertToken(TokenType.STRING, "r'''string'''");
}
+
void test_string_raw_multi_unterminated() {
assertError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, 9, "r'''string");
}
+
void test_string_raw_simple_double() {
assertToken(TokenType.STRING, "r\"string\"");
}
+
void test_string_raw_simple_single() {
assertToken(TokenType.STRING, "r'string'");
}
+
void test_string_raw_simple_unterminated_eof() {
assertError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, 7, "r'string");
}
+
void test_string_raw_simple_unterminated_eol() {
assertError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, 8, "r'string\n");
}
+
void test_string_simple_double() {
assertToken(TokenType.STRING, "\"string\"");
}
+
void test_string_simple_escapedDollar() {
assertToken(TokenType.STRING, "'a\\\$b'");
}
+
void test_string_simple_interpolation_adjacentIdentifiers() {
assertTokens("'\$a\$b'", [
new StringToken(TokenType.STRING, "'", 0),
@@ -770,6 +939,7 @@ class ScannerTest extends JUnitTestCase {
new StringToken(TokenType.IDENTIFIER, "b", 4),
new StringToken(TokenType.STRING, "'", 5)]);
}
+
void test_string_simple_interpolation_block() {
assertTokens("'Hello \${name}!'", [
new StringToken(TokenType.STRING, "'Hello ", 0),
@@ -778,6 +948,7 @@ class ScannerTest extends JUnitTestCase {
new Token(TokenType.CLOSE_CURLY_BRACKET, 13),
new StringToken(TokenType.STRING, "!'", 14)]);
}
+
void test_string_simple_interpolation_blockWithNestedMap() {
assertTokens("'a \${f({'b' : 'c'})} d'", [
new StringToken(TokenType.STRING, "'a ", 0),
@@ -793,6 +964,7 @@ class ScannerTest extends JUnitTestCase {
new Token(TokenType.CLOSE_CURLY_BRACKET, 19),
new StringToken(TokenType.STRING, " d'", 20)]);
}
+
void test_string_simple_interpolation_firstAndLast() {
assertTokens("'\$greeting \$name'", [
new StringToken(TokenType.STRING, "'", 0),
@@ -803,6 +975,7 @@ class ScannerTest extends JUnitTestCase {
new StringToken(TokenType.IDENTIFIER, "name", 12),
new StringToken(TokenType.STRING, "'", 16)]);
}
+
void test_string_simple_interpolation_identifier() {
assertTokens("'Hello \$name!'", [
new StringToken(TokenType.STRING, "'Hello ", 0),
@@ -810,6 +983,7 @@ class ScannerTest extends JUnitTestCase {
new StringToken(TokenType.IDENTIFIER, "name", 8),
new StringToken(TokenType.STRING, "!'", 12)]);
}
+
void test_string_simple_interpolation_missingIdentifier() {
assertTokens("'\$x\$'", [
new StringToken(TokenType.STRING, "'", 0),
@@ -819,34 +993,43 @@ class ScannerTest extends JUnitTestCase {
new StringToken(TokenType.STRING_INTERPOLATION_IDENTIFIER, "\$", 3),
new StringToken(TokenType.STRING, "'", 4)]);
}
+
void test_string_simple_interpolation_nonIdentifier() {
assertTokens("'\$1'", [
new StringToken(TokenType.STRING, "'", 0),
new StringToken(TokenType.STRING_INTERPOLATION_IDENTIFIER, "\$", 1),
new StringToken(TokenType.STRING, "1'", 2)]);
}
+
void test_string_simple_single() {
assertToken(TokenType.STRING, "'string'");
}
+
void test_string_simple_unterminated_eof() {
assertError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, 6, "'string");
}
+
void test_string_simple_unterminated_eol() {
assertError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, 7, "'string\r");
}
+
void test_tilde() {
assertToken(TokenType.TILDE, "~");
}
+
void test_tilde_slash() {
assertToken(TokenType.TILDE_SLASH, "~/");
}
+
void test_tilde_slash_eq() {
assertToken(TokenType.TILDE_SLASH_EQ, "~/=");
}
+
void test_unclosedPairInInterpolation() {
GatheringErrorListener listener = new GatheringErrorListener();
scan2("'\${(}'", listener);
}
+
void assertComment(TokenType commentType, String source) {
Token token = scan(source);
JUnitTestCase.assertNotNull(token);
@@ -896,7 +1079,7 @@ class ScannerTest extends JUnitTestCase {
JUnitTestCase.assertEquals(source, token.lexeme);
Object value = token.value();
JUnitTestCase.assertTrue(value is Keyword);
- JUnitTestCase.assertEquals(source, ((value as Keyword)).syntax);
+ JUnitTestCase.assertEquals(source, (value as Keyword).syntax);
token = scan(" ${source} ");
JUnitTestCase.assertNotNull(token);
JUnitTestCase.assertEquals(TokenType.KEYWORD, token.type);
@@ -905,9 +1088,10 @@ class ScannerTest extends JUnitTestCase {
JUnitTestCase.assertEquals(source, token.lexeme);
value = token.value();
JUnitTestCase.assertTrue(value is Keyword);
- JUnitTestCase.assertEquals(source, ((value as Keyword)).syntax);
+ JUnitTestCase.assertEquals(source, (value as Keyword).syntax);
JUnitTestCase.assertEquals(TokenType.EOF, token.next.type);
}
+
void assertLineInfo(String source, List<ScannerTest_ExpectedLocation> expectedLocations) {
GatheringErrorListener listener = new GatheringErrorListener();
scan2(source, listener);
@@ -989,18 +1173,21 @@ class ScannerTest extends JUnitTestCase {
}
JUnitTestCase.assertEquals(TokenType.EOF, token.type);
}
+
Token scan(String source) {
GatheringErrorListener listener = new GatheringErrorListener();
Token token = scan2(source, listener);
listener.assertNoErrors();
return token;
}
+
Token scan2(String source, GatheringErrorListener listener) {
Scanner scanner = new Scanner(null, new CharSequenceReader(new CharSequence(source)), listener);
Token result = scanner.tokenize();
listener.setLineInfo(new TestSource(), scanner.lineStarts);
return result;
}
+
static dartSuite() {
_ut.group('ScannerTest', () {
_ut.test('test_ampersand', () {
@@ -1654,127 +1841,183 @@ class ScannerTest extends JUnitTestCase {
});
}
}
+
/**
* Instances of the class `ExpectedLocation` encode information about the expected location
* of a given offset in source code.
*/
class ScannerTest_ExpectedLocation {
int _offset = 0;
+
int _lineNumber = 0;
+
int _columnNumber = 0;
+
ScannerTest_ExpectedLocation(int offset, int lineNumber, int columnNumber) {
this._offset = offset;
this._lineNumber = lineNumber;
this._columnNumber = columnNumber;
}
}
+
class IncrementalScannerTest extends EngineTestCase {
+ /**
+ * The scanner used to perform incremental scanning, or `null` if [scan] has not been
+ * invoked.
+ */
+ IncrementalScanner _incrementalScanner;
+
+ /**
+ * The first token from the token stream resulting from parsing the original source, or
+ * `null` if [scan] has not been invoked.
+ */
Token _originalTokens;
- void test_rescan_addedBeforeIdentifier1() {
- IncrementalScanner scanner = assertTokens("a + b;", "xa + b;");
- JUnitTestCase.assertEquals("xa", scanner.firstToken.lexeme);
- JUnitTestCase.assertEquals("xa", scanner.lastToken.lexeme);
- }
- void test_rescan_addedBeforeIdentifier2() {
- IncrementalScanner scanner = assertTokens("a + b;", "a + xb;");
- JUnitTestCase.assertEquals("xb", scanner.firstToken.lexeme);
- JUnitTestCase.assertEquals("xb", scanner.lastToken.lexeme);
- }
- void test_rescan_addedNewIdentifier1() {
- IncrementalScanner scanner = assertTokens("a; c;", "a; b c;");
- JUnitTestCase.assertEquals("b", scanner.firstToken.lexeme);
- JUnitTestCase.assertEquals("b", scanner.lastToken.lexeme);
- }
- void test_rescan_addedNewIdentifier2() {
- IncrementalScanner scanner = assertTokens("a; c;", "a;b c;");
- JUnitTestCase.assertEquals("b", scanner.firstToken.lexeme);
- JUnitTestCase.assertEquals("b", scanner.lastToken.lexeme);
- Token oldToken = _originalTokens.next;
- JUnitTestCase.assertSame(TokenType.SEMICOLON, oldToken.type);
- Token newToken = scanner.tokenMap.get(oldToken);
- JUnitTestCase.assertNotNull(newToken);
- JUnitTestCase.assertEquals(TokenType.SEMICOLON, newToken.type);
- JUnitTestCase.assertNotSame(oldToken, newToken);
+
+ void fail_delete_identifier_beginning() {
+ scan("", "ab", "", "s + b;");
+ assertTokens(["s"]);
}
- void test_rescan_addedToIdentifier1() {
- IncrementalScanner scanner = assertTokens("a + b;", "abs + b;");
- JUnitTestCase.assertEquals("abs", scanner.firstToken.lexeme);
- JUnitTestCase.assertEquals("abs", scanner.lastToken.lexeme);
- Token oldToken = _originalTokens.next;
- JUnitTestCase.assertEquals(TokenType.PLUS, oldToken.type);
- Token newToken = scanner.tokenMap.get(oldToken);
- JUnitTestCase.assertNotNull(newToken);
- JUnitTestCase.assertEquals(TokenType.PLUS, newToken.type);
- JUnitTestCase.assertNotSame(oldToken, newToken);
+
+ void fail_delete_mergeTokens() {
+ scan("a", " + b + ", "", "c;");
+ assertTokens(["ac"]);
+ }
+
+ void fail_replace_multiple_partialFirstAndLast() {
+ scan("a", "a + b", "b * a", "b;");
+ assertTokens(["ab", "*", "ab"]);
}
- void test_rescan_addedToIdentifier2() {
- IncrementalScanner scanner = assertTokens("a + b;", "a + by;");
- JUnitTestCase.assertEquals("by", scanner.firstToken.lexeme);
- JUnitTestCase.assertEquals("by", scanner.lastToken.lexeme);
- }
- void test_rescan_appendWhitespace1() {
- IncrementalScanner scanner = assertTokens("a + b;", "a + b; ");
- JUnitTestCase.assertNull(scanner.firstToken);
- JUnitTestCase.assertNull(scanner.lastToken);
- }
- void test_rescan_appendWhitespace2() {
- IncrementalScanner scanner = assertTokens("a + b; ", "a + b; ");
- JUnitTestCase.assertNull(scanner.firstToken);
- JUnitTestCase.assertNull(scanner.lastToken);
- }
- void test_rescan_insertedPeriod() {
- IncrementalScanner scanner = assertTokens("a + b;", "a + b.;");
- JUnitTestCase.assertEquals(".", scanner.firstToken.lexeme);
- JUnitTestCase.assertEquals(".", scanner.lastToken.lexeme);
- }
- void test_rescan_insertedPeriodBetweenIdentifiers1() {
- IncrementalScanner scanner = assertTokens("a b;", "a. b;");
- JUnitTestCase.assertEquals(".", scanner.firstToken.lexeme);
- JUnitTestCase.assertEquals(".", scanner.lastToken.lexeme);
- }
- void test_rescan_insertedPeriodBetweenIdentifiers2() {
- IncrementalScanner scanner = assertTokens("a b;", "a .b;");
- JUnitTestCase.assertEquals(".", scanner.firstToken.lexeme);
- JUnitTestCase.assertEquals(".", scanner.lastToken.lexeme);
- }
- void test_rescan_insertedPeriodBetweenIdentifiers3() {
- IncrementalScanner scanner = assertTokens("a b;", "a . b;");
- JUnitTestCase.assertEquals(".", scanner.firstToken.lexeme);
- JUnitTestCase.assertEquals(".", scanner.lastToken.lexeme);
- }
- void test_rescan_insertedPeriodIdentifier() {
- IncrementalScanner scanner = assertTokens("a + b;", "a + b.x;");
- JUnitTestCase.assertEquals(".", scanner.firstToken.lexeme);
- JUnitTestCase.assertEquals("x", scanner.lastToken.lexeme);
- }
- void test_rescan_insertedPeriodInsideExistingIdentifier() {
- IncrementalScanner scanner = assertTokens("ab;", "a.b;");
- JUnitTestCase.assertEquals("a", scanner.firstToken.lexeme);
- JUnitTestCase.assertEquals("b", scanner.lastToken.lexeme);
- }
- void test_rescan_insertLeadingWhitespace() {
- IncrementalScanner scanner = assertTokens("a + b;", " a + b;");
- JUnitTestCase.assertNull(scanner.firstToken);
- JUnitTestCase.assertNull(scanner.lastToken);
- }
- void test_rescan_insertWhitespace() {
- IncrementalScanner scanner = assertTokens("a + b;", "a + b;");
- JUnitTestCase.assertNull(scanner.firstToken);
- JUnitTestCase.assertNull(scanner.lastToken);
- }
- void test_rescan_insertWhitespaceWithMultipleComments() {
- IncrementalScanner scanner = assertTokens(EngineTestCase.createSource(["//comment", "//comment2", "a + b;"]), EngineTestCase.createSource(["//comment", "//comment2", "a + b;"]));
- JUnitTestCase.assertNull(scanner.firstToken);
- JUnitTestCase.assertNull(scanner.lastToken);
- }
- void test_rescan_oneFunctionToTwo() {
- IncrementalScanner scanner = assertTokens("f() {}", "f() => 0; g() {}");
- JUnitTestCase.assertEquals("=>", scanner.firstToken.lexeme);
- JUnitTestCase.assertEquals(")", scanner.lastToken.lexeme);
+
+ void test_delete_identifier_end() {
+ scan("a", "bs", "", " + b;");
+ assertTokens(["a"]);
}
+
+ void test_delete_identifier_middle() {
+ scan("a", "b", "", "s + b;");
+ assertTokens(["as"]);
+ }
+
+ void test_insert_afterIdentifier1() {
+ scan("a", "", "bs", " + b;");
+ assertTokens(["abs"]);
+ assertReplaced(1, "+");
+ }
+
+ void test_insert_afterIdentifier2() {
+ scan("a + b", "", "y", ";");
+ assertTokens(["by"]);
+ }
+
+ void test_insert_beforeIdentifier() {
+ scan("a + ", "", "x", "b;");
+ assertTokens(["xb"]);
+ }
+
+ void test_insert_beforeIdentifier_firstToken() {
+ scan("", "", "x", "a + b;");
+ assertTokens(["xa"]);
+ }
+
+ void test_insert_convertOneFunctionToTwo() {
+ scan("f()", "", " => 0; g()", " {}");
+ assertTokens(["=>", "0", ";", "g", "(", ")"]);
+ }
+
+ void test_insert_newIdentifier1() {
+ scan("a; ", "", "b", " c;");
+ assertTokens(["b"]);
+ }
+
+ void test_insert_newIdentifier2() {
+ scan("a;", "", "b", " c;");
+ assertTokens(["b"]);
+ assertReplaced(1, ";");
+ }
+
+ void test_insert_period() {
+ scan("a + b", "", ".", ";");
+ assertTokens(["."]);
+ }
+
+ void test_insert_period_betweenIdentifiers1() {
+ scan("a", "", ".", " b");
+ assertTokens(["."]);
+ }
+
+ void test_insert_period_betweenIdentifiers2() {
+ scan("a ", "", ".", "b;");
+ assertTokens(["."]);
+ }
+
+ void test_insert_period_betweenIdentifiers3() {
+ scan("a ", "", ".", " b;");
+ assertTokens(["."]);
+ }
+
+ void test_insert_period_insideExistingIdentifier() {
+ scan("a", "", ".", "b;");
+ assertTokens(["a", ".", "b"]);
+ }
+
+ void test_insert_periodAndIdentifier() {
+ scan("a + b", "", ".x", ";");
+ assertTokens([".", "x"]);
+ }
+
+ void test_insert_whitespace_beginning_beforeToken() {
+ scan("", "", " ", "a + b;");
+ assertTokens([]);
+ }
+
+ void test_insert_whitespace_betweenTokens() {
+ scan("a ", "", " ", "+ b;");
+ assertTokens([]);
+ }
+
+ void test_insert_whitespace_end_afterToken() {
+ scan("a + b;", "", " ", "");
+ assertTokens([]);
+ }
+
+ void test_insert_whitespace_end_afterWhitespace() {
+ scan("a + b; ", "", " ", "");
+ assertTokens([]);
+ }
+
+ void test_insert_whitespace_withMultipleComments() {
+ scan(EngineTestCase.createSource(["//comment", "//comment2", "a"]), "", " ", " + b;");
+ assertTokens([]);
+ }
+
+ void test_replace_identifier_beginning() {
+ scan("", "b", "f", "ell + b;");
+ assertTokens(["fell"]);
+ }
+
+ void test_replace_identifier_end() {
+ scan("bel", "l", "t", " + b;");
+ assertTokens(["belt"]);
+ }
+
+ void test_replace_identifier_middle() {
+ scan("f", "ir", "ro", "st + b;");
+ assertTokens(["frost"]);
+ }
+
+ void test_replace_operator_oneForMany() {
+ scan("a ", "+", "* c -", " b;");
+ assertTokens(["*", "c", "-"]);
+ }
+
+ void test_replace_operator_oneForOne() {
+ scan("a ", "+", "*", " b;");
+ assertTokens(["*"]);
+ }
+
void test_tokenMap() {
- IncrementalScanner scanner = assertTokens("main() {a + b;}", "main() { a + b;}");
- TokenMap tokenMap = scanner.tokenMap;
+ scan("main() {", "", " ", "a + b;}");
+ TokenMap tokenMap = _incrementalScanner.tokenMap;
Token oldToken = _originalTokens;
while (oldToken.type != TokenType.EOF) {
Token newToken = tokenMap.get(oldToken);
@@ -1784,19 +2027,53 @@ class IncrementalScannerTest extends EngineTestCase {
oldToken = oldToken.next;
}
}
- IncrementalScanner assertTokens(String originalContents, String modifiedContents) {
- int originalLength = originalContents.length;
- int modifiedLength = modifiedContents.length;
- int replaceStart = 0;
- while (replaceStart < originalLength && replaceStart < modifiedLength && originalContents.codeUnitAt(replaceStart) == modifiedContents.codeUnitAt(replaceStart)) {
- replaceStart++;
+
+ void assertReplaced(int tokenOffset, String lexeme) {
+ Token oldToken = _originalTokens;
+ for (int i = 0; i < tokenOffset; i++) {
+ oldToken = oldToken.next;
}
- int originalEnd = originalLength - 1;
- int modifiedEnd = modifiedLength - 1;
- while (originalEnd >= replaceStart && modifiedEnd >= replaceStart && originalContents.codeUnitAt(originalEnd) == modifiedContents.codeUnitAt(modifiedEnd)) {
- originalEnd--;
- modifiedEnd--;
+ JUnitTestCase.assertEquals(lexeme, oldToken.lexeme);
+ Token newToken = _incrementalScanner.tokenMap.get(oldToken);
+ JUnitTestCase.assertNotNull(newToken);
+ JUnitTestCase.assertEquals(lexeme, newToken.lexeme);
+ JUnitTestCase.assertNotSame(oldToken, newToken);
+ }
+
+ void assertTokens(List<String> lexemes) {
+ Token first = _incrementalScanner.firstToken;
+ Token last = _incrementalScanner.lastToken;
+ int count = lexemes.length;
+ if (count == 0) {
+ JUnitTestCase.assertNull(first);
+ JUnitTestCase.assertNull(last);
+ } else if (count == 1) {
+ JUnitTestCase.assertNotNull(first);
+ JUnitTestCase.assertEquals(lexemes[0], first.lexeme);
+ JUnitTestCase.assertSame(first, last);
+ } else {
+ for (String lexeme in lexemes) {
+ JUnitTestCase.assertNotNull(first);
+ JUnitTestCase.assertEquals(lexeme, first.lexeme);
+ first = first.next;
+ }
+ JUnitTestCase.assertSame(last.next, first);
}
+ }
+
+ /**
+ * Given a description of the original and modified contents, perform an incremental scan of the
+ * two pieces of text.
+ *
+ * @param prefix the unchanged text before the edit region
+ * @param removed the text that was removed from the original contents
+ * @param added the text that was added to the modified contents
+ * @param suffix the unchanged text after the edit region
+ */
+ void scan(String prefix, String removed, String added, String suffix) {
+ String originalContents = "${prefix}${removed}${suffix}";
+ String modifiedContents = "${prefix}${added}${suffix}";
+ int replaceStart = prefix.length;
Source source = new TestSource();
GatheringErrorListener originalListener = new GatheringErrorListener();
Scanner originalScanner = new Scanner(source, new CharSequenceReader(new CharSequence(originalContents)), originalListener);
@@ -1807,8 +2084,8 @@ class IncrementalScannerTest extends EngineTestCase {
Token modifiedTokens = modifiedScanner.tokenize();
JUnitTestCase.assertNotNull(modifiedTokens);
GatheringErrorListener incrementalListener = new GatheringErrorListener();
- IncrementalScanner incrementalScanner = new IncrementalScanner(source, new CharSequenceReader(new CharSequence(modifiedContents)), incrementalListener);
- Token incrementalTokens = incrementalScanner.rescan(_originalTokens, replaceStart, originalEnd - replaceStart + 1, modifiedEnd - replaceStart + 1);
+ _incrementalScanner = new IncrementalScanner(source, new CharSequenceReader(new CharSequence(modifiedContents)), incrementalListener);
+ Token incrementalTokens = _incrementalScanner.rescan(_originalTokens, replaceStart, removed.length, added.length);
Token incrementalToken = incrementalTokens;
JUnitTestCase.assertNotNull(incrementalToken);
while (incrementalToken.type != TokenType.EOF && modifiedTokens.type != TokenType.EOF) {
@@ -1821,81 +2098,109 @@ class IncrementalScannerTest extends EngineTestCase {
}
JUnitTestCase.assertSameMsg("Too many tokens", TokenType.EOF, incrementalToken.type);
JUnitTestCase.assertSameMsg("Not enough tokens", TokenType.EOF, modifiedTokens.type);
- return incrementalScanner;
}
+
static dartSuite() {
_ut.group('IncrementalScannerTest', () {
- _ut.test('test_rescan_addedBeforeIdentifier1', () {
+ _ut.test('test_delete_identifier_end', () {
final __test = new IncrementalScannerTest();
- runJUnitTest(__test, __test.test_rescan_addedBeforeIdentifier1);
+ runJUnitTest(__test, __test.test_delete_identifier_end);
});
- _ut.test('test_rescan_addedBeforeIdentifier2', () {
+ _ut.test('test_delete_identifier_middle', () {
final __test = new IncrementalScannerTest();
- runJUnitTest(__test, __test.test_rescan_addedBeforeIdentifier2);
+ runJUnitTest(__test, __test.test_delete_identifier_middle);
});
- _ut.test('test_rescan_addedNewIdentifier1', () {
+ _ut.test('test_insert_afterIdentifier1', () {
final __test = new IncrementalScannerTest();
- runJUnitTest(__test, __test.test_rescan_addedNewIdentifier1);
+ runJUnitTest(__test, __test.test_insert_afterIdentifier1);
});
- _ut.test('test_rescan_addedNewIdentifier2', () {
+ _ut.test('test_insert_afterIdentifier2', () {
final __test = new IncrementalScannerTest();
- runJUnitTest(__test, __test.test_rescan_addedNewIdentifier2);
+ runJUnitTest(__test, __test.test_insert_afterIdentifier2);
});
- _ut.test('test_rescan_addedToIdentifier1', () {
+ _ut.test('test_insert_beforeIdentifier', () {
final __test = new IncrementalScannerTest();
- runJUnitTest(__test, __test.test_rescan_addedToIdentifier1);
+ runJUnitTest(__test, __test.test_insert_beforeIdentifier);
});
- _ut.test('test_rescan_addedToIdentifier2', () {
+ _ut.test('test_insert_beforeIdentifier_firstToken', () {
final __test = new IncrementalScannerTest();
- runJUnitTest(__test, __test.test_rescan_addedToIdentifier2);
+ runJUnitTest(__test, __test.test_insert_beforeIdentifier_firstToken);
});
- _ut.test('test_rescan_appendWhitespace1', () {
+ _ut.test('test_insert_convertOneFunctionToTwo', () {
final __test = new IncrementalScannerTest();
- runJUnitTest(__test, __test.test_rescan_appendWhitespace1);
+ runJUnitTest(__test, __test.test_insert_convertOneFunctionToTwo);
});
- _ut.test('test_rescan_appendWhitespace2', () {
+ _ut.test('test_insert_newIdentifier1', () {
final __test = new IncrementalScannerTest();
- runJUnitTest(__test, __test.test_rescan_appendWhitespace2);
+ runJUnitTest(__test, __test.test_insert_newIdentifier1);
});
- _ut.test('test_rescan_insertLeadingWhitespace', () {
+ _ut.test('test_insert_newIdentifier2', () {
final __test = new IncrementalScannerTest();
- runJUnitTest(__test, __test.test_rescan_insertLeadingWhitespace);
+ runJUnitTest(__test, __test.test_insert_newIdentifier2);
});
- _ut.test('test_rescan_insertWhitespace', () {
+ _ut.test('test_insert_period', () {
final __test = new IncrementalScannerTest();
- runJUnitTest(__test, __test.test_rescan_insertWhitespace);
+ runJUnitTest(__test, __test.test_insert_period);
});
- _ut.test('test_rescan_insertWhitespaceWithMultipleComments', () {
+ _ut.test('test_insert_periodAndIdentifier', () {
final __test = new IncrementalScannerTest();
- runJUnitTest(__test, __test.test_rescan_insertWhitespaceWithMultipleComments);
+ runJUnitTest(__test, __test.test_insert_periodAndIdentifier);
});
- _ut.test('test_rescan_insertedPeriod', () {
+ _ut.test('test_insert_period_betweenIdentifiers1', () {
final __test = new IncrementalScannerTest();
- runJUnitTest(__test, __test.test_rescan_insertedPeriod);
+ runJUnitTest(__test, __test.test_insert_period_betweenIdentifiers1);
});
- _ut.test('test_rescan_insertedPeriodBetweenIdentifiers1', () {
+ _ut.test('test_insert_period_betweenIdentifiers2', () {
final __test = new IncrementalScannerTest();
- runJUnitTest(__test, __test.test_rescan_insertedPeriodBetweenIdentifiers1);
+ runJUnitTest(__test, __test.test_insert_period_betweenIdentifiers2);
});
- _ut.test('test_rescan_insertedPeriodBetweenIdentifiers2', () {
+ _ut.test('test_insert_period_betweenIdentifiers3', () {
final __test = new IncrementalScannerTest();
- runJUnitTest(__test, __test.test_rescan_insertedPeriodBetweenIdentifiers2);
+ runJUnitTest(__test, __test.test_insert_period_betweenIdentifiers3);
});
- _ut.test('test_rescan_insertedPeriodBetweenIdentifiers3', () {
+ _ut.test('test_insert_period_insideExistingIdentifier', () {
final __test = new IncrementalScannerTest();
- runJUnitTest(__test, __test.test_rescan_insertedPeriodBetweenIdentifiers3);
+ runJUnitTest(__test, __test.test_insert_period_insideExistingIdentifier);
});
- _ut.test('test_rescan_insertedPeriodIdentifier', () {
+ _ut.test('test_insert_whitespace_beginning_beforeToken', () {
final __test = new IncrementalScannerTest();
- runJUnitTest(__test, __test.test_rescan_insertedPeriodIdentifier);
+ runJUnitTest(__test, __test.test_insert_whitespace_beginning_beforeToken);
});
- _ut.test('test_rescan_insertedPeriodInsideExistingIdentifier', () {
+ _ut.test('test_insert_whitespace_betweenTokens', () {
final __test = new IncrementalScannerTest();
- runJUnitTest(__test, __test.test_rescan_insertedPeriodInsideExistingIdentifier);
+ runJUnitTest(__test, __test.test_insert_whitespace_betweenTokens);
});
- _ut.test('test_rescan_oneFunctionToTwo', () {
+ _ut.test('test_insert_whitespace_end_afterToken', () {
final __test = new IncrementalScannerTest();
- runJUnitTest(__test, __test.test_rescan_oneFunctionToTwo);
+ runJUnitTest(__test, __test.test_insert_whitespace_end_afterToken);
+ });
+ _ut.test('test_insert_whitespace_end_afterWhitespace', () {
+ final __test = new IncrementalScannerTest();
+ runJUnitTest(__test, __test.test_insert_whitespace_end_afterWhitespace);
+ });
+ _ut.test('test_insert_whitespace_withMultipleComments', () {
+ final __test = new IncrementalScannerTest();
+ runJUnitTest(__test, __test.test_insert_whitespace_withMultipleComments);
+ });
+ _ut.test('test_replace_identifier_beginning', () {
+ final __test = new IncrementalScannerTest();
+ runJUnitTest(__test, __test.test_replace_identifier_beginning);
+ });
+ _ut.test('test_replace_identifier_end', () {
+ final __test = new IncrementalScannerTest();
+ runJUnitTest(__test, __test.test_replace_identifier_end);
+ });
+ _ut.test('test_replace_identifier_middle', () {
+ final __test = new IncrementalScannerTest();
+ runJUnitTest(__test, __test.test_replace_identifier_middle);
+ });
+ _ut.test('test_replace_operator_oneForMany', () {
+ final __test = new IncrementalScannerTest();
+ runJUnitTest(__test, __test.test_replace_operator_oneForMany);
+ });
+ _ut.test('test_replace_operator_oneForOne', () {
+ final __test = new IncrementalScannerTest();
+ runJUnitTest(__test, __test.test_replace_operator_oneForOne);
});
_ut.test('test_tokenMap', () {
final __test = new IncrementalScannerTest();
@@ -1904,6 +2209,7 @@ class IncrementalScannerTest extends EngineTestCase {
});
}
}
+
main() {
CharSequenceReaderTest.dartSuite();
IncrementalScannerTest.dartSuite();
« no previous file with comments | « pkg/analyzer/test/generated/resolver_test.dart ('k') | pkg/analyzer/test/generated/test_support.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698