| // Copyright (c) 2024, 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. |
| |
| // NEXT LINE (NEL, 0x85) character is special in that some Unicode versions do |
| // not include it as a whitespace character. |
| // |
| // However all Dart backends handle it as a whitespace character. dart2js and |
| // dart2wasm do this by a calling JS (`String.prototype.trim` and its |
| // left/right variants) and doing post-processing. To check these |
| // implementations tests in this file mix the SPACE character with NEL in |
| // various positions. |
| // |
| // string_trim_lr_test.dart tests various NEL characters on the left and right, |
| // but they do not mix NEL with other whitespace characters. |
| // string_trim_test.dart tests do not test NEL. |
| |
| import "package:expect/expect.dart"; |
| |
| const int space = 0x20; |
| const int nel = 0x85; |
| const int h = 0x68; |
| const int i = 0x69; |
| |
| void main() { |
| Expect.equals( |
| "hi", String.fromCharCodes([space, nel, space, h, i]).trimLeft()); |
| Expect.equals( |
| "hi", String.fromCharCodes([h, i, space, nel, space]).trimRight()); |
| Expect.equals( |
| "hi", |
| String.fromCharCodes([space, nel, space, h, i, space, nel, space]) |
| .trim()); |
| } |