| Index: tests/standalone/int_array_test.dart
|
| diff --git a/tests/standalone/int_array_test.dart b/tests/standalone/int_array_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..dfab86e6e39759ccb8449dfbb41117acdab19e39
|
| --- /dev/null
|
| +++ b/tests/standalone/int_array_test.dart
|
| @@ -0,0 +1,95 @@
|
| +// 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.
|
| +//
|
| +// Dart test program for testing native int arrays.
|
| +
|
| +// Library tag to be able to run in html test framework.
|
| +#library("IntArrayTest.dart");
|
| +
|
| +#import('dart:scalarlist');
|
| +
|
| +void testInt32ToSmi() {
|
| + Int32List intArray;
|
| +
|
| + intArray = new Int32List(4);
|
| + intArray[0] = 1073741823; // SmiMax
|
| + intArray[1] = -1073741824; // SmiMin
|
| + intArray[2] = 1073741824; // SmiMax+1
|
| + intArray[3] = -1073741825; // SmiMin-1
|
| + var x = intArray[0];
|
| + var y = intArray[1];
|
| + var z = intArray[2];
|
| + var w = intArray[3];
|
| + Expect.equals(1073741823, x);
|
| + Expect.equals(-1073741824, y);
|
| + Expect.equals(1073741824, z);
|
| + Expect.equals(-1073741825, w);
|
| +}
|
| +
|
| +void testUint32ToSmi() {
|
| + Uint32List intArray;
|
| +
|
| + intArray = new Uint32List(4);
|
| + intArray[0] = 1073741823; // SmiMax
|
| + intArray[1] = -1; // 0xFFFFFFFF : 4294967295
|
| + intArray[2] = 1073741830; // SmiMax+7
|
| + intArray[3] = -1073741825; // 0xbfffffff : 3221225471
|
| + var x = intArray[0];
|
| + var y = intArray[1];
|
| + var z = intArray[2];
|
| + var w = intArray[3];
|
| + Expect.equals(1073741823, x);
|
| + Expect.equals(4294967295, y);
|
| + Expect.equals(1073741830, z);
|
| + Expect.equals(3221225471, w);
|
| +}
|
| +
|
| +void testInt64ToSmi() {
|
| + Int64List intArray;
|
| +
|
| + intArray = new Int64List(4);
|
| + intArray[0] = 4611686018427387903; // SmiMax
|
| + intArray[1] = -4611686018427387904; // SmiMin
|
| + intArray[2] = 4611686018427387904; // SmiMax+1
|
| + intArray[3] = -4611686018427387905; // SmiMin-1
|
| + var x = intArray[0];
|
| + var y = intArray[1];
|
| + var z = intArray[2];
|
| + var w = intArray[3];
|
| + Expect.equals(4611686018427387903, x);
|
| + Expect.equals(-4611686018427387904, y);
|
| + Expect.equals(4611686018427387904, z);
|
| + Expect.equals(-4611686018427387905, w);
|
| +}
|
| +
|
| +void testUint64ToSmi() {
|
| + Uint64List intArray;
|
| +
|
| + intArray = new Uint64List(4);
|
| + intArray[0] = 4611686018427387903; // SmiMax
|
| + intArray[1] = -1; // 0xFFFFFFFFFFFFFFFF : 18446744073709551615
|
| + intArray[2] = 4611686018427387904; // SmiMax+1
|
| + intArray[3] = 9223372036854775808;
|
| + var x = intArray[0];
|
| + var y = intArray[1];
|
| + var z = intArray[2];
|
| + var w = intArray[3];
|
| + print(w);
|
| + Expect.equals(4611686018427387903, x);
|
| + Expect.equals(18446744073709551615, y);
|
| + Expect.equals(4611686018427387904, z);
|
| + Expect.equals(9223372036854775808, w);
|
| +}
|
| +
|
| +
|
| +main() {
|
| + testUint64ToSmi();
|
| + return;
|
| + for (int i = 0; i < 2000; i++) {
|
| + testInt32ToSmi();
|
| + testUint32ToSmi();
|
| + testInt64ToSmi();
|
| + testUint64ToSmi();
|
| + }
|
| +}
|
|
|