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

Unified Diff: pkg/front_end/test/scanner_fasta_test.dart

Issue 2693403002: Change toAnalyzerTokenStream into a class. (Closed)
Patch Set: Rework Created 3 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/front_end/test/scanner_fasta_test.dart
diff --git a/pkg/front_end/test/scanner_fasta_test.dart b/pkg/front_end/test/scanner_fasta_test.dart
index 5002705e0e2907d18c2c8ea109732741aedb9b06..14a5d65cdc6c5f3546d7959283c0a883bfa0c678 100644
--- a/pkg/front_end/test/scanner_fasta_test.dart
+++ b/pkg/front_end/test/scanner_fasta_test.dart
@@ -41,10 +41,8 @@ class ScannerTest_Fasta extends ScannerTestBase {
// Dart, remove this flag.
var scanner = new fasta.StringScanner(source, includeComments: true);
var token = scanner.tokenize();
- return toAnalyzerTokenStream(token,
- (ScannerErrorCode errorCode, int offset, List<Object> arguments) {
- listener.errors.add(new TestError(offset, errorCode, arguments));
- });
+ return new ToAnalyzerTokenStreamConverter_WithListener(listener)
+ .convertTokens(token);
}
@override
@@ -375,10 +373,34 @@ class ScannerTest_Fasta_Roundtrip extends ScannerTest_Fasta_Base {
fasta.Token scan(String source) {
var scanner = new fasta.StringScanner(source, includeComments: true);
var fastaTokenStream = scanner.tokenize();
- var analyzerTokenStream = toAnalyzerTokenStream(fastaTokenStream,
- (ScannerErrorCode errorCode, int offset, List<Object> arguments) {
- fail('Unexpected error: $errorCode, $offset, $arguments');
- });
+ var analyzerTokenStream = new ToAnalyzerTokenStreamConverter_NoErrors()
+ .convertTokens(fastaTokenStream);
return fromAnalyzerTokenStream(analyzerTokenStream);
}
}
+
+/// Override of [ToAnalyzerTokenStreamConverter] that verifies that there are no
+/// errors.
+class ToAnalyzerTokenStreamConverter_NoErrors
+ extends ToAnalyzerTokenStreamConverter {
+ @override
+ void reportError(
+ ScannerErrorCode errorCode, int offset, List<Object> arguments) {
+ fail('Unexpected error: $errorCode, $offset, $arguments');
+ }
+}
+
+/// Override of [ToAnalyzerTokenStreamConverter] that records errors in an
+/// [ErrorListener].
+class ToAnalyzerTokenStreamConverter_WithListener
+ extends ToAnalyzerTokenStreamConverter {
+ final ErrorListener _listener;
+
+ ToAnalyzerTokenStreamConverter_WithListener(this._listener);
+
+ @override
+ void reportError(
+ ScannerErrorCode errorCode, int offset, List<Object> arguments) {
+ _listener.errors.add(new TestError(offset, errorCode, arguments));
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698