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

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

Issue 12502002: Update analyzer-experimental. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 10 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-experimental/test/generated/scanner_test.dart
diff --git a/pkg/analyzer-experimental/test/generated/scanner_test.dart b/pkg/analyzer-experimental/test/generated/scanner_test.dart
index 8506de2f37953f720d6316a3a338f81ee86ac51e..d17888cc7503b91d53ad691e02068966a509af5d 100644
--- a/pkg/analyzer-experimental/test/generated/scanner_test.dart
+++ b/pkg/analyzer-experimental/test/generated/scanner_test.dart
@@ -13,6 +13,138 @@ import 'package:analyzer-experimental/src/generated/scanner.dart';
import 'package:unittest/unittest.dart' as _ut;
import 'test_support.dart';
+class KeywordStateTest extends JUnitTestCase {
+ void test_KeywordState() {
+ List<Keyword> keywords = Keyword.values;
+ int keywordCount = keywords.length;
+ List<String> textToTest = new List<String>(keywordCount * 3);
+ for (int i = 0; i < keywordCount; i++) {
+ String syntax3 = keywords[i].syntax;
+ textToTest[i] = syntax3;
+ textToTest[i + keywordCount] = "${syntax3}x";
+ textToTest[i + keywordCount * 2] = syntax3.substring(0, syntax3.length - 1);
+ }
+ KeywordState firstState = KeywordState.KEYWORD_STATE;
+ for (int i = 0; i < textToTest.length; i++) {
+ String text = textToTest[i];
+ int index = 0;
+ int length10 = text.length;
+ KeywordState state = firstState;
+ while (index < length10 && state != null) {
+ state = state.next(text.codeUnitAt(index));
+ index++;
+ }
+ if (i < keywordCount) {
+ JUnitTestCase.assertNotNull(state);
+ JUnitTestCase.assertNotNull(state.keyword());
+ JUnitTestCase.assertEquals(keywords[i], state.keyword());
+ } else if (i < keywordCount * 2) {
+ JUnitTestCase.assertNull(state);
+ } else {
+ JUnitTestCase.assertNotNull(state);
+ }
+ }
+ }
+ static dartSuite() {
+ _ut.group('KeywordStateTest', () {
+ _ut.test('test_KeywordState', () {
+ final __test = new KeywordStateTest();
+ runJUnitTest(__test, __test.test_KeywordState);
+ });
+ });
+ }
+}
+class TokenTypeTest extends EngineTestCase {
+ void test_isOperator() {
+ JUnitTestCase.assertTrue(TokenType.AMPERSAND.isOperator());
+ JUnitTestCase.assertTrue(TokenType.AMPERSAND_AMPERSAND.isOperator());
+ JUnitTestCase.assertTrue(TokenType.AMPERSAND_EQ.isOperator());
+ JUnitTestCase.assertTrue(TokenType.BANG.isOperator());
+ JUnitTestCase.assertTrue(TokenType.BANG_EQ.isOperator());
+ JUnitTestCase.assertTrue(TokenType.BAR.isOperator());
+ JUnitTestCase.assertTrue(TokenType.BAR_BAR.isOperator());
+ JUnitTestCase.assertTrue(TokenType.BAR_EQ.isOperator());
+ JUnitTestCase.assertTrue(TokenType.CARET.isOperator());
+ JUnitTestCase.assertTrue(TokenType.CARET_EQ.isOperator());
+ JUnitTestCase.assertTrue(TokenType.EQ.isOperator());
+ JUnitTestCase.assertTrue(TokenType.EQ_EQ.isOperator());
+ JUnitTestCase.assertTrue(TokenType.GT.isOperator());
+ JUnitTestCase.assertTrue(TokenType.GT_EQ.isOperator());
+ JUnitTestCase.assertTrue(TokenType.GT_GT.isOperator());
+ JUnitTestCase.assertTrue(TokenType.GT_GT_EQ.isOperator());
+ JUnitTestCase.assertTrue(TokenType.INDEX.isOperator());
+ JUnitTestCase.assertTrue(TokenType.INDEX_EQ.isOperator());
+ JUnitTestCase.assertTrue(TokenType.IS.isOperator());
+ JUnitTestCase.assertTrue(TokenType.LT.isOperator());
+ JUnitTestCase.assertTrue(TokenType.LT_EQ.isOperator());
+ JUnitTestCase.assertTrue(TokenType.LT_LT.isOperator());
+ JUnitTestCase.assertTrue(TokenType.LT_LT_EQ.isOperator());
+ JUnitTestCase.assertTrue(TokenType.MINUS.isOperator());
+ JUnitTestCase.assertTrue(TokenType.MINUS_EQ.isOperator());
+ JUnitTestCase.assertTrue(TokenType.MINUS_MINUS.isOperator());
+ JUnitTestCase.assertTrue(TokenType.PERCENT.isOperator());
+ JUnitTestCase.assertTrue(TokenType.PERCENT_EQ.isOperator());
+ JUnitTestCase.assertTrue(TokenType.PERIOD_PERIOD.isOperator());
+ JUnitTestCase.assertTrue(TokenType.PLUS.isOperator());
+ JUnitTestCase.assertTrue(TokenType.PLUS_EQ.isOperator());
+ JUnitTestCase.assertTrue(TokenType.PLUS_PLUS.isOperator());
+ JUnitTestCase.assertTrue(TokenType.QUESTION.isOperator());
+ JUnitTestCase.assertTrue(TokenType.SLASH.isOperator());
+ JUnitTestCase.assertTrue(TokenType.SLASH_EQ.isOperator());
+ JUnitTestCase.assertTrue(TokenType.STAR.isOperator());
+ JUnitTestCase.assertTrue(TokenType.STAR_EQ.isOperator());
+ JUnitTestCase.assertTrue(TokenType.TILDE.isOperator());
+ 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());
+ JUnitTestCase.assertTrue(TokenType.CARET.isUserDefinableOperator());
+ JUnitTestCase.assertTrue(TokenType.EQ_EQ.isUserDefinableOperator());
+ JUnitTestCase.assertTrue(TokenType.GT.isUserDefinableOperator());
+ JUnitTestCase.assertTrue(TokenType.GT_EQ.isUserDefinableOperator());
+ JUnitTestCase.assertTrue(TokenType.GT_GT.isUserDefinableOperator());
+ JUnitTestCase.assertTrue(TokenType.INDEX.isUserDefinableOperator());
+ JUnitTestCase.assertTrue(TokenType.INDEX_EQ.isUserDefinableOperator());
+ JUnitTestCase.assertTrue(TokenType.LT.isUserDefinableOperator());
+ JUnitTestCase.assertTrue(TokenType.LT_EQ.isUserDefinableOperator());
+ JUnitTestCase.assertTrue(TokenType.LT_LT.isUserDefinableOperator());
+ JUnitTestCase.assertTrue(TokenType.MINUS.isUserDefinableOperator());
+ JUnitTestCase.assertTrue(TokenType.PERCENT.isUserDefinableOperator());
+ JUnitTestCase.assertTrue(TokenType.PLUS.isUserDefinableOperator());
+ JUnitTestCase.assertTrue(TokenType.SLASH.isUserDefinableOperator());
+ JUnitTestCase.assertTrue(TokenType.STAR.isUserDefinableOperator());
+ JUnitTestCase.assertTrue(TokenType.TILDE.isUserDefinableOperator());
+ JUnitTestCase.assertTrue(TokenType.TILDE_SLASH.isUserDefinableOperator());
+ }
+ static dartSuite() {
+ _ut.group('TokenTypeTest', () {
+ _ut.test('test_isOperator', () {
+ final __test = new TokenTypeTest();
+ runJUnitTest(__test, __test.test_isOperator);
+ });
+ _ut.test('test_isUserDefinableOperator', () {
+ final __test = new TokenTypeTest();
+ runJUnitTest(__test, __test.test_isUserDefinableOperator);
+ });
+ });
+ }
+}
+/**
+ * The class {@code 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);
+ /**
+ * Prevent the creation of instances of this class.
+ */
+ TokenFactory() {
+ }
+}
class CharBufferScannerTest extends AbstractScannerTest {
Token scan(String source, GatheringErrorListener listener) {
CharBuffer buffer = CharBuffer.wrap(source);
@@ -642,198 +774,6 @@ class CharBufferScannerTest extends AbstractScannerTest {
});
}
}
-/**
- * Instances of the class {@code 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.
- * @param token the first token in the stream of tokens to be validated
- */
- void validate(Token token) {
- StringBuffer builder = new StringBuffer();
- validateStream(builder, token);
- if (builder.length > 0) {
- JUnitTestCase.fail(builder.toString());
- }
- }
- void validateStream(StringBuffer builder, Token token) {
- if (token == null) {
- return;
- }
- Token previousToken = null;
- int previousEnd = -1;
- Token currentToken = token;
- while (currentToken != null && currentToken.type != TokenType.EOF) {
- validateStream(builder, currentToken.precedingComments);
- TokenType type23 = currentToken.type;
- if (identical(type23, TokenType.OPEN_CURLY_BRACKET) || identical(type23, TokenType.OPEN_PAREN) || identical(type23, TokenType.OPEN_SQUARE_BRACKET) || identical(type23, TokenType.STRING_INTERPOLATION_EXPRESSION)) {
- if (currentToken is! BeginToken) {
- builder.add("\r\nExpected BeginToken, found ");
- builder.add(currentToken.runtimeType.toString());
- builder.add(" ");
- writeToken(builder, currentToken);
- }
- }
- int currentStart = currentToken.offset;
- int currentLength = currentToken.length;
- int currentEnd = currentStart + currentLength - 1;
- if (currentStart <= previousEnd) {
- builder.add("\r\nInvalid token sequence: ");
- writeToken(builder, previousToken);
- builder.add(" followed by ");
- writeToken(builder, currentToken);
- }
- previousEnd = currentEnd;
- previousToken = currentToken;
- currentToken = currentToken.next;
- }
- }
- void writeToken(StringBuffer builder, Token token) {
- builder.add("[");
- builder.add(token.type);
- builder.add(", '");
- builder.add(token.lexeme);
- builder.add("', ");
- builder.add(token.offset);
- builder.add(", ");
- builder.add(token.length);
- builder.add("]");
- }
-}
-class TokenTypeTest extends EngineTestCase {
- void test_isOperator() {
- JUnitTestCase.assertTrue(TokenType.AMPERSAND.isOperator());
- JUnitTestCase.assertTrue(TokenType.AMPERSAND_AMPERSAND.isOperator());
- JUnitTestCase.assertTrue(TokenType.AMPERSAND_EQ.isOperator());
- JUnitTestCase.assertTrue(TokenType.BANG.isOperator());
- JUnitTestCase.assertTrue(TokenType.BANG_EQ.isOperator());
- JUnitTestCase.assertTrue(TokenType.BAR.isOperator());
- JUnitTestCase.assertTrue(TokenType.BAR_BAR.isOperator());
- JUnitTestCase.assertTrue(TokenType.BAR_EQ.isOperator());
- JUnitTestCase.assertTrue(TokenType.CARET.isOperator());
- JUnitTestCase.assertTrue(TokenType.CARET_EQ.isOperator());
- JUnitTestCase.assertTrue(TokenType.EQ.isOperator());
- JUnitTestCase.assertTrue(TokenType.EQ_EQ.isOperator());
- JUnitTestCase.assertTrue(TokenType.GT.isOperator());
- JUnitTestCase.assertTrue(TokenType.GT_EQ.isOperator());
- JUnitTestCase.assertTrue(TokenType.GT_GT.isOperator());
- JUnitTestCase.assertTrue(TokenType.GT_GT_EQ.isOperator());
- JUnitTestCase.assertTrue(TokenType.INDEX.isOperator());
- JUnitTestCase.assertTrue(TokenType.INDEX_EQ.isOperator());
- JUnitTestCase.assertTrue(TokenType.IS.isOperator());
- JUnitTestCase.assertTrue(TokenType.LT.isOperator());
- JUnitTestCase.assertTrue(TokenType.LT_EQ.isOperator());
- JUnitTestCase.assertTrue(TokenType.LT_LT.isOperator());
- JUnitTestCase.assertTrue(TokenType.LT_LT_EQ.isOperator());
- JUnitTestCase.assertTrue(TokenType.MINUS.isOperator());
- JUnitTestCase.assertTrue(TokenType.MINUS_EQ.isOperator());
- JUnitTestCase.assertTrue(TokenType.MINUS_MINUS.isOperator());
- JUnitTestCase.assertTrue(TokenType.PERCENT.isOperator());
- JUnitTestCase.assertTrue(TokenType.PERCENT_EQ.isOperator());
- JUnitTestCase.assertTrue(TokenType.PERIOD_PERIOD.isOperator());
- JUnitTestCase.assertTrue(TokenType.PLUS.isOperator());
- JUnitTestCase.assertTrue(TokenType.PLUS_EQ.isOperator());
- JUnitTestCase.assertTrue(TokenType.PLUS_PLUS.isOperator());
- JUnitTestCase.assertTrue(TokenType.QUESTION.isOperator());
- JUnitTestCase.assertTrue(TokenType.SLASH.isOperator());
- JUnitTestCase.assertTrue(TokenType.SLASH_EQ.isOperator());
- JUnitTestCase.assertTrue(TokenType.STAR.isOperator());
- JUnitTestCase.assertTrue(TokenType.STAR_EQ.isOperator());
- JUnitTestCase.assertTrue(TokenType.TILDE.isOperator());
- 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());
- JUnitTestCase.assertTrue(TokenType.CARET.isUserDefinableOperator());
- JUnitTestCase.assertTrue(TokenType.EQ_EQ.isUserDefinableOperator());
- JUnitTestCase.assertTrue(TokenType.GT.isUserDefinableOperator());
- JUnitTestCase.assertTrue(TokenType.GT_EQ.isUserDefinableOperator());
- JUnitTestCase.assertTrue(TokenType.GT_GT.isUserDefinableOperator());
- JUnitTestCase.assertTrue(TokenType.INDEX.isUserDefinableOperator());
- JUnitTestCase.assertTrue(TokenType.INDEX_EQ.isUserDefinableOperator());
- JUnitTestCase.assertTrue(TokenType.LT.isUserDefinableOperator());
- JUnitTestCase.assertTrue(TokenType.LT_EQ.isUserDefinableOperator());
- JUnitTestCase.assertTrue(TokenType.LT_LT.isUserDefinableOperator());
- JUnitTestCase.assertTrue(TokenType.MINUS.isUserDefinableOperator());
- JUnitTestCase.assertTrue(TokenType.PERCENT.isUserDefinableOperator());
- JUnitTestCase.assertTrue(TokenType.PLUS.isUserDefinableOperator());
- JUnitTestCase.assertTrue(TokenType.SLASH.isUserDefinableOperator());
- JUnitTestCase.assertTrue(TokenType.STAR.isUserDefinableOperator());
- JUnitTestCase.assertTrue(TokenType.TILDE.isUserDefinableOperator());
- JUnitTestCase.assertTrue(TokenType.TILDE_SLASH.isUserDefinableOperator());
- }
- static dartSuite() {
- _ut.group('TokenTypeTest', () {
- _ut.test('test_isOperator', () {
- final __test = new TokenTypeTest();
- runJUnitTest(__test, __test.test_isOperator);
- });
- _ut.test('test_isUserDefinableOperator', () {
- final __test = new TokenTypeTest();
- runJUnitTest(__test, __test.test_isUserDefinableOperator);
- });
- });
- }
-}
-/**
- * The class {@code 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);
- /**
- * Prevent the creation of instances of this class.
- */
- TokenFactory() {
- }
-}
-class KeywordStateTest extends JUnitTestCase {
- void test_KeywordState() {
- List<Keyword> keywords = Keyword.values;
- int keywordCount = keywords.length;
- List<String> textToTest = new List<String>(keywordCount * 3);
- for (int i = 0; i < keywordCount; i++) {
- String syntax3 = keywords[i].syntax;
- textToTest[i] = syntax3;
- textToTest[i + keywordCount] = "${syntax3}x";
- textToTest[i + keywordCount * 2] = syntax3.substring(0, syntax3.length - 1);
- }
- KeywordState firstState = KeywordState.KEYWORD_STATE;
- for (int i = 0; i < textToTest.length; i++) {
- String text = textToTest[i];
- int index = 0;
- int length10 = text.length;
- KeywordState state = firstState;
- while (index < length10 && state != null) {
- state = state.next(text.codeUnitAt(index));
- index++;
- }
- if (i < keywordCount) {
- JUnitTestCase.assertNotNull(state);
- JUnitTestCase.assertNotNull(state.keyword());
- JUnitTestCase.assertEquals(keywords[i], state.keyword());
- } else if (i < keywordCount * 2) {
- JUnitTestCase.assertNull(state);
- } else {
- JUnitTestCase.assertNotNull(state);
- }
- }
- }
- static dartSuite() {
- _ut.group('KeywordStateTest', () {
- _ut.test('test_KeywordState', () {
- final __test = new KeywordStateTest();
- runJUnitTest(__test, __test.test_KeywordState);
- });
- });
- }
-}
class StringScannerTest extends AbstractScannerTest {
void test_setSourceStart() {
int offsetDelta = 42;
@@ -1477,6 +1417,66 @@ class StringScannerTest extends AbstractScannerTest {
});
}
}
+/**
+ * Instances of the class {@code 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.
+ * @param token the first token in the stream of tokens to be validated
+ */
+ void validate(Token token) {
+ StringBuffer builder = new StringBuffer();
+ validateStream(builder, token);
+ if (builder.length > 0) {
+ JUnitTestCase.fail(builder.toString());
+ }
+ }
+ void validateStream(StringBuffer builder, Token token) {
+ if (token == null) {
+ return;
+ }
+ Token previousToken = null;
+ int previousEnd = -1;
+ Token currentToken = token;
+ while (currentToken != null && currentToken.type != TokenType.EOF) {
+ validateStream(builder, currentToken.precedingComments);
+ TokenType type28 = currentToken.type;
+ if (identical(type28, TokenType.OPEN_CURLY_BRACKET) || identical(type28, TokenType.OPEN_PAREN) || identical(type28, TokenType.OPEN_SQUARE_BRACKET) || identical(type28, TokenType.STRING_INTERPOLATION_EXPRESSION)) {
+ if (currentToken is! BeginToken) {
+ builder.write("\r\nExpected BeginToken, found ");
+ builder.write(currentToken.runtimeType.toString());
+ builder.write(" ");
+ writeToken(builder, currentToken);
+ }
+ }
+ int currentStart = currentToken.offset;
+ int currentLength = currentToken.length;
+ int currentEnd = currentStart + currentLength - 1;
+ if (currentStart <= previousEnd) {
+ builder.write("\r\nInvalid token sequence: ");
+ writeToken(builder, previousToken);
+ builder.write(" followed by ");
+ writeToken(builder, currentToken);
+ }
+ previousEnd = currentEnd;
+ previousToken = currentToken;
+ currentToken = currentToken.next;
+ }
+ }
+ void writeToken(StringBuffer builder, Token token) {
+ builder.write("[");
+ builder.write(token.type);
+ builder.write(", '");
+ builder.write(token.lexeme);
+ builder.write("', ");
+ builder.write(token.offset);
+ builder.write(", ");
+ builder.write(token.length);
+ builder.write("]");
+ }
+}
abstract class AbstractScannerTest extends JUnitTestCase {
void test_ampersand() {
assertToken(TokenType.AMPERSAND, "&");
@@ -1864,9 +1864,9 @@ abstract class AbstractScannerTest extends JUnitTestCase {
}
void test_startAndEnd() {
Token token = scan2("a");
- Token previous3 = token.previous;
- JUnitTestCase.assertEquals(token, previous3.next);
- JUnitTestCase.assertEquals(previous3, previous3.previous);
+ Token previous5 = token.previous;
+ JUnitTestCase.assertEquals(token, previous5.next);
+ JUnitTestCase.assertEquals(previous5, previous5.previous);
Token next7 = token.next;
JUnitTestCase.assertEquals(next7, next7.next);
JUnitTestCase.assertEquals(token, next7.previous);
« no previous file with comments | « pkg/analyzer-experimental/test/generated/parser_test.dart ('k') | pkg/analyzer-experimental/test/generated/test_support.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698