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

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

Issue 259773005: New analyzer snapshot. Sorted unit members. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 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
« no previous file with comments | « pkg/analyzer/test/generated/java_core_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 f36bf4b9c2709158a664b962cb2dcc5e2e7e3c8a..575fcaca466f1768eb164dedff6918f2b3240d08 100644
--- a/pkg/analyzer/test/generated/scanner_test.dart
+++ b/pkg/analyzer/test/generated/scanner_test.dart
@@ -16,70 +16,6 @@ import 'package:analyzer/src/generated/utilities_collection.dart' show TokenMap;
import 'package:unittest/unittest.dart' as _ut;
import 'test_support.dart';
-/**
- * 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.
- *
- * @param token the first token in the stream of tokens to be validated
- */
- void validate(Token token) {
- JavaStringBuilder builder = new JavaStringBuilder();
- _validateStream(builder, token);
- if (builder.length > 0) {
- JUnitTestCase.fail(builder.toString());
- }
- }
-
- void _validateStream(JavaStringBuilder 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 type = currentToken.type;
- if (type == TokenType.OPEN_CURLY_BRACKET || type == TokenType.OPEN_PAREN || type == TokenType.OPEN_SQUARE_BRACKET || type == TokenType.STRING_INTERPOLATION_EXPRESSION) {
- if (currentToken is! BeginToken) {
- builder.append("\r\nExpected BeginToken, found ");
- builder.append(currentToken.runtimeType.toString());
- builder.append(" ");
- _writeToken(builder, currentToken);
- }
- }
- int currentStart = currentToken.offset;
- int currentLength = currentToken.length;
- int currentEnd = currentStart + currentLength - 1;
- if (currentStart <= previousEnd) {
- builder.append("\r\nInvalid token sequence: ");
- _writeToken(builder, previousToken);
- builder.append(" followed by ");
- _writeToken(builder, currentToken);
- }
- previousEnd = currentEnd;
- previousToken = currentToken;
- currentToken = currentToken.next;
- }
- }
-
- void _writeToken(JavaStringBuilder builder, Token token) {
- builder.append("[");
- builder.append(token.type);
- builder.append(", '");
- builder.append(token.lexeme);
- builder.append("', ");
- builder.append(token.offset);
- builder.append(", ");
- builder.append(token.length);
- builder.append("]");
- }
-}
-
class CharSequenceReaderTest extends JUnitTestCase {
void test_advance() {
CharSequenceReader reader = new CharSequenceReader("x");
@@ -156,86 +92,6 @@ class CharSequenceReaderTest extends JUnitTestCase {
}
}
-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);
- });
- });
- }
-}
-
class IncrementalScannerTest extends EngineTestCase {
/**
* The first token from the token stream resulting from parsing the original source, or
@@ -757,6 +613,58 @@ class IncrementalScannerTest extends EngineTestCase {
}
}
+class KeywordStateTest extends JUnitTestCase {
+ void test_KeywordState() {
+ //
+ // Generate the test data to be scanned.
+ //
+ 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 syntax = keywords[i].syntax;
+ textToTest[i] = syntax;
+ textToTest[i + keywordCount] = "${syntax}x";
+ textToTest[i + keywordCount * 2] = syntax.substring(0, syntax.length - 1);
+ }
+ //
+ // Scan each of the identifiers.
+ //
+ KeywordState firstState = KeywordState.KEYWORD_STATE;
+ for (int i = 0; i < textToTest.length; i++) {
+ String text = textToTest[i];
+ int index = 0;
+ int length = text.length;
+ KeywordState state = firstState;
+ while (index < length && state != null) {
+ state = state.next(text.codeUnitAt(index));
+ index++;
+ }
+ if (i < keywordCount) {
+ // keyword
+ JUnitTestCase.assertNotNull(state);
+ JUnitTestCase.assertNotNull(state.keyword());
+ JUnitTestCase.assertEquals(keywords[i], state.keyword());
+ } else if (i < keywordCount * 2) {
+ // keyword + "x"
+ JUnitTestCase.assertNull(state);
+ } else {
+ // keyword.substring(0, keyword.length() - 1)
+ JUnitTestCase.assertNotNull(state);
+ }
+ }
+ }
+
+ static dartSuite() {
+ _ut.group('KeywordStateTest', () {
+ _ut.test('test_KeywordState', () {
+ final __test = new KeywordStateTest();
+ runJUnitTest(__test, __test.test_KeywordState);
+ });
+ });
+ }
+}
+
class ScannerTest extends JUnitTestCase {
void fail_incomplete_string_interpolation() {
// https://code.google.com/p/dart/issues/detail?id=18073
@@ -2382,58 +2290,6 @@ class ScannerTest_ExpectedLocation {
ScannerTest_ExpectedLocation(this._offset, this._lineNumber, this._columnNumber);
}
-class KeywordStateTest extends JUnitTestCase {
- void test_KeywordState() {
- //
- // Generate the test data to be scanned.
- //
- 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 syntax = keywords[i].syntax;
- textToTest[i] = syntax;
- textToTest[i + keywordCount] = "${syntax}x";
- textToTest[i + keywordCount * 2] = syntax.substring(0, syntax.length - 1);
- }
- //
- // Scan each of the identifiers.
- //
- KeywordState firstState = KeywordState.KEYWORD_STATE;
- for (int i = 0; i < textToTest.length; i++) {
- String text = textToTest[i];
- int index = 0;
- int length = text.length;
- KeywordState state = firstState;
- while (index < length && state != null) {
- state = state.next(text.codeUnitAt(index));
- index++;
- }
- if (i < keywordCount) {
- // keyword
- JUnitTestCase.assertNotNull(state);
- JUnitTestCase.assertNotNull(state.keyword());
- JUnitTestCase.assertEquals(keywords[i], state.keyword());
- } else if (i < keywordCount * 2) {
- // keyword + "x"
- JUnitTestCase.assertNull(state);
- } else {
- // keyword.substring(0, keyword.length() - 1)
- JUnitTestCase.assertNotNull(state);
- }
- }
- }
-
- static dartSuite() {
- _ut.group('KeywordStateTest', () {
- _ut.test('test_KeywordState', () {
- final __test = new KeywordStateTest();
- runJUnitTest(__test, __test.test_KeywordState);
- });
- });
- }
-}
-
/**
* The class `TokenFactory` defines utility methods that can be used to create tokens.
*/
@@ -2447,6 +2303,150 @@ class TokenFactory {
static Token tokenFromTypeAndString(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.
+ *
+ * @param token the first token in the stream of tokens to be validated
+ */
+ void validate(Token token) {
+ JavaStringBuilder builder = new JavaStringBuilder();
+ _validateStream(builder, token);
+ if (builder.length > 0) {
+ JUnitTestCase.fail(builder.toString());
+ }
+ }
+
+ void _validateStream(JavaStringBuilder 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 type = currentToken.type;
+ if (type == TokenType.OPEN_CURLY_BRACKET || type == TokenType.OPEN_PAREN || type == TokenType.OPEN_SQUARE_BRACKET || type == TokenType.STRING_INTERPOLATION_EXPRESSION) {
+ if (currentToken is! BeginToken) {
+ builder.append("\r\nExpected BeginToken, found ");
+ builder.append(currentToken.runtimeType.toString());
+ builder.append(" ");
+ _writeToken(builder, currentToken);
+ }
+ }
+ int currentStart = currentToken.offset;
+ int currentLength = currentToken.length;
+ int currentEnd = currentStart + currentLength - 1;
+ if (currentStart <= previousEnd) {
+ builder.append("\r\nInvalid token sequence: ");
+ _writeToken(builder, previousToken);
+ builder.append(" followed by ");
+ _writeToken(builder, currentToken);
+ }
+ previousEnd = currentEnd;
+ previousToken = currentToken;
+ currentToken = currentToken.next;
+ }
+ }
+
+ void _writeToken(JavaStringBuilder builder, Token token) {
+ builder.append("[");
+ builder.append(token.type);
+ builder.append(", '");
+ builder.append(token.lexeme);
+ builder.append("', ");
+ builder.append(token.offset);
+ builder.append(", ");
+ builder.append(token.length);
+ builder.append("]");
+ }
+}
+
+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);
+ });
+ });
+ }
+}
+
main() {
CharSequenceReaderTest.dartSuite();
IncrementalScannerTest.dartSuite();
« no previous file with comments | « pkg/analyzer/test/generated/java_core_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