gecko/browser/fuel/test/test_ApplicationStorage.html
2007-04-23 13:27:46 -07:00

53 lines
2.0 KiB
HTML

<html>
<head>
<title>Testing Application.js</title>
<script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="text/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"></link>
</head>
<body>
<pre id="test">
<script class="testbody" type="text/javascript">
test_Storage();
function test_Storage() {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// test for existence of values
var hasItem = Application.storage.has("fuel-test-missing");
is(hasItem, false, "Check 'Application.storage.has' for non-existing item");
Application.storage.set("fuel-test", "dummy");
hasItem = Application.storage.has("fuel-test");
is(hasItem, true, "Check 'Application.storage.has' for existing item");
// test getting non-existing and existing values
var itemValue = Application.storage.get("fuel-test-missing", "default");
is(itemValue, "default", "Check 'Application.storage.get' for non-existing item");
itemValue = Application.storage.get("fuel-test", "default");
is(itemValue, "dummy", "Check 'Application.storage.get' for existing item");
// test for overwriting an existing value
Application.storage.set("fuel-test", "smarty");
itemValue = Application.storage.get("fuel-test", "default");
is(itemValue, "smarty", "Check 'Application.storage.get' for overwritten item");
// check for change event when setting a value
SimpleTest.waitForExplicitFinish();
Application.storage.events.addListener("change", onStorageChange);
Application.storage.set("fuel-test", "change event");
}
function onStorageChange(evt) {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
is(evt.data, "fuel-test", "Check 'Application.storage.set' fired a change event");
Application.storage.events.removeListener("change", onStorageChange);
SimpleTest.finish();
}
</script>
</pre>
</body>
</html>