Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / storage / quota / storagequota-query-info.html
1 <html>
2 <head>
3 <script src="../../resources/js-test.js"></script>
4 </head>
5 <body>
6 <script type="text/javascript">
7 description("This tests navigator.storageQuota.queryInfo.");
8
9 var usage;
10 var quota;
11
12 function onrejected(error) {
13     testFailed(error.name + ": " + error.message);
14     finishJSTest();
15 }
16
17 // Test body functions ----------------------------------------------------
18
19 function runQueryTemporaryTest() {
20     debug("* Querying about temporary storage.");
21     navigator.storageQuota.queryInfo("temporary").then(function(storageInfo) {
22         usage = storageInfo.usage;
23         quota = storageInfo.quota;
24
25         // Quota value would vary depending on the test environment.
26         shouldBeGreaterThanOrEqual("usage", "0");
27         shouldBeGreaterThanOrEqual("quota", "usage");
28
29         runNextTest();
30     }, onrejected);
31 }
32
33 function runQueryPersistentTest() {
34     debug("* Querying about persistent storage.");
35     navigator.storageQuota.queryInfo("persistent").then(function(storageInfo) {
36         usage = storageInfo.usage;
37         quota = storageInfo.quota;
38
39         // Quota value would vary depending on the test environment.
40         shouldBeGreaterThanOrEqual("usage", "0");
41         shouldBeGreaterThanOrEqual("quota", "usage");
42
43         runNextTest();
44     }, onrejected);
45 }
46
47 function runQueryUnknownTest() {
48     debug("* Querying about unknown storage.");
49     shouldThrow("navigator.storageQuota.queryInfo('unknown')");
50     runNextTest();
51 }
52
53 function runQueryWithMissingArgumentTest() {
54     debug("* Querying with missing storage type.");
55     shouldThrow("navigator.storageQuota.queryInfo()");
56     runNextTest();
57 }
58
59 // End of test body functions ---------------------------------------------
60
61 var testsList = [
62     runQueryTemporaryTest,
63     runQueryPersistentTest,
64     runQueryUnknownTest,
65     runQueryWithMissingArgumentTest,
66 ];
67 var testCounter = 0;
68
69 function runNextTest() {
70     if (testCounter == testsList.length) {
71         debug("Finished running tests.");
72         finishJSTest();
73     } else {
74         testsList[testCounter++]();
75     }
76 }
77
78 if (navigator.storageQuota) {
79     window.jsTestIsAsync = true;
80     runNextTest();
81 } else {
82     debug("This test requires navigator.storageQuota.");
83 }
84 </script>
85 </body>
86 </html>