428258ff2d
Review URL: https://codereview.chromium.org//10981026 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12878 260f80e4-7a28-3924-810f-c04153c831b5
64 lines
1.5 KiB
Dart
64 lines
1.5 KiB
Dart
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
// Dart test program testing string interpolation.
|
|
|
|
|
|
class WhatchamaCallIt {
|
|
WhatchamaCallIt() { }
|
|
|
|
String foo() {
|
|
// Test $this and Field name is defined in subclass.
|
|
return "$this and $name";
|
|
}
|
|
}
|
|
|
|
class ThingamaBob extends WhatchamaCallIt {
|
|
ThingamaBob(String s) : super(), name = s { }
|
|
String name;
|
|
toString() => "Hansel";
|
|
}
|
|
|
|
class StringInterpolateTest {
|
|
|
|
static const String A = "svin";
|
|
static const String B = "hest";
|
|
static const int N = 1 + 1;
|
|
static String Printers;
|
|
static String AAR_Printers;
|
|
|
|
static testMain() {
|
|
Printers = "Printers: $A and $B";
|
|
AAR_Printers = "AAR has $N $Printers.";
|
|
|
|
var x = 1;
|
|
var s = "eins und \$x macht zwei.";
|
|
print(s);
|
|
Expect.equals(r"eins und $x macht zwei.", s);
|
|
|
|
s = "eins und $x macht zwei.";
|
|
print(s);
|
|
Expect.equals(r"eins und 1 macht zwei.", s);
|
|
|
|
print(AAR_Printers);
|
|
Expect.equals(r"AAR has 2 Printers: svin and hest.", AAR_Printers);
|
|
|
|
var s$eins = "eins";
|
|
var $1 = 1;
|
|
var zw = "zw";
|
|
var ei = "ei";
|
|
var zw$ei = "\"Martini, dry? Nai zwai.\"";
|
|
s = "${s$eins} und ${$1} macht $zw$ei.";
|
|
print(s);
|
|
Expect.equals(r"eins und 1 macht zwei.", s);
|
|
|
|
var t = new ThingamaBob("Gretel");
|
|
print(t.foo());
|
|
Expect.equals(t.foo(), "Hansel and Gretel");
|
|
}
|
|
}
|
|
|
|
main() {
|
|
StringInterpolateTest.testMain();
|
|
}
|