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

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

Issue 3010043002: Characterize more test failures (Closed)
Patch Set: Created 3 years, 3 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/parser_fasta_test.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/test/generated/parser_test.dart
diff --git a/pkg/analyzer/test/generated/parser_test.dart b/pkg/analyzer/test/generated/parser_test.dart
index 316530fec45080d3bad9238b44f4897efdfdc351..72cfe3cea61fd605a93d5fe859e14a865cc46dad 100644
--- a/pkg/analyzer/test/generated/parser_test.dart
+++ b/pkg/analyzer/test/generated/parser_test.dart
@@ -2064,6 +2064,14 @@ void f() {
*/
@reflectiveTest
class ErrorParserTest extends ParserTestCase with ErrorParserTestMixin {
+ void test_missingIdentifier_number() {
+ createParser('1');
+ SimpleIdentifier expression = parser.parseSimpleIdentifier();
+ expectNotNullIfNoErrors(expression);
+ listener.assertErrorsWithCodes([ParserErrorCode.MISSING_IDENTIFIER]);
+ expect(expression.isSynthetic, isTrue);
+ }
+
void test_nullableTypeInExtends() {
enableNnbd = true;
createParser('extends B?');
@@ -2517,8 +2525,8 @@ abstract class ErrorParserTestMixin implements AbstractParserTestCase {
}
void test_duplicateLabelInSwitchStatement() {
- createParser('switch (e) {l1: case 0: break; l1: case 1: break;}');
- SwitchStatement statement = parser.parseSwitchStatement();
+ SwitchStatement statement =
+ parseStatement('switch (e) {l1: case 0: break; l1: case 1: break;}');
expectNotNullIfNoErrors(statement);
listener.assertErrorsWithCodes(
[ParserErrorCode.DUPLICATE_LABEL_IN_SWITCH_STATEMENT]);
@@ -2557,8 +2565,7 @@ class Foo {
}
void test_expectedCaseOrDefault() {
- createParser('switch (e) {break;}');
- SwitchStatement statement = parser.parseSwitchStatement();
+ SwitchStatement statement = parseStatement('switch (e) {break;}');
expectNotNullIfNoErrors(statement);
listener.assertErrorsWithCodes([ParserErrorCode.EXPECTED_CASE_OR_DEFAULT]);
}
@@ -2614,26 +2621,24 @@ class Foo {
}
void test_expectedInterpolationIdentifier() {
- createParser("'\$x\$'");
- StringLiteral literal = parser.parseStringLiteral();
- expectNotNullIfNoErrors(literal);
- listener.assertErrorsWithCodes([
+ StringLiteral literal = parseExpression("'\$x\$'", [
fe.Scanner.useFasta
? ScannerErrorCode.MISSING_IDENTIFIER
: ParserErrorCode.MISSING_IDENTIFIER
]);
+ expectNotNullIfNoErrors(literal);
}
void test_expectedInterpolationIdentifier_emptyString() {
// The scanner inserts an empty string token between the two $'s; we need to
// make sure that the MISSING_IDENTIFIER error that is generated has a
// nonzero width so that it will show up in the editor UI.
- createParser("'\$\$foo'");
- StringLiteral literal = parser.parseStringLiteral();
+ StringLiteral literal = parseExpression(
+ "'\$\$foo'",
+ fe.Scanner.useFasta
+ ? [ScannerErrorCode.MISSING_IDENTIFIER]
+ : [ParserErrorCode.MISSING_IDENTIFIER]);
expectNotNullIfNoErrors(literal);
- listener.assertErrors(fe.Scanner.useFasta
- ? [new AnalysisError(null, 2, 1, ScannerErrorCode.MISSING_IDENTIFIER)]
- : [new AnalysisError(null, 2, 1, ParserErrorCode.MISSING_IDENTIFIER)]);
}
@failingTest
@@ -2652,8 +2657,7 @@ class Foo {
}
void test_expectedStringLiteral() {
- createParser('1');
- StringLiteral literal = parser.parseStringLiteral();
+ StringLiteral literal = parseStringLiteral('1');
expectNotNullIfNoErrors(literal);
listener.assertErrorsWithCodes([ParserErrorCode.EXPECTED_STRING_LITERAL]);
expect(literal.isSynthetic, isTrue);
@@ -3103,25 +3107,22 @@ class Wrong<T> {
}
void test_initializedVariableInForEach() {
- createParser('for (int a = 0 in foo) {}');
- Statement statement = parser.parseForStatement();
+ Statement statement = parseStatement('for (int a = 0 in foo) {}');
expectNotNullIfNoErrors(statement);
listener.assertErrorsWithCodes(
[ParserErrorCode.INITIALIZED_VARIABLE_IN_FOR_EACH]);
}
void test_invalidAwaitInFor() {
- createParser('await for (; ;) {}');
- Statement statement = parser.parseForStatement();
+ Statement statement = parseStatement('await for (; ;) {}');
expectNotNullIfNoErrors(statement);
listener.assertErrorsWithCodes([ParserErrorCode.INVALID_AWAIT_IN_FOR]);
}
void test_invalidCodePoint() {
- createParser("'\\u{110000}'");
- StringLiteral literal = parser.parseStringLiteral();
+ StringLiteral literal =
+ parseExpression("'\\u{110000}'", [ParserErrorCode.INVALID_CODE_POINT]);
expectNotNullIfNoErrors(literal);
- listener.assertErrorsWithCodes([ParserErrorCode.INVALID_CODE_POINT]);
}
@failingTest
@@ -3166,28 +3167,24 @@ class Wrong<T> {
}
void test_invalidHexEscape_invalidDigit() {
- createParser("'\\x0 a'");
- StringLiteral literal = parser.parseStringLiteral();
+ StringLiteral literal =
+ parseExpression("'\\x0 a'", [ParserErrorCode.INVALID_HEX_ESCAPE]);
expectNotNullIfNoErrors(literal);
- listener.assertErrorsWithCodes([ParserErrorCode.INVALID_HEX_ESCAPE]);
}
void test_invalidHexEscape_tooFewDigits() {
- createParser("'\\x0'");
- StringLiteral literal = parser.parseStringLiteral();
+ StringLiteral literal =
+ parseExpression("'\\x0'", [ParserErrorCode.INVALID_HEX_ESCAPE]);
expectNotNullIfNoErrors(literal);
- listener.assertErrorsWithCodes([ParserErrorCode.INVALID_HEX_ESCAPE]);
}
void test_invalidInterpolationIdentifier_startWithDigit() {
- createParser("'\$1'");
- StringLiteral literal = parser.parseStringLiteral();
- expectNotNullIfNoErrors(literal);
- listener.assertErrorsWithCodes([
+ StringLiteral literal = parseExpression("'\$1'", [
fe.Scanner.useFasta
? ScannerErrorCode.MISSING_IDENTIFIER
: ParserErrorCode.MISSING_IDENTIFIER
]);
+ expectNotNullIfNoErrors(literal);
}
void test_invalidLiteralInConfiguration() {
@@ -3438,11 +3435,9 @@ class Wrong<T> {
}
void test_missingAssignableSelector_superPrimaryExpression() {
- createParser('super');
- Expression expression = parser.parsePrimaryExpression();
+ Expression expression =
+ parseExpression('super', [ParserErrorCode.MISSING_ASSIGNABLE_SELECTOR]);
expectNotNullIfNoErrors(expression);
- listener
- .assertErrorsWithCodes([ParserErrorCode.MISSING_ASSIGNABLE_SELECTOR]);
expect(expression, new isInstanceOf<SuperExpression>());
SuperExpression superExpression = expression;
expect(superExpression.superKeyword, isNotNull);
@@ -3453,8 +3448,7 @@ class Wrong<T> {
}
void test_missingCatchOrFinally() {
- createParser('try {}');
- TryStatement statement = parser.parseTryStatement();
+ TryStatement statement = parseStatement('try {}');
expectNotNullIfNoErrors(statement);
listener.assertErrorsWithCodes([ParserErrorCode.MISSING_CATCH_OR_FINALLY]);
expect(statement, isNotNull);
@@ -3500,17 +3494,9 @@ class Wrong<T> {
listener.assertErrorsWithCodes([ParserErrorCode.MISSING_ENUM_BODY]);
}
- void test_missingExpressionInThrow_withCascade() {
- createParser('throw;');
- ThrowExpression expression = parser.parseThrowExpression();
- expectNotNullIfNoErrors(expression);
- listener
- .assertErrorsWithCodes([ParserErrorCode.MISSING_EXPRESSION_IN_THROW]);
- }
-
- void test_missingExpressionInThrow_withoutCascade() {
- createParser('throw;');
- ThrowExpression expression = parser.parseThrowExpressionWithoutCascade();
+ void test_missingExpressionInThrow() {
+ ThrowExpression expression =
+ (parseStatement('throw;') as ExpressionStatement).expression;
expectNotNullIfNoErrors(expression);
listener
.assertErrorsWithCodes([ParserErrorCode.MISSING_EXPRESSION_IN_THROW]);
@@ -3618,14 +3604,6 @@ class Wrong<T> {
listener.assertErrorsWithCodes([ParserErrorCode.MISSING_IDENTIFIER]);
}
- void test_missingIdentifier_number() {
- createParser('1');
- SimpleIdentifier expression = parser.parseSimpleIdentifier();
- expectNotNullIfNoErrors(expression);
- listener.assertErrorsWithCodes([ParserErrorCode.MISSING_IDENTIFIER]);
- expect(expression.isSynthetic, isTrue);
- }
-
void test_missingIdentifierForParameterGroup() {
createParser('(,)');
FormalParameterList list = parser.parseFormalParameterList();
@@ -3679,9 +3657,9 @@ class Wrong<T> {
}
void test_missingNameForNamedParameter_colon() {
- createParser('int : 0');
+ createParser('({int : 0})');
FormalParameter parameter =
- parser.parseFormalParameter(ParameterKind.NAMED, inFunctionType: true);
+ parser.parseFormalParameterList(inFunctionType: true).parameters[0];
expectNotNullIfNoErrors(parameter);
listener.assertErrorsWithCodes([
ParserErrorCode.DEFAULT_VALUE_IN_FUNCTION_TYPE,
@@ -3691,9 +3669,9 @@ class Wrong<T> {
}
void test_missingNameForNamedParameter_equals() {
- createParser('int = 0');
+ createParser('({int = 0})');
FormalParameter parameter =
- parser.parseFormalParameter(ParameterKind.NAMED, inFunctionType: true);
+ parser.parseFormalParameterList(inFunctionType: true).parameters[0];
expectNotNullIfNoErrors(parameter);
listener.assertErrorsWithCodes([
ParserErrorCode.DEFAULT_VALUE_IN_FUNCTION_TYPE,
@@ -3703,9 +3681,9 @@ class Wrong<T> {
}
void test_missingNameForNamedParameter_noDefault() {
- createParser('int');
+ createParser('({int})');
FormalParameter parameter =
- parser.parseFormalParameter(ParameterKind.NAMED, inFunctionType: true);
+ parser.parseFormalParameterList(inFunctionType: true).parameters[0];
expectNotNullIfNoErrors(parameter);
listener.assertErrorsWithCodes(
[ParserErrorCode.MISSING_NAME_FOR_NAMED_PARAMETER]);
@@ -3784,8 +3762,7 @@ class Wrong<T> {
}
void test_missingVariableInForEach() {
- createParser('for (a < b in foo) {}');
- Statement statement = parser.parseForStatement();
+ Statement statement = parseStatement('for (a < b in foo) {}');
expectNotNullIfNoErrors(statement);
listener
.assertErrorsWithCodes([ParserErrorCode.MISSING_VARIABLE_IN_FOR_EACH]);
@@ -3846,8 +3823,7 @@ class Wrong<T> {
}
void test_multipleVariablesInForEach() {
- createParser('for (int a, b in foo) {}');
- Statement statement = parser.parseForStatement();
+ Statement statement = parseStatement('for (int a, b in foo) {}');
expectNotNullIfNoErrors(statement);
listener.assertErrorsWithCodes(
[ParserErrorCode.MULTIPLE_VARIABLES_IN_FOR_EACH]);
@@ -4121,17 +4097,16 @@ m() {
}
void test_switchHasCaseAfterDefaultCase() {
- createParser('switch (a) {default: return 0; case 1: return 1;}');
- SwitchStatement statement = parser.parseSwitchStatement();
+ SwitchStatement statement =
+ parseStatement('switch (a) {default: return 0; case 1: return 1;}');
expectNotNullIfNoErrors(statement);
listener.assertErrorsWithCodes(
[ParserErrorCode.SWITCH_HAS_CASE_AFTER_DEFAULT_CASE]);
}
void test_switchHasCaseAfterDefaultCase_repeated() {
- createParser(
+ SwitchStatement statement = parseStatement(
'switch (a) {default: return 0; case 1: return 1; case 2: return 2;}');
- SwitchStatement statement = parser.parseSwitchStatement();
expectNotNullIfNoErrors(statement);
listener.assertErrorsWithCodes([
ParserErrorCode.SWITCH_HAS_CASE_AFTER_DEFAULT_CASE,
@@ -4140,17 +4115,16 @@ m() {
}
void test_switchHasMultipleDefaultCases() {
- createParser('switch (a) {default: return 0; default: return 1;}');
- SwitchStatement statement = parser.parseSwitchStatement();
+ SwitchStatement statement =
+ parseStatement('switch (a) {default: return 0; default: return 1;}');
expectNotNullIfNoErrors(statement);
listener.assertErrorsWithCodes(
[ParserErrorCode.SWITCH_HAS_MULTIPLE_DEFAULT_CASES]);
}
void test_switchHasMultipleDefaultCases_repeated() {
- createParser(
+ SwitchStatement statement = parseStatement(
'switch (a) {default: return 0; default: return 1; default: return 2;}');
- SwitchStatement statement = parser.parseSwitchStatement();
expectNotNullIfNoErrors(statement);
listener.assertErrorsWithCodes([
ParserErrorCode.SWITCH_HAS_MULTIPLE_DEFAULT_CASES,
@@ -4411,8 +4385,8 @@ void main() {
}
void test_voidParameter() {
- createParser('void a)');
- NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ NormalFormalParameter parameter =
+ parseFormalParameterList('(void a)').parameters[0];
expectNotNullIfNoErrors(parameter);
listener.assertNoErrors();
}
« no previous file with comments | « pkg/analyzer/test/generated/parser_fasta_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698