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 19e2a0275cb85a97d4c20255a23ad07421f77f4b..b65bd51e7b1f031a1ecc97cb3b7dcec511f17a4c 100644 |
--- a/pkg/analyzer/test/generated/scanner_test.dart |
+++ b/pkg/analyzer/test/generated/scanner_test.dart |
@@ -20,105 +20,105 @@ main() { |
runReflectiveTests(TokenTypeTest); |
} |
-@reflectiveTest |
-class CharSequenceReaderTest { |
+class CharacterRangeReaderTest extends EngineTestCase { |
void test_advance() { |
- CharSequenceReader reader = new CharSequenceReader("x"); |
- expect(reader.advance(), 0x78); |
+ CharSequenceReader baseReader = new CharSequenceReader("xyzzy"); |
+ CharacterRangeReader reader = new CharacterRangeReader(baseReader, 1, 4); |
+ expect(reader.advance(), 0x79); |
+ expect(reader.advance(), 0x80); |
+ expect(reader.advance(), 0x80); |
expect(reader.advance(), -1); |
expect(reader.advance(), -1); |
} |
void test_creation() { |
- expect(new CharSequenceReader("x"), isNotNull); |
+ CharSequenceReader baseReader = new CharSequenceReader("xyzzy"); |
+ CharacterRangeReader reader = new CharacterRangeReader(baseReader, 1, 4); |
+ expect(reader, isNotNull); |
} |
void test_getOffset() { |
- CharSequenceReader reader = new CharSequenceReader("x"); |
- expect(reader.offset, -1); |
+ CharSequenceReader baseReader = new CharSequenceReader("xyzzy"); |
+ CharacterRangeReader reader = new CharacterRangeReader(baseReader, 1, 2); |
+ expect(reader.offset, 1); |
reader.advance(); |
- expect(reader.offset, 0); |
+ expect(reader.offset, 2); |
reader.advance(); |
- expect(reader.offset, 0); |
+ expect(reader.offset, 2); |
} |
void test_getString() { |
- CharSequenceReader reader = new CharSequenceReader("xyzzy"); |
- reader.offset = 3; |
- expect(reader.getString(1, 0), "yzz"); |
- expect(reader.getString(2, 1), "zzy"); |
+ CharSequenceReader baseReader = new CharSequenceReader("__xyzzy__"); |
+ CharacterRangeReader reader = new CharacterRangeReader(baseReader, 2, 7); |
+ reader.offset = 5; |
+ expect(reader.getString(3, 0), "yzz"); |
+ expect(reader.getString(4, 1), "zzy"); |
} |
void test_peek() { |
- CharSequenceReader reader = new CharSequenceReader("xy"); |
- expect(reader.peek(), 0x78); |
- expect(reader.peek(), 0x78); |
- reader.advance(); |
+ CharSequenceReader baseReader = new CharSequenceReader("xyzzy"); |
+ CharacterRangeReader reader = new CharacterRangeReader(baseReader, 1, 3); |
expect(reader.peek(), 0x79); |
expect(reader.peek(), 0x79); |
reader.advance(); |
+ expect(reader.peek(), 0x80); |
+ expect(reader.peek(), 0x80); |
+ reader.advance(); |
expect(reader.peek(), -1); |
expect(reader.peek(), -1); |
} |
void test_setOffset() { |
- CharSequenceReader reader = new CharSequenceReader("xyz"); |
+ CharSequenceReader baseReader = new CharSequenceReader("xyzzy"); |
+ CharacterRangeReader reader = new CharacterRangeReader(baseReader, 1, 4); |
reader.offset = 2; |
expect(reader.offset, 2); |
} |
} |
-class CharacterRangeReaderTest extends EngineTestCase { |
+@reflectiveTest |
+class CharSequenceReaderTest { |
void test_advance() { |
- CharSequenceReader baseReader = new CharSequenceReader("xyzzy"); |
- CharacterRangeReader reader = new CharacterRangeReader(baseReader, 1, 4); |
- expect(reader.advance(), 0x79); |
- expect(reader.advance(), 0x80); |
- expect(reader.advance(), 0x80); |
+ CharSequenceReader reader = new CharSequenceReader("x"); |
+ expect(reader.advance(), 0x78); |
expect(reader.advance(), -1); |
expect(reader.advance(), -1); |
} |
void test_creation() { |
- CharSequenceReader baseReader = new CharSequenceReader("xyzzy"); |
- CharacterRangeReader reader = new CharacterRangeReader(baseReader, 1, 4); |
- expect(reader, isNotNull); |
+ expect(new CharSequenceReader("x"), isNotNull); |
} |
void test_getOffset() { |
- CharSequenceReader baseReader = new CharSequenceReader("xyzzy"); |
- CharacterRangeReader reader = new CharacterRangeReader(baseReader, 1, 2); |
- expect(reader.offset, 1); |
+ CharSequenceReader reader = new CharSequenceReader("x"); |
+ expect(reader.offset, -1); |
reader.advance(); |
- expect(reader.offset, 2); |
+ expect(reader.offset, 0); |
reader.advance(); |
- expect(reader.offset, 2); |
+ expect(reader.offset, 0); |
} |
void test_getString() { |
- CharSequenceReader baseReader = new CharSequenceReader("__xyzzy__"); |
- CharacterRangeReader reader = new CharacterRangeReader(baseReader, 2, 7); |
- reader.offset = 5; |
- expect(reader.getString(3, 0), "yzz"); |
- expect(reader.getString(4, 1), "zzy"); |
+ CharSequenceReader reader = new CharSequenceReader("xyzzy"); |
+ reader.offset = 3; |
+ expect(reader.getString(1, 0), "yzz"); |
+ expect(reader.getString(2, 1), "zzy"); |
} |
void test_peek() { |
- CharSequenceReader baseReader = new CharSequenceReader("xyzzy"); |
- CharacterRangeReader reader = new CharacterRangeReader(baseReader, 1, 3); |
+ CharSequenceReader reader = new CharSequenceReader("xy"); |
+ expect(reader.peek(), 0x78); |
+ expect(reader.peek(), 0x78); |
+ reader.advance(); |
expect(reader.peek(), 0x79); |
expect(reader.peek(), 0x79); |
reader.advance(); |
- expect(reader.peek(), 0x80); |
- expect(reader.peek(), 0x80); |
- reader.advance(); |
expect(reader.peek(), -1); |
expect(reader.peek(), -1); |
} |
void test_setOffset() { |
- CharSequenceReader baseReader = new CharSequenceReader("xyzzy"); |
- CharacterRangeReader reader = new CharacterRangeReader(baseReader, 1, 4); |
+ CharSequenceReader reader = new CharSequenceReader("xyz"); |
reader.offset = 2; |
expect(reader.offset, 2); |
} |
@@ -593,6 +593,15 @@ class ScannerTest { |
]); |
} |
+ void test_lineInfo_multilineString_raw() { |
+ String source = "var a = r'''\nblah\n''';\n\nfoo"; |
+ _assertLineInfo(source, [ |
+ new ScannerTest_ExpectedLocation(0, 1, 1), |
+ new ScannerTest_ExpectedLocation(14, 2, 2), |
+ new ScannerTest_ExpectedLocation(source.length - 2, 5, 2) |
+ ]); |
+ } |
+ |
void test_lineInfo_simpleClass() { |
String source = |
"class Test {\r\n String s = '...';\r\n int get x => s.MISSING_GETTER;\r\n}"; |
@@ -639,10 +648,6 @@ class ScannerTest { |
_assertToken(TokenType.MINUS_MINUS, "--"); |
} |
- void test_openSquareBracket() { |
- _assertToken(TokenType.OPEN_SQUARE_BRACKET, "["); |
- } |
- |
void test_open_curly_bracket() { |
_assertToken(TokenType.OPEN_CURLY_BRACKET, "{"); |
} |
@@ -655,6 +660,10 @@ class ScannerTest { |
_assertToken(TokenType.OPEN_SQUARE_BRACKET, "["); |
} |
+ void test_openSquareBracket() { |
+ _assertToken(TokenType.OPEN_SQUARE_BRACKET, "["); |
+ } |
+ |
void test_percent() { |
_assertToken(TokenType.PERCENT, "%"); |
} |
@@ -667,6 +676,14 @@ class ScannerTest { |
_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), |
@@ -687,14 +704,6 @@ class ScannerTest { |
]); |
} |
- void test_period_period() { |
- _assertToken(TokenType.PERIOD_PERIOD, ".."); |
- } |
- |
- void test_period_period_period() { |
- _assertToken(TokenType.PERIOD_PERIOD_PERIOD, "..."); |
- } |
- |
void test_plus() { |
_assertToken(TokenType.PLUS, "+"); |
} |
@@ -715,14 +724,14 @@ class ScannerTest { |
_assertToken(TokenType.SCRIPT_TAG, "#!/bin/dart -debug"); |
} |
- void test_scriptTag_withSpace() { |
- _assertToken(TokenType.SCRIPT_TAG, "#! /bin/dart"); |
- } |
- |
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, ";"); |
} |
@@ -840,8 +849,8 @@ class ScannerTest { |
void test_string_raw_multi_unterminated() { |
String source = "r'''string"; |
- _assertErrorAndTokens(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, |
- 9, source, [new StringToken(TokenType.STRING, source, 0)]); |
+ _assertErrorAndTokens(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, 9, |
+ source, [new StringToken(TokenType.STRING, source, 0)]); |
} |
void test_string_raw_simple_double() { |
@@ -854,14 +863,14 @@ class ScannerTest { |
void test_string_raw_simple_unterminated_eof() { |
String source = "r'string"; |
- _assertErrorAndTokens(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, |
- 7, source, [new StringToken(TokenType.STRING, source, 0)]); |
+ _assertErrorAndTokens(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, 7, |
+ source, [new StringToken(TokenType.STRING, source, 0)]); |
} |
void test_string_raw_simple_unterminated_eol() { |
String source = "r'string"; |
- _assertErrorAndTokens(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, |
- 8, "$source\n", [new StringToken(TokenType.STRING, source, 0)]); |
+ _assertErrorAndTokens(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, 8, |
+ "$source\n", [new StringToken(TokenType.STRING, source, 0)]); |
} |
void test_string_simple_double() { |
@@ -957,14 +966,14 @@ class ScannerTest { |
void test_string_simple_unterminated_eof() { |
String source = "'string"; |
- _assertErrorAndTokens(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, |
- 6, source, [new StringToken(TokenType.STRING, source, 0)]); |
+ _assertErrorAndTokens(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, 6, |
+ source, [new StringToken(TokenType.STRING, source, 0)]); |
} |
void test_string_simple_unterminated_eol() { |
String source = "'string"; |
- _assertErrorAndTokens(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, |
- 7, "$source\r", [new StringToken(TokenType.STRING, source, 0)]); |
+ _assertErrorAndTokens(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, 7, |
+ "$source\r", [new StringToken(TokenType.STRING, source, 0)]); |
} |
void test_string_simple_unterminated_interpolation_block() { |
@@ -1044,9 +1053,8 @@ class ScannerTest { |
GatheringErrorListener listener = new GatheringErrorListener(); |
_scanWithListener(source, listener); |
listener.assertErrors([ |
- new AnalysisError.con2(null, expectedOffset, 1, expectedError, [ |
- source.codeUnitAt(expectedOffset) |
- ]) |
+ new AnalysisError.con2(null, expectedOffset, 1, expectedError, |
+ [source.codeUnitAt(expectedOffset)]) |
]); |
} |
@@ -1064,9 +1072,8 @@ class ScannerTest { |
GatheringErrorListener listener = new GatheringErrorListener(); |
Token token = _scanWithListener(source, listener); |
listener.assertErrors([ |
- new AnalysisError.con2(null, expectedOffset, 1, expectedError, [ |
- source.codeUnitAt(expectedOffset) |
- ]) |
+ new AnalysisError.con2(null, expectedOffset, 1, expectedError, |
+ [source.codeUnitAt(expectedOffset)]) |
]); |
_checkTokens(token, expectedTokens); |
} |
@@ -1104,10 +1111,14 @@ class ScannerTest { |
listener.assertNoErrors(); |
LineInfo info = listener.getLineInfo(new TestSource()); |
expect(info, isNotNull); |
- for (ScannerTest_ExpectedLocation expectedLocation in expectedLocations) { |
+ int count = expectedLocations.length; |
+ for (int i = 0; i < count; i++) { |
+ ScannerTest_ExpectedLocation expectedLocation = expectedLocations[i]; |
LineInfo_Location location = info.getLocation(expectedLocation._offset); |
- expect(location.lineNumber, expectedLocation._lineNumber); |
- expect(location.columnNumber, expectedLocation._columnNumber); |
+ expect(location.lineNumber, expectedLocation._lineNumber, |
+ reason: 'Line number in location $i'); |
+ expect(location.columnNumber, expectedLocation._columnNumber, |
+ reason: 'Column number in location $i'); |
} |
} |