1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/datastore/tests/file_arrays.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,110 @@ 1.4 +<!DOCTYPE HTML> 1.5 +<html> 1.6 +<head> 1.7 + <meta charset="utf-8"> 1.8 + <title>Test for DataStore - add([array]) remove([array])</title> 1.9 +</head> 1.10 +<body> 1.11 +<div id="container"></div> 1.12 + <script type="application/javascript;version=1.7"> 1.13 + 1.14 + var gStore; 1.15 + 1.16 + function is(a, b, msg) { 1.17 + alert((a === b ? 'OK' : 'KO') + ' ' + msg) 1.18 + } 1.19 + 1.20 + function ok(a, msg) { 1.21 + alert((a ? 'OK' : 'KO')+ ' ' + msg) 1.22 + } 1.23 + 1.24 + function cbError() { 1.25 + alert('KO error'); 1.26 + } 1.27 + 1.28 + function finish() { 1.29 + alert('DONE'); 1.30 + } 1.31 + 1.32 + function testGetDataStores() { 1.33 + navigator.getDataStores('foo').then(function(stores) { 1.34 + is(stores.length, 1, "getDataStores('foo') returns 1 element"); 1.35 + is(stores[0].name, 'foo', 'The dataStore.name is foo'); 1.36 + is(stores[0].readOnly, false, 'The dataStore foo is not in readonly'); 1.37 + 1.38 + var store = stores[0]; 1.39 + ok("get" in store, "store.get exists"); 1.40 + ok("put" in store, "store.put exists"); 1.41 + ok("add" in store, "store.add exists"); 1.42 + ok("remove" in store, "store.remove exists"); 1.43 + ok("clear" in store, "store.clear exists"); 1.44 + 1.45 + gStore = stores[0]; 1.46 + 1.47 + runTest(); 1.48 + }, cbError); 1.49 + } 1.50 + 1.51 + var itemNumber = 60; 1.52 + 1.53 + function testStoreAdd() { 1.54 + var objects = []; 1.55 + for (var i = 0; i < itemNumber; ++i) { 1.56 + objects.push(i); 1.57 + } 1.58 + 1.59 + function testStoreAddInternal() { 1.60 + if (!objects.length) { 1.61 + ok(true, "We inserted " + itemNumber + " items"); 1.62 + runTest(); 1.63 + return; 1.64 + } 1.65 + 1.66 + var obj = objects.shift(); 1.67 + gStore.add(obj).then(function() { 1.68 + ok(true, "We inserted a new item!"); 1.69 + testStoreAddInternal(); 1.70 + }, cbError); 1.71 + } 1.72 + 1.73 + testStoreAddInternal(); 1.74 + } 1.75 + 1.76 + function testStoreGet() { 1.77 + var objects = []; 1.78 + for (var i = 1; i <= itemNumber; ++i) { 1.79 + objects.push(i); 1.80 + } 1.81 + 1.82 + gStore.get.apply(gStore, objects).then(function(data) { 1.83 + is(data.length, objects.length, "Get - Data matches"); 1.84 + for (var i = 0; i < data.length; ++i) { 1.85 + is(data[i], objects[i] - 1, "Get - Data matches: " + i + " " + data[i] + " == " + objects[i]); 1.86 + } 1.87 + runTest(); 1.88 + }, cbError); 1.89 + } 1.90 + 1.91 + var tests = [ 1.92 + // Test for GetDataStore 1.93 + testGetDataStores, 1.94 + 1.95 + // Add many items 1.96 + function() { testStoreAdd() }, 1.97 + function() { testStoreGet() }, 1.98 + ]; 1.99 + 1.100 + function runTest() { 1.101 + if (!tests.length) { 1.102 + finish(); 1.103 + return; 1.104 + } 1.105 + 1.106 + var test = tests.shift(); 1.107 + test(); 1.108 + } 1.109 + 1.110 + runTest(); 1.111 + </script> 1.112 +</body> 1.113 +</html>