| // Copyright (c) 2012, 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. |
| |
| class StringEscapesTest { |
| |
| static testMain() { |
| testDelimited(); |
| testFixed2(); |
| testFixed4(); |
| testEscapes(); |
| testLiteral(); |
| } |
| |
| static testDelimited() { |
| String str = "Foo\u{1}Bar\u{000001}Baz\u{D7FF}Boo"; |
| Expect.equals(15, str.length); |
| Expect.equals(1, str.charCodeAt(3)); |
| Expect.equals(1, str.charCodeAt(7)); |
| Expect.equals(0xD7FF, str.charCodeAt(11)); |
| Expect.equals('B'.charCodeAt(0), str.charCodeAt(12)); |
| } |
| |
| static testEscapes() { |
| String str = "Foo\fBar\vBaz\bBoo"; |
| Expect.equals(15, str.length); |
| Expect.equals(12, str.charCodeAt(3)); |
| Expect.equals('B'.charCodeAt(0), str.charCodeAt(4)); |
| Expect.equals(11, str.charCodeAt(7)); |
| Expect.equals('z'.charCodeAt(0), str.charCodeAt(10)); |
| Expect.equals(8, str.charCodeAt(11)); |
| Expect.equals('o'.charCodeAt(0), str.charCodeAt(14)); |
| str = "Abc\rDef\nGhi\tJkl"; |
| Expect.equals(15, str.length); |
| Expect.equals(13, str.charCodeAt(3)); |
| Expect.equals('D'.charCodeAt(0), str.charCodeAt(4)); |
| Expect.equals(10, str.charCodeAt(7)); |
| Expect.equals('G'.charCodeAt(0), str.charCodeAt(8)); |
| Expect.equals(9, str.charCodeAt(11)); |
| Expect.equals('J'.charCodeAt(0), str.charCodeAt(12)); |
| } |
| |
| static testFixed2() { |
| String str = "Foo\xFFBar"; |
| Expect.equals(7, str.length); |
| Expect.equals(255, str.charCodeAt(3)); |
| Expect.equals('B'.charCodeAt(0), str.charCodeAt(4)); |
| } |
| |
| static testFixed4() { |
| String str = "Foo\u0001Bar"; |
| Expect.equals(7, str.length); |
| Expect.equals(1, str.charCodeAt(3)); |
| Expect.equals('B'.charCodeAt(0), str.charCodeAt(4)); |
| } |
| |
| static testLiteral() { |
| String str = "\a\c\d\e\g\h\i\j\k\l\$\{\}\""; |
| Expect.equals(r'acdeghijkl${}"', str); |
| } |
| } |
| |
| main() { |
| StringEscapesTest.testMain(); |
| } |