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

Side by Side Diff: tests/compiler/dart2js/scanner_offset_length_test.dart

Issue 10539021: Scanner can include comments in the token stream. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Token.text replaced by Token.slowToString() Created 8 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 #import('../../../lib/compiler/implementation/scanner/scannerlib.dart');
6 #import('../../../lib/compiler/implementation/scanner/scanner_implementation.dar t');
7
8 Token scan(String text) => new StringScanner(text, true).tokenize();
9
10 check(String text) {
11 Token token = scan(text);
12 while (token.kind != EOF_TOKEN) {
13 Expect.equals(token.slowToString().length, token.slowCharLength);
14
15 var start = token.charOffset;
16 var end = token.charOffset+token.slowCharLength;
17
18 Expect.isTrue(start < text.length,
19 'start=$start < text.length=${text.length}: $text');
20
21 Expect.isTrue(end <= text.length,
22 'end=$end <= text.length=${text.length}: $text');
23
24 Expect.isTrue(start <= end, 'start=$end <= end=$end: $text');
25
26 var substring = text.substring(start, end);
27
28 Expect.stringEquals(token.slowToString(), substring,
29 'token.slowToString()=${token.slowToString()} == '
30 'text.substring(start,end)=${substring}: $text');
31
32 print('$text: [$start,$end]:$token');
33
34 token = token.next;
35 }
36 }
37
38 main() {
39 check('foo'); // identifier
ahe 2012/06/25 10:55:52 Comments still aren't proper sentences.
40 check('\'\''); // empty string
41 check('\'foo\''); // simple string
42 check('\'\$foo\''); // interpolation, identifier
43 check('\'\${foo}\''); // interpolation, expression
44
45 check('//'); // single line comment
46 check('/**/'); // multi line comment
47 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698