blob: b4a54740d0a8239eea301aadf0e5e850492996a1 [file] [log] [blame]
// 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.
/// @assertion 15.10.2.10: The production CharacterEscape ::
/// UnicodeEscapeSequence evaluates by evaluating the character value of the
/// UnicodeEscapeSequence (see 7.8.4) and returning its character result.<br/>
/// HexEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit
/// @description Checks the assertion using some uncommon \u-encoded characters
/// in the test string.
/// @3rdparty sputnik-v1:S15.10.2.10_A4.1_T1.js
/// @author rodionov
import "../../../../Utils/expect.dart";
main() {
Map<String, String> codes = const {
"0000" : "\u0000", "0001" : "\u0001", "000A" : "\u000A", "000F" : "\u000F",
"00FF" : "\u00FF", "0FFF" : "\u0FFF", "FFFF" : "\uFFFF", "F00F" : "\uF00F"
};
StringBuffer errStr = new StringBuffer();
codes.forEach((String key, String value) {
RegExp re = new RegExp("\\u$key");
if(null == re.firstMatch(value)) {
errStr.write("\"\\u${key}\" does not match \"${value}\"\n");
}
});
if(errStr.length > 0) {
Expect.fail(errStr.toString());
}
}