platform/jael/test/text/common.dart
2017-09-29 18:39:37 -04:00

24 lines
633 B
Dart

import 'package:matcher/matcher.dart';
import 'package:jael/src/ast/token.dart';
Matcher isToken(TokenType type, [String text]) => new _IsToken(type, text);
class _IsToken extends Matcher {
final TokenType type;
final String text;
_IsToken(this.type, [this.text]);
@override
Description describe(Description description) {
if (text == null) return description.add('has type $type');
return description.add('has type $type and text "$text"');
}
@override
bool matches(item, Map matchState) {
return item is Token &&
item.type == type &&
(text == null || item.span.text == text);
}
}