import 'package:jael/src/ast/token.dart';
import 'package:jael/src/text/scanner.dart';
import 'package:test/test.dart';
import 'common.dart';
main() {
test('plain html', () {
var tokens = scan('', sourceUrl: 'test.jl').tokens;
tokens.forEach(print);
expect(tokens, hasLength(7));
expect(tokens[0], isToken(TokenType.lt));
expect(tokens[1], isToken(TokenType.id, 'img'));
expect(tokens[2], isToken(TokenType.id, 'src'));
expect(tokens[3], isToken(TokenType.equals));
expect(tokens[4], isToken(TokenType.string, '"foo.png"'));
expect(tokens[5], isToken(TokenType.slash));
expect(tokens[6], isToken(TokenType.gt));
});
test('single quotes', () {
var tokens = scan('
It\'s lit
', sourceUrl: 'test.jl').tokens; tokens.forEach(print); expect(tokens, hasLength(8)); expect(tokens[0], isToken(TokenType.lt)); expect(tokens[1], isToken(TokenType.id, 'p')); expect(tokens[2], isToken(TokenType.gt)); expect(tokens[3], isToken(TokenType.text, 'It\'s lit')); expect(tokens[4], isToken(TokenType.lt)); expect(tokens[5], isToken(TokenType.slash)); expect(tokens[6], isToken(TokenType.id, 'p')); expect(tokens[7], isToken(TokenType.gt)); }); test('text node', () { var tokens = scan('Hello\nworld
', sourceUrl: 'test.jl').tokens; tokens.forEach(print); expect(tokens, hasLength(8)); expect(tokens[0], isToken(TokenType.lt)); expect(tokens[1], isToken(TokenType.id, 'p')); expect(tokens[2], isToken(TokenType.gt)); expect(tokens[3], isToken(TokenType.text, 'Hello\nworld')); expect(tokens[4], isToken(TokenType.lt)); expect(tokens[5], isToken(TokenType.slash)); expect(tokens[6], isToken(TokenType.id, 'p')); expect(tokens[7], isToken(TokenType.gt)); }); test('mixed', () { var tokens = scan('