Index: tests/html/typed_arrays_1_test.dart |
diff --git a/tests/html/typed_arrays_1_test.dart b/tests/html/typed_arrays_1_test.dart |
index ccd13d0f611490e8abd16843a33b38214ed434c5..12bd9f6aae58b8b94972154365b747829e975c69 100644 |
--- a/tests/html/typed_arrays_1_test.dart |
+++ b/tests/html/typed_arrays_1_test.dart |
@@ -4,45 +4,65 @@ |
library TypedArrays1Test; |
import '../../pkg/unittest/lib/unittest.dart'; |
-import '../../pkg/unittest/lib/html_config.dart'; |
+import '../../pkg/unittest/lib/html_individual_config.dart'; |
import 'dart:html'; |
main() { |
- useHtmlConfiguration(); |
+ 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 = ArrayBuffer.supported ? returnsNormally : throws; |
- test('createByLengthTest', () { |
- var a = new Float32Array(10); |
- expect(a.length, 10); |
- expect(a[4], 0); |
+ group('supported', () { |
+ test('supported', () { |
+ expect(ArrayBuffer.supported, true); |
+ }); |
}); |
- test('aliasTest', () { |
- var a1 = new Uint8Array.fromList([0,0,1,0x45]); |
- var a2 = new Float32Array.fromBuffer(a1.buffer); |
- |
- expect(a2.length, 1); |
+ group('arrays', () { |
+ test('createByLengthTest', () { |
+ expect(() { |
+ var a = new Float32Array(10); |
+ expect(a.length, 10); |
+ expect(a[4], 0); |
+ }, expectation); |
+ }); |
- // 0x45010000 = 2048+16 |
- expect(a2[0], 2048 + 16); |
+ test('aliasTest', () { |
+ expect(() { |
+ var a1 = new Uint8Array.fromList([0,0,1,0x45]); |
+ var a2 = new Float32Array.fromBuffer(a1.buffer); |
- a1[2] = 0; |
- // 0x45000000 = 2048 |
- expect(a2[0], 2048); |
+ expect(a2.length, 1); |
- a1[3]--; |
- a1[2] += 128; |
- // 0x44800000 = 1024 |
- expect(a2[0], 1024); |
+ // 0x45010000 = 2048+16 |
+ expect(a2[0], 2048 + 16); |
- }); |
+ a1[2] = 0; |
+ // 0x45000000 = 2048 |
+ expect(a2[0], 2048); |
- test('typeTests', () { |
- var a = new Float32Array(10); |
- expect(a, isList); |
- expect(a, isnumList); |
- expect(a, isNot(isStringList)); |
+ 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 Float32Array(10); |
+ expect(a, isList); |
+ expect(a, isnumList); |
+ expect(a, isNot(isStringList)); |
+ }, expectation); |
+ }); |
+ } |
+ }); |
} |