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

Side by Side Diff: tests/language/src/StringInterpolationTest.dart

Issue 10248007: test rename overhaul: step 8 - language tests (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 7 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) 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
3 // BSD-style license that can be found in the LICENSE file.
4
5 // Tests for string interpolation
6 class StringInterpolationTest {
7
8 StringInterpolationTest() {}
9
10 static final int i = 1;
11 static final String a = "<hi>";
12
13 int j;
14 int k;
15
16 static testMain(bool alwaysFalse) {
17 var test = new StringInterpolationTest();
18 test.j = 3;
19 test.k = 5;
20
21 // simple string
22 Expect.equals(" hi ", " hi ");
23
24 var c1 = '1';
25 var c2 = '2';
26 var c3 = '3';
27 var c4 = '4';
28 // no chars before/after/between embedded expressions
29 Expect.equals(" 1", " ${c1}");
30 Expect.equals("1 ", "${c1} ");
31 Expect.equals("1", "${c1}");
32 Expect.equals("12", "${c1}${c2}");
33 Expect.equals("12 34", "${c1}${c2} ${c3}${c4}");
34
35 // embedding static fields
36 Expect.equals(" hi 1 ", " hi ${i} ");
37 Expect.equals(" hi <hi> ", " hi ${a} ");
38
39 // embedding method parameters
40 Expect.equals("param = 9", test.embedParams(9));
41
42 // embedding a class field
43 Expect.equals("j = 3", test.embedSingleField());
44
45 // embedding more than one (non-constant) expression
46 Expect.equals(" hi 1 <hi>", " hi ${i} ${a}");
47 Expect.equals("j = 3; k = 5", test.embedMultipleFields());
48
49 // escaping $ - doesn't start the embedded expression
50 Expect.equals("\$", "escaped \${3+2}"[12]);
51 Expect.equals("{", "escaped \${3+2}"[13]);
52 Expect.equals("3", "escaped \${3+2}"[14]);
53 Expect.equals("+", "escaped \${3+2}"[15]);
54 Expect.equals("2", "escaped \${3+2}"[16]);
55 Expect.equals("}", "escaped \${3+2}"[17]);
56
57 if (alwaysFalse) {
58 "${i.toHorse()}"; /// 01: static type warning
59 }
60 }
61
62 String embedParams(int z) {
63 return "param = ${z}";
64 }
65
66 String embedSingleField() {
67 return "j = ${j}";
68 }
69
70 String embedMultipleFields() {
71 return "j = ${j}; k = ${k}";
72 }
73 }
74
75 main() {
76 StringInterpolationTest.testMain(false);
77 }
OLDNEW
« no previous file with comments | « tests/language/src/StringInterpolation8Test.dart ('k') | tests/language/src/StringJoinTest.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698