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

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

Issue 2199323002: Initial implementation for lazy compound assignment operators (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 4 months 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
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 071231ecf9ddfe70c2c5c5fa8056db0add9849a7..cb75945dca68c22329aaea1e613bd20315dac8b4 100644
--- a/pkg/analyzer/test/generated/scanner_test.dart
+++ b/pkg/analyzer/test/generated/scanner_test.dart
@@ -192,6 +192,11 @@ class ScannerTest {
_assertToken(TokenType.AMPERSAND_AMPERSAND, "&&");
}
+ void test_ampersand_ampersand_eq() {
+ _assertToken(TokenType.AMPERSAND_AMPERSAND_EQ, "&&=",
+ lazyAssignmentOperators: true);
+ }
+
void test_ampersand_eq() {
_assertToken(TokenType.AMPERSAND_EQ, "&=");
}
@@ -224,6 +229,10 @@ class ScannerTest {
_assertToken(TokenType.BAR_BAR, "||");
}
+ void test_bar_bar_eq() {
+ _assertToken(TokenType.BAR_BAR_EQ, "||=", lazyAssignmentOperators: true);
+ }
+
void test_bar_eq() {
_assertToken(TokenType.BAR_EQ, "|=");
}
@@ -1177,8 +1186,10 @@ class ScannerTest {
* Assert that the token scanned from the given [source] has the
* [expectedType].
*/
- Token _assertToken(TokenType expectedType, String source) {
- Token originalToken = _scan(source);
+ Token _assertToken(TokenType expectedType, String source,
+ {bool lazyAssignmentOperators: false}) {
+ Token originalToken =
+ _scan(source, lazyAssignmentOperators: lazyAssignmentOperators);
expect(originalToken, isNotNull);
expect(originalToken.type, expectedType);
expect(originalToken.offset, 0);
@@ -1190,7 +1201,8 @@ class ScannerTest {
return originalToken;
} else if (expectedType == TokenType.SINGLE_LINE_COMMENT) {
// Adding space to an end-of-line comment changes the comment.
- Token tokenWithSpaces = _scan(" $source");
+ Token tokenWithSpaces =
+ _scan(" $source", lazyAssignmentOperators: lazyAssignmentOperators);
expect(tokenWithSpaces, isNotNull);
expect(tokenWithSpaces.type, expectedType);
expect(tokenWithSpaces.offset, 1);
@@ -1199,20 +1211,23 @@ class ScannerTest {
return originalToken;
} else if (expectedType == TokenType.INT ||
expectedType == TokenType.DOUBLE) {
- Token tokenWithLowerD = _scan("${source}d");
+ Token tokenWithLowerD =
+ _scan("${source}d", lazyAssignmentOperators: lazyAssignmentOperators);
expect(tokenWithLowerD, isNotNull);
expect(tokenWithLowerD.type, expectedType);
expect(tokenWithLowerD.offset, 0);
expect(tokenWithLowerD.length, source.length);
expect(tokenWithLowerD.lexeme, source);
- Token tokenWithUpperD = _scan("${source}D");
+ Token tokenWithUpperD =
+ _scan("${source}D", lazyAssignmentOperators: lazyAssignmentOperators);
expect(tokenWithUpperD, isNotNull);
expect(tokenWithUpperD.type, expectedType);
expect(tokenWithUpperD.offset, 0);
expect(tokenWithUpperD.length, source.length);
expect(tokenWithUpperD.lexeme, source);
}
- Token tokenWithSpaces = _scan(" $source ");
+ Token tokenWithSpaces =
+ _scan(" $source ", lazyAssignmentOperators: lazyAssignmentOperators);
expect(tokenWithSpaces, isNotNull);
expect(tokenWithSpaces.type, expectedType);
expect(tokenWithSpaces.offset, 1);
@@ -1249,21 +1264,24 @@ class ScannerTest {
expect(token.type, TokenType.EOF);
}
- Token _scan(String source, {bool genericMethodComments: false}) {
+ Token _scan(String source,
+ {bool genericMethodComments: false,
+ bool lazyAssignmentOperators: false}) {
GatheringErrorListener listener = new GatheringErrorListener();
Token token = _scanWithListener(source, listener,
- genericMethodComments: genericMethodComments);
+ genericMethodComments: genericMethodComments,
+ lazyAssignmentOperators: lazyAssignmentOperators);
listener.assertNoErrors();
return token;
}
Token _scanWithListener(String source, GatheringErrorListener listener,
- {bool genericMethodComments: false}) {
+ {bool genericMethodComments: false,
+ bool lazyAssignmentOperators: false}) {
Scanner scanner =
new Scanner(null, new CharSequenceReader(source), listener);
- if (genericMethodComments) {
- scanner.scanGenericMethodComments = true;
- }
+ scanner.scanGenericMethodComments = genericMethodComments;
+ scanner.scanLazyAssignmentOperators = lazyAssignmentOperators;
Token result = scanner.tokenize();
listener.setLineInfo(new TestSource(), scanner.lineStarts);
return result;

Powered by Google App Engine
This is Rietveld 408576698