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

Side by Side Diff: frog/tests/leg/src/BuiltinInterceptorTest.dart

Issue 9190038: Handle escapes in string literals. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Add dependency on characters.dart to mini_parser.dart. Created 8 years, 11 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
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 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. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #import("compiler_helper.dart"); 5 #import("compiler_helper.dart");
6 6
7 final String TEST_ONE = @""" 7 final String TEST_ONE = @"""
8 foo(String a) { 8 foo(String a) {
9 return a.length; 9 return a.length;
10 } 10 }
11 """; 11 """;
12 12
13 final String TEST_TWO = @""" 13 final String TEST_TWO = @"""
14 foo() { 14 foo() {
15 return "foo".length; 15 return "foo".length;
16 } 16 }
17 """; 17 """;
18 18
19 final String TEST_THREE = @""" 19 final String TEST_THREE = @"""
20 foo() { 20 foo() {
21 return @"foo".length; 21 return @"foo".length;
22 } 22 }
23 """; 23 """;
24 24
25 main() { 25 main() {
26 String generated = compile(TEST_ONE, 'foo'); 26 String generated = compile(TEST_ONE, 'foo');
27 Expect.isTrue(generated.contains("return a.length;")); 27 Expect.isTrue(generated.contains("return a.length;"));
28 28
29 // TODO(ngeoffray): Enable once we support raw strings 29 // TODO(lrn): Reenable when we start constant folding string length properly.
30 // and folding of length. 30 bool failed = false;
31 Exception exception;
32 try { 31 try {
33 generated = compile(TEST_TWO, 'foo'); 32 generated = compile(TEST_TWO, 'foo');
34 Expect.isTrue(generated.contains("return 3;")); 33 Expect.isTrue(generated.contains("return 3;"));
35 34
36 generated = compile(TEST_THREE, 'foo'); 35 generated = compile(TEST_THREE, 'foo');
37 Expect.isTrue(generated.contains("return 3;")); 36 Expect.isTrue(generated.contains("return 3;"));
38 } catch (var e) { 37 } catch (Exception e) {
ahe 2012/01/17 13:21:39 This seems unfortunate to me. How about: generate
Lasse Reichstein Nielsen 2012/01/18 08:22:34 Good idea.
39 exception = e; 38 failed = true;
40 } 39 }
41 Expect.isTrue(exception != null); 40 Expect.isTrue(failed);
42 } 41 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698