mirror of
https://github.com/dart-lang/sdk
synced 2024-09-18 21:41:19 +00:00
4283c3e41e
R=sigmund@google.com Review URL: https://codereview.chromium.org//231413003 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34890 260f80e4-7a28-3924-810f-c04153c831b5
73 lines
1.9 KiB
Dart
73 lines
1.9 KiB
Dart
// 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.
|
|
|
|
library TypedArrays1Test;
|
|
import 'package:unittest/unittest.dart';
|
|
import 'package:unittest/html_individual_config.dart';
|
|
import 'dart:html';
|
|
import 'dart:typed_data';
|
|
|
|
main() {
|
|
useHtmlIndividualConfiguration();
|
|
|
|
var isnumList = predicate((x) => x is List<num>, 'is a List<num>');
|
|
var isStringList = predicate((x) => x is List<String>, 'is a List<String>');
|
|
var expectation = Platform.supportsTypedData ? returnsNormally : throws;
|
|
|
|
group('supported', () {
|
|
test('supported', () {
|
|
expect(Platform.supportsTypedData, true);
|
|
});
|
|
});
|
|
|
|
group('arrays', () {
|
|
test('createByLengthTest', () {
|
|
expect(() {
|
|
var a = new Float32List(10);
|
|
expect(a.length, 10);
|
|
expect(a.lengthInBytes, 40);
|
|
expect(a[4], 0);
|
|
}, expectation);
|
|
});
|
|
|
|
test('aliasTest', () {
|
|
expect(() {
|
|
var a1 = new Uint8List.fromList([0,0,1,0x45]);
|
|
var a2 = new Float32List.view(a1.buffer);
|
|
|
|
expect(a1.lengthInBytes, a2.lengthInBytes);
|
|
|
|
expect(a2.length, 1);
|
|
|
|
// 0x45010000 = 2048+16
|
|
expect(a2[0], 2048 + 16);
|
|
|
|
a1[2] = 0;
|
|
// 0x45000000 = 2048
|
|
expect(a2[0], 2048);
|
|
|
|
a1[3]--;
|
|
a1[2] += 128;
|
|
// 0x44800000 = 1024
|
|
expect(a2[0], 1024);
|
|
}, expectation);
|
|
});
|
|
|
|
// Generic type checking is not available in dart2js, so use this check to
|
|
// see if we should check for it.
|
|
var supportsTypeTest = !(new List<String>() is List<int>);
|
|
|
|
if (supportsTypeTest) {
|
|
test('typeTests', () {
|
|
expect(() {
|
|
var a = new Float32List(10);
|
|
expect(a, isList);
|
|
expect(a, isnumList);
|
|
expect(a, isNot(isStringList));
|
|
}, expectation);
|
|
});
|
|
}
|
|
});
|
|
}
|