| // Copyright (c) 2013, 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 String join([String separator = ""]) |
| /// Converts each element to a [String] and concatenates the strings. |
| /// Iterates through elements of this iterable, converts each one to a [String] |
| /// by calling Object.toString, and then concatenates the strings, with the |
| /// [separator] string interleaved between the elements. |
| /// @description Checks that if [separator] is omitted, elements of [this] |
| /// are not separated in the returned String. |
| /// @author msyabro |
| /// @issue 43267 |
| |
| |
| import "dart:typed_data"; |
| import "../../../Utils/expect.dart"; |
| |
| Float32x4 pack(v) => new Float32x4.splat(v); |
| |
| check(List<Float32x4> list, String expectedString) { |
| var l = new Float32x4List.fromList(list); |
| var s = l.join(); |
| Expect.stringEquals(expectedString, s); |
| } |
| |
| main() { |
| check([], ""); |
| if (isJS) { |
| check( |
| [pack(.25), pack(1.625)], |
| "[0.25, 0.25, 0.25, 0.25]" |
| "[1.625, 1.625, 1.625, 1.625]"); |
| check( |
| [ |
| pack(1.25), pack(2.25), pack(3.25), pack(4.25), |
| pack(5.25), pack(6.25), pack(7.25), pack(8.25), |
| pack(9.25) |
| ], |
| "[1.25, 1.25, 1.25, 1.25]" |
| "[2.25, 2.25, 2.25, 2.25]" |
| "[3.25, 3.25, 3.25, 3.25]" |
| "[4.25, 4.25, 4.25, 4.25]" |
| "[5.25, 5.25, 5.25, 5.25]" |
| "[6.25, 6.25, 6.25, 6.25]" |
| "[7.25, 7.25, 7.25, 7.25]" |
| "[8.25, 8.25, 8.25, 8.25]" |
| "[9.25, 9.25, 9.25, 9.25]"); |
| } else { |
| check( |
| [pack(.25), pack(1.625)], |
| "[0.250000, 0.250000, 0.250000, 0.250000]" |
| "[1.625000, 1.625000, 1.625000, 1.625000]"); |
| check( |
| [ |
| pack(1.123456), pack(2.123456), pack(3.123456), pack(4.123456), |
| pack(5.123456), pack(6.123456), pack(7.123456), pack(8.123456), |
| pack(9.123456) |
| ], |
| "[1.123456, 1.123456, 1.123456, 1.123456]" |
| "[2.123456, 2.123456, 2.123456, 2.123456]" |
| "[3.123456, 3.123456, 3.123456, 3.123456]" |
| "[4.123456, 4.123456, 4.123456, 4.123456]" |
| "[5.123456, 5.123456, 5.123456, 5.123456]" |
| "[6.123456, 6.123456, 6.123456, 6.123456]" |
| "[7.123456, 7.123456, 7.123456, 7.123456]" |
| "[8.123456, 8.123456, 8.123456, 8.123456]" |
| "[9.123456, 9.123456, 9.123456, 9.123456]"); |
| } |
| } |