Move parseFontFaceDescriptor to CSSPropertyParser.cpp
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / crypto / random-values.js
blob0fb26bd757408c49bc2591758e3a4e51cf924de2
1 if (self.importScripts)
2     importScripts('../resources/js-test.js');
4 description("Tests crypto.randomValues.");
6 if (!self.ArrayBuffer)
7     debug("This test requres ArrayBuffers to run!");
9 shouldBe("'crypto' in self", "true");
10 shouldBe("'getRandomValues' in self.crypto", "true");
12 // Although the spec defines Crypto in terms of "RandomSource", it is NOT
13 // inheritance. The RandomSource interface should not be visible to
14 // javascript.
15 shouldBe("self.crypto.__proto__.hasOwnProperty('getRandomValues')", "true");
17 try {
18     // NOTE: This test is flaky.  If we ran this test every second since the
19     //       beginning of the universe, on average, it would have failed
20     //       2^{-748} times.
22     var reference = new Uint8Array(100);
23     var sample = new Uint8Array(100);
25     crypto.getRandomValues(reference);
26     crypto.getRandomValues(sample);
28     var matchingBytes = 0;
30     for (var i = 0; i < reference.length; i++) {
31         if (reference[i] == sample[i])
32             matchingBytes++;
33     }
35     shouldBe("matchingBytes < 100", "true");
36 } catch(ex) {
37     debug(ex);
40 finishJSTest();