Chromium Code Reviews| Index: tests/html/crypto_test.dart |
| diff --git a/tests/html/crypto_test.dart b/tests/html/crypto_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f0f8fc666c463779f7debd8549701abd9258ff65 |
| --- /dev/null |
| +++ b/tests/html/crypto_test.dart |
| @@ -0,0 +1,36 @@ |
| +// 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. |
| + |
| +library crypto_test; |
| +import '../../pkg/unittest/lib/unittest.dart'; |
| +import '../../pkg/unittest/lib/html_config.dart'; |
| +import 'dart:html'; |
| + |
| +main() { |
| + useHtmlConfiguration(); |
|
Anton Muhin
2013/02/21 12:40:43
please, use useHtmlIndividualConfiguration
Mads Ager (google)
2013/02/21 13:38:57
But then I have to use 'group', right. And since I
|
| + |
| + test('exists', () { |
| + var crypto = window.crypto; |
| + expect(crypto is Crypto, isTrue); |
| + }); |
| + |
| + test('successful call', () { |
| + var crypto = window.crypto; |
| + var data = new Uint8Array(100); |
| + expect(data.every((e) => e == 0), isTrue); |
| + crypto.getRandomValues(data); |
| + // In theory this is flaky. However, in practice you will get 100 zeroes |
| + // in a row from a cryptographically secure random number generator so |
| + // rarely that we don't have to worry about it. |
| + expect(data.any((e) => e != 0), isTrue); |
| + }); |
| + |
| + test('type mismatch', () { |
| + var crypto = window.crypto; |
| + var data = new Float32Array(100); |
| + expect(() { |
| + crypto.getRandomValues(data); |
| + }, throws, reason: "Only typed array views with integer types allowed"); |
|
Anton Muhin
2013/02/21 12:40:43
nit: ' instead of ", please
Mads Ager (google)
2013/02/21 13:38:57
Done.
|
| + }); |
| +} |