mirror of
https://github.com/dart-lang/sdk
synced 2024-09-19 21:21:41 +00:00
a211134136
Also, --limit-ints-to-64-bits is enabled when running tests in _2 test
suites.
This is the re-landing of 92ebd8aefa
with
fixes:
* Revert changes in pkg/dev_compiler/test/browser/language_tests.js
and tests/language/language_dart2js.status as they describe
'language' test suite, not 'language_2'
* Correct tests/standalone_2/io/fuzz_support.dart as file_fuzz test was
timing out on Windows and failing on android/arm.
Closes https://github.com/dart-lang/sdk/issues/31396
Change-Id: If9ca77fca300ddc605f17a7be39d1707e9724e25
Reviewed-on: https://dart-review.googlesource.com/21700
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
84 lines
2.9 KiB
Dart
84 lines
2.9 KiB
Dart
// 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.
|
|
//
|
|
// Dart test program for testing typed data.
|
|
|
|
// Library tag to be able to run in html test framework.
|
|
library TypedDataTest;
|
|
|
|
import "package:expect/expect.dart";
|
|
import 'dart:typed_data';
|
|
|
|
validate(List list, num expected) {
|
|
for (int i = 0; i < list.length; i++) {
|
|
Expect.equals(expected, list[i]);
|
|
}
|
|
}
|
|
|
|
testView() {
|
|
var list = new Int8List(128);
|
|
for (var i = 0; i < list.length; i++) {
|
|
list[i] = 42;
|
|
}
|
|
var ba = list.buffer;
|
|
|
|
var slist = new Int16List.view(ba, 0, 32);
|
|
validate(slist, 10794);
|
|
var uslist = new Uint16List.view(ba, 0, 32);
|
|
validate(uslist, 10794);
|
|
|
|
var ilist = new Int32List.view(ba, 0, 16);
|
|
validate(ilist, 707406378);
|
|
var uilist = new Uint32List.view(ba, 0, 16);
|
|
validate(uilist, 707406378);
|
|
|
|
var llist = new Int64List.view(ba, 0, 8);
|
|
validate(llist, 3038287259199220266);
|
|
var ullist = new Uint64List.view(ba, 0, 8);
|
|
validate(ullist, 3038287259199220266);
|
|
|
|
var flist = new Float32List.view(ba, 0, 16);
|
|
validate(flist, 1.511366173271439e-13);
|
|
var dlist = new Float64List.view(ba, 0, 8);
|
|
validate(dlist, 1.4260258159703532e-105);
|
|
}
|
|
|
|
testSetters() {
|
|
var blist = new ByteData(128);
|
|
blist.setInt8(0, 0xffff);
|
|
Expect.equals(-1, blist.getInt8(0));
|
|
blist.setUint8(0, 0xffff);
|
|
Expect.equals(0xff, blist.getUint8(0));
|
|
blist.setInt16(0, 0xffffffff);
|
|
Expect.equals(-1, blist.getInt16(0, Endian.little));
|
|
blist.setUint16(0, 0xffffffff, Endian.little);
|
|
Expect.equals(0xffff, blist.getUint16(0, Endian.little));
|
|
blist.setInt32(0, 0xffffffffffff, Endian.little);
|
|
Expect.equals(-1, blist.getInt32(0, Endian.little));
|
|
blist.setUint32(0, 0xffffffffffff, Endian.little);
|
|
Expect.equals(0xffffffff, blist.getUint32(0, Endian.little));
|
|
blist.setInt64(0, 0xffffffffffffffff, Endian.little);
|
|
Expect.equals(-1, blist.getInt64(0, Endian.little));
|
|
blist.setUint64(0, 0xffffffffffffffff, Endian.little);
|
|
Expect.equals(0xffffffffffffffff, blist.getUint64(0, Endian.little));
|
|
blist.setInt32(0, 0xaabbccddfffffffe, Endian.little);
|
|
Expect.equals(-2, blist.getInt32(0, Endian.little));
|
|
blist.setUint32(0, 0xaabbccddfffffffe, Endian.little);
|
|
Expect.equals(0xfffffffe, blist.getUint32(0, Endian.little));
|
|
blist.setInt64(0, 0xfffffffffffffffe, Endian.little);
|
|
Expect.equals(-2, blist.getInt64(0, Endian.little));
|
|
blist.setUint64(0, 0xfffffffffffffffe, Endian.little);
|
|
Expect.equals(0xfffffffffffffffe, blist.getUint64(0, Endian.little));
|
|
|
|
blist.setFloat32(0, 18446744073709551614.0, Endian.little);
|
|
Expect.equals(18446744073709551614.0, blist.getFloat32(0, Endian.little));
|
|
blist.setFloat64(0, 18446744073709551614.0, Endian.little);
|
|
Expect.equals(18446744073709551614.0, blist.getFloat64(0, Endian.little));
|
|
}
|
|
|
|
main() {
|
|
testView();
|
|
testSetters();
|
|
}
|