blob: b4ab504659522aebad6cd979c9088dd3f03e98f4 [file] [log] [blame]
/*
* 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]");
}
}