<html>
<head>
<script src="../../../resources/js-test-pre.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<script src="resources/eventTestHarness.js"></script>
<script>
description("Verify that storage events fire even when only the case of the value changes.");

function test(storageString, callback)
{
    window.completionCallback = callback;
    window.storage = eval(storageString);
    if (!storage) {
        testFailed(storageString + " DOES NOT exist");
        return;
    }

    debug("Testing " + storageString);

    storageEventList = new Array();
    evalAndLog("storage.clear()");
    shouldBe("storage.length", "0");

    debug("");
    debug("Verify storage events are case sensitive");
    evalAndLog("storage.foo = 'test'");

    runAfterNStorageEvents(step1, 1);
}

function step1()
{
    debug("Reset storage event list");
    evalAndLog("storageEventList = new Array()");
    evalAndLog("storage.foo = 'test'");

    runAfterNStorageEvents(step2, 0);
}

function step2()
{
    shouldBe("storageEventList.length", "0");
    evalAndLog("storage.foo = 'TEST'");

    runAfterNStorageEvents(step3, 1);
}

function step3()
{
    shouldBe("storageEventList.length", "1");

    completionCallback();
}

testStorages(test);

var successfullyParsed = true;
</script>
</body>
</html>
