1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/datastore/tests/file_duplicate.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,75 @@ 1.4 +<!DOCTYPE HTML> 1.5 +<html> 1.6 +<head> 1.7 + <meta charset="utf-8"> 1.8 + <title>Test for DataStore - duplicate keys</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 + var gEvent; 1.16 + var gChangeId; 1.17 + 1.18 + function ok(a, msg) { 1.19 + alert((a ? 'OK' : 'KO')+ ' ' + msg) 1.20 + } 1.21 + 1.22 + function is(a, b, msg) { 1.23 + ok(a === b, msg); 1.24 + } 1.25 + 1.26 + function cbError() { 1.27 + alert('KO error'); 1.28 + } 1.29 + 1.30 + function finish() { 1.31 + alert('DONE'); 1.32 + } 1.33 + 1.34 + function testGetDataStores() { 1.35 + navigator.getDataStores('foo').then(function(stores) { 1.36 + gStore = stores[0]; 1.37 + runTest(); 1.38 + }, cbError); 1.39 + } 1.40 + 1.41 + function testAdd(success) { 1.42 + gStore.add({ a: 42 }, 'test').then(function() { 1.43 + is(success, true, "Record added"); 1.44 + runTest(); 1.45 + }, function(e) { 1.46 + is(success, false, "Record failed"); 1.47 + ok(e instanceof DOMError, "DOMError received"); 1.48 + is(e.name, 'ConstraintError', 'e.name: ConstraintError'); 1.49 + is(e.message, '', 'e.message'); 1.50 + runTest(); 1.51 + }); 1.52 + } 1.53 + 1.54 + var tests = [ 1.55 + // Test for GetDataStore 1.56 + testGetDataStores, 1.57 + 1.58 + // add 1.59 + function() { testAdd(true); }, 1.60 + 1.61 + // add duplicate 1.62 + function() { testAdd(false); } 1.63 + ]; 1.64 + 1.65 + function runTest() { 1.66 + if (!tests.length) { 1.67 + finish(); 1.68 + return; 1.69 + } 1.70 + 1.71 + var test = tests.shift(); 1.72 + test(); 1.73 + } 1.74 + 1.75 + runTest(); 1.76 + </script> 1.77 +</body> 1.78 +</html>