Fixed TTS-1906 to move 34 TCs from delta to tct * including modules: tct-pagevisibili...
authoryuhanx.xu <yuhanx.xu@intel.com>
Wed, 21 Aug 2013 11:01:17 +0000 (19:01 +0800)
committerwanmingx.lin <wanmingx.lin@intel.com>
Thu, 22 Aug 2013 03:20:42 +0000 (11:20 +0800)
Signed-off-by: yuhanx.xu <yuhanx.xu@intel.com>
38 files changed:
tct-pagevisibility-w3c-tests/pagevisibility/pagevisibility_DocumentVisibility_hidden_lockScreen.html [new file with mode: 0644]
tct-pagevisibility-w3c-tests/pagevisibility/pagevisibility_DocumentVisibility_hidden_minimize.html [new file with mode: 0644]
tct-pagevisibility-w3c-tests/tests.xml
tct-webstorage-w3c-tests/tests.xml
tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_base.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_eventInitDict_null.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_key_null.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_key_undefined.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_newValue_null.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_newValue_undefined.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_no_key.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_no_newValue.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_no_oldValue.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_no_url.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_oldValue_null.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_oldValue_undefined.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_type_null.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_url_null.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_url_undefined.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_key_initial_value.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_newValue_initial_value.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_oldValue_initial_value.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_storageArea_initial_value.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/StorageEvent_url_initial_value.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/Storage_clear_empty_storage.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/Storage_example_insurance_on_trip.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/Storage_example_load_page_times.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/Storage_key_override_length.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/Storage_keys_case_sensitive.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/Storage_removeItem_change_order.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/localStorage_iframe.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/sessionStorage_iframe.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/window_localStorage_enumerate_storage.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/window_localStorage_iframe_item.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/window_localStorage_store_nonstrings.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/window_sessionStorage_enumerate_storage.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/window_sessionStorage_iframe_item.html [new file with mode: 0644]
tct-webstorage-w3c-tests/webstorage/window_sessionStorage_store_nonstrings.html [new file with mode: 0644]

diff --git a/tct-pagevisibility-w3c-tests/pagevisibility/pagevisibility_DocumentVisibility_hidden_lockScreen.html b/tct-pagevisibility-w3c-tests/pagevisibility/pagevisibility_DocumentVisibility_hidden_lockScreen.html
new file mode 100644 (file)
index 0000000..e2636b1
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        HaoYunfen <yunfenx.hao@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+<html>
+    <head>
+        <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+        <title>Check if hidden attribute is false while the webpage from lock screen change to visible</title>
+        <SCRIPT src="../resources/testharness.js"></SCRIPT>
+        <script src="../resources/testharnessreport.js"></script>
+        <link rel="stylesheet" href="../resources/testharness.css" />
+    </head>
+    <body>
+        <div id="log"></div>
+        <script>
+            setTimeout(hiddenTest,2000);
+            var t=async_test("Check if hidden attribute is false while the webpage from lock screen change to visible");
+            var hidden = document.hidden || document.webkitHidden || document.mozHidden|| document.msHidden || oHidden;
+
+            function hiddenTest(){
+                t.step(function(){
+                    assert_true(!hidden,"expects hidden attribute is false");
+                });
+                t.done();
+            }
+        </script>
+    </body>
+</html>
diff --git a/tct-pagevisibility-w3c-tests/pagevisibility/pagevisibility_DocumentVisibility_hidden_minimize.html b/tct-pagevisibility-w3c-tests/pagevisibility/pagevisibility_DocumentVisibility_hidden_minimize.html
new file mode 100644 (file)
index 0000000..387dae8
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        HaoYunfen <yunfenx.hao@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+    <head>
+        <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+        <title>Check if hidden attribute is false while the webpage from minimize change to visible</title>
+        <SCRIPT src="../resources/testharness.js"></SCRIPT>
+        <script src="../resources/testharnessreport.js"></script>
+        <link rel="stylesheet" href="../resources/testharness.css" />
+    </head>
+    <body>
+        <div id="log"></div>
+        <script>
+            setTimeout(hiddenTest,2000);
+            var t=async_test("Check if hidden attribute is false while the webpage from minimize change to visible");
+            var hidden = document.hidden || document.webkitHidden || document.mozHidden|| document.msHidden || oHidden;
+            function hiddenTest(){
+                t.step(function() {
+                    assert_true(!hidden,"expects hidden attribute is false");
+                });
+                t.done();
+            }
+        </script>
+    </body>
+</html>
index 73de6d0d57226f699019eb7e4d7a93c2a4b83638..dbeba5d43888cfeab45b2b9e47e1e71b52fe497d 100644 (file)
           </spec>
         </specs>
       </testcase>
+      <testcase purpose="Check if hidden attribute is false while the webpage from lock screen change to visible" type="compliance" status="approved" component="WebAPI/Performance and Optimization/Page Visibility" execution_type="manual" priority="P3" id="pagevisibility_DocumentVisibility_Hidden_lockScreen">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>lock screen and then open the webpage after two seconds</step_desc>
+              <expected>PASS</expected>
+            </step>
+          </steps>
+          <test_script_entry timeout="90">/opt/tct-pagevisibility-w3c-tests/pagevisibility/pagevisibility_DocumentVisibility_hidden_lockScreen.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="DocumentVisibility" specification="Page Visibility" section="Performance and Optimization" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/page-visibility/</spec_url>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if hidden attribute is false while the webpage from minimize change to visible" type="compliance" status="approved" component="WebAPI/Performance and Optimization/Page Visibility" execution_type="manual" priority="P3" id="pagevisibility_DocumentVisibility_Hidden_minimize">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>change to minimize and then open the webpage after two seconds</step_desc>
+              <expected>PASS</expected>
+            </step>
+          </steps>
+          <test_script_entry timeout="90">/opt/tct-pagevisibility-w3c-tests/pagevisibility/pagevisibility_DocumentVisibility_hidden_minimize.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="DocumentVisibility" specification="Page Visibility" section="Performance and Optimization" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/page-visibility/</spec_url>
+          </spec>
+        </specs>
+      </testcase>
     </set>
   </suite>
 </test_definition>
index 5e36656ffa888a8f78090f771859f40765ef6675..7c767ed5a83187875d3a8f29f38fe2c838afa77b 100644 (file)
           </spec>
         </specs>
       </testcase>
+      <testcase purpose="Check if StorageEvent's constructor has two valid arguments that expecting StorageEvent object is to be created" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_constructor_base">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if StorageEvent's constructor has two valid arguments that expecting StorageEvent object is to be created</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_base.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the argument 'eventInitDict' of the StorageEvent's constructor is null that expecting StorageEvent object is to be created" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_constructor_eventInitDict_null">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the argument 'eventInitDict' of the StorageEvent's constructor is null that expecting StorageEvent object is to be created</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_eventInitDict_null.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the value of StorageEvent.key is 'null' when set it null" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_constructor_key_null">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the value of StorageEvent.key is 'null' when set it null</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_key_null.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the value of StorageEvent.key is 'undefined' when set it undefined" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_constructor_key_undefined">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the value of StorageEvent.key is 'undefined' when set it undefined</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_key_undefined.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the value of StorageEvent.newValue is 'null' when set it null" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_constructor_newValue_null">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the value of StorageEvent.newValue is 'null' when set it null</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_newValue_null.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the value of StorageEvent.newValue is 'undefined' when set it undefined" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_constructor_newValue_undefined">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the value of StorageEvent.newValue is 'undefined' when set it undefined</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_newValue_undefined.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the value of StorageEvent.key is empty string when StorageEvent's constructor no key" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_constructor_no_key">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the value of StorageEvent.key is empty string when StorageEvent's constructor no key</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_no_key.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the value of StorageEvent.newValue is null when StorageEvent's constructor no newValue" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_constructor_no_newValue">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the value of StorageEvent.newValue is null when StorageEvent's constructor no newValue</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_no_newValue.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the value of StorageEvent.oldValue is null when StorageEvent's contructor no oldValue" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_constructor_no_oldValue">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the value of StorageEvent.oldValue is null when StorageEvent's contructor no oldValue</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_no_oldValue.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the value of StorageEvent.url is empty string when StorageEvent's constructor no url" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_constructor_no_url">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the value of StorageEvent.url is empty string when StorageEvent's constructor no url</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_no_url.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the value of StorageEvent.oldValue is 'null' when set it null" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_constructor_oldValue_null">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the value of StorageEvent.oldValue is 'null' when set it null</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_oldValue_null.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the value of StorageEvent.oldValue is 'undefined' when set it undefined" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_constructor_oldValue_undefined">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the value of StorageEvent.oldValue is 'undefined' when set it undefined</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_oldValue_undefined.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the argument 'type' of the StorageEvent's constructor is null that expecting StorageEvent object is to be created" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_constructor_type_null">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the argument 'type' of the StorageEvent's constructor is null that expecting StorageEvent object is to be created</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_type_null.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the value of StorageEvent.url is 'null' when set it null" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_constructor_url_null">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the value of StorageEvent.url is 'null' when set it null</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_url_null.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the value of StorageEvent.url is 'undefined' when set it undefined" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_constructor_url_undefined">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the value of StorageEvent.url is 'undefined' when set it undefined</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_url_undefined.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the initial value of StorageEvent.key is empty string" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_key_initial_value">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the initial value of StorageEvent.key is empty string</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_key_initial_value.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the initial value of StorageEvent.newValue is null" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_newValue_initial_value">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the initial value of StorageEvent.newValue is null</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_newValue_initial_value.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the initial value of StorageEvent.oldValue is null" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_oldValue_initial_value">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the initial value of StorageEvent.oldValue is null</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_oldValue_initial_value.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the initial value of StorageEvent.storageArea is null" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_storageArea_initial_value">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the initial value of StorageEvent.storageArea is null</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_storageArea_initial_value.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the initial value of StorageEvent.url is empty string" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="StorageEvent_url_initial_value">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the initial value of StorageEvent.url is empty string</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/StorageEvent_url_initial_value.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if clear empty storage" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="Storage_clear_empty_storage">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if clear empty storage</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/Storage_clear_empty_storage.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the user had been insurance on this trip" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="manual" priority="P3" id="Storage_example_insurance_on_trip">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the user had been insurance on this trip</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/Storage_example_insurance_on_trip.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if the page can display a count of how many times the user has loaded it" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="manual" priority="P3" id="Storage_example_load_page_times">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if the page can display a count of how many times the user has loaded it</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/Storage_example_load_page_times.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="StorageEvent" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storageevent</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if storage key is case sensitive or not" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="Storage_keys_case_sensitive">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if storage key is case sensitive or not</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/Storage_keys_case_sensitive.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="Storage" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storage-0</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if set key name as 'length', to override storage attribute length" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="Storage_key_override_length">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if set key name as 'length', to override storage attribute length</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/Storage_key_override_length.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="Storage" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storage-0</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if Storage.removeItem can change the order of keys" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="Storage_removeItem_change_order">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if Storage.removeItem can change the order of keys</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/Storage_removeItem_change_order.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="Storage" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storage-0</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if that can enumerate a Storage object with the way localStorage.key and get the values" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="window_localStorage_enumerate_storage">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if that can enumerate a Storage object with the way localStorage.key and get the values</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/window_localStorage_enumerate_storage.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="WindowLocalStorage" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-localStorage</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if localStorage access to the API for pages from other domains running in iframes" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="manual" priority="P3" id="window_localStorage_iframe_item">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if localStorage access to the API for pages from other domains running in iframes</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/window_localStorage_iframe_item.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="WindowLocalStorage" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-localStorage</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if localStorage can only stores strings" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="window_localStorage_store_nonstrings">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if localStorage can only stores strings</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/window_localStorage_store_nonstrings.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="Storage" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storage-0</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if that can enumerate a Storage object with the way sessionStorage.key and get the values" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="window_sessionStorage_enumerate_storage">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if that can enumerate a Storage object with the way sessionStorage.key and get the values</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/window_sessionStorage_enumerate_storage.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="Storage" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#storage-0</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if sessionStorage access to the API for pages from other domains running in iframes" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="manual" priority="P3" id="window_sessionStorage_iframe_item">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if sessionStorage access to the API for pages from other domains running in iframes</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/window_sessionStorage_iframe_item.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="WindowSessionStorage" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-sessionStorage</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if sessionStorage can only stores strings" type="compliance" status="approved" component="WebAPI/Storage/Web Storage (Partial)" execution_type="auto" priority="P3" id="window_sessionStorage_store_nonstrings">
+        <description>
+          <pre_condition/>
+          <post_condition/>
+          <steps>
+            <step order="1">
+              <step_desc>Check if sessionStorage can only stores strings</step_desc>
+              <expected>Pass</expected>
+            </step>
+          </steps>
+          <test_script_entry>/opt/tct-webstorage-w3c-tests/webstorage/window_sessionStorage_store_nonstrings.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion usage="true" interface="WindowSessionStorage" specification="Web Storage (Partial)" section="Storage" category="Tizen W3C API Specifications"/>
+            <spec_url>http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-sessionStorage</spec_url>
+            <spec_statement/>
+          </spec>
+        </specs>
+      </testcase>
     </set>
   </suite>
 </test_definition>
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_base.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_base.html
new file mode 100644 (file)
index 0000000..e905a70
--- /dev/null
@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_constructor_base</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if StorageEvent's constructor has two valid arguments that expecting StorageEvent object is to be created" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+        function RunTest() {
+            try {
+                if (!("Storage" in window)) {
+                    FailTest("Storage is not in window");
+                }
+                var storageEvent = new StorageEvent("StorageEvent", {key : "key", oldValue : "oldValue", newValue : "newValue", url : "url", storageArea : sessionStorage});
+                if (typeof storageEvent == "object" && storageEvent instanceof StorageEvent) {
+                    PassTest();
+                } else {
+                    FailTest("not create a StorageEvent object");
+                }
+            } catch (ex) {
+                FailTest("{Error Name: " + ex.name +"}");
+            }
+        }
+        RunTest();
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_eventInitDict_null.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_eventInitDict_null.html
new file mode 100644 (file)
index 0000000..0897754
--- /dev/null
@@ -0,0 +1,69 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_constructor_eventInitDict_null</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the argument 'eventInitDict' of the StorageEvent's constructor is null that expecting StorageEvent object is to be created" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+        var result = 0;
+        var EXPECT_RESULT = 2;
+        function RunTest() {
+            try {
+                if (!("Storage" in window)) {
+                    FailTest("Storage is not in window");
+                }
+                var storageEvent = new StorageEvent("StorageEvent", null);
+                if (typeof storageEvent == "object" && storageEvent instanceof StorageEvent) {
+                    PassTest();
+                } else {
+                    FailTest("not create a StorageEvent object");
+                }
+            } catch (ex) {
+                FailTest("{Error Name: " + ex.name +"}");
+            }
+        }
+        RunTest();
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_key_null.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_key_null.html
new file mode 100644 (file)
index 0000000..b08fbef
--- /dev/null
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_constructor_key_null</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-storageevent-key" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the value of StorageEvent.key is 'null' when set it null" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+
+        function RunTest(store) {
+            var storageEvent = new StorageEvent("StorageEvent", {key : null, oldValue : "oldValue", newValue : "newValue", url : "url", storageArea : store});
+            if ((storageEvent.key == "null")) {
+                PassTest();
+            } else {
+                FailTest("StorageEvent.key is not 'null'");
+            }
+        }
+
+        RunTest(sessionStorage);
+    </script>
+  </body>
+</html>
+
+
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_key_undefined.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_key_undefined.html
new file mode 100644 (file)
index 0000000..1535186
--- /dev/null
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_constructor_key_undefined</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-storageevent-key" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the value of StorageEvent.key is 'undefined' when set it undefined" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+
+        function RunTest(store) {
+            var storageEvent = new StorageEvent("StorageEvent", {key : undefined, oldValue : "oldValue", newValue : "newValue", url : "url", storageArea : store});
+            if ((storageEvent.key == "undefined")) {
+                PassTest();
+            } else {
+                FailTest("StorageEvent.key is not 'undefined'");
+            }
+        }
+
+        RunTest(localStorage);
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_newValue_null.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_newValue_null.html
new file mode 100644 (file)
index 0000000..945575e
--- /dev/null
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_constructor_newValue_null</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-storageevent-key" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the value of StorageEvent.newValue is 'null' when set it null" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+        function RunTest() {
+            var storageEvent = new StorageEvent("StorageEvent", {key : "key", oldValue : "oldValue", newValue : null, url : "url", storageArea : sessionStorage});
+            if ((storageEvent.newValue == "null")) {
+                PassTest();
+            } else {
+                FailTest("StorageEvent.newValue is not 'null'");
+            }
+        }
+
+        RunTest();
+    </script>
+  </body>
+</html>
+
+
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_newValue_undefined.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_newValue_undefined.html
new file mode 100644 (file)
index 0000000..c88be56
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_constructor_newValue_undefined</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-storageevent-key" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the value of StorageEvent.newValue is 'undefined' when set it undefined" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+        function RunTest() {
+            var storageEvent = new StorageEvent("StorageEvent", {key : "key", oldValue : "oldValue", newValue : "undefined", url : "url", storageArea : sessionStorage});
+            if ((storageEvent.newValue == "undefined")) {
+                PassTest();
+            } else {
+                FailTest("StorageEvent.newValue is not 'undefined'");
+            }
+        }
+
+        RunTest();
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_no_key.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_no_key.html
new file mode 100644 (file)
index 0000000..0b195cb
--- /dev/null
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_constructor_no_key</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-storageevent-key" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the value of StorageEvent.key is empty string when StorageEvent's constructor no key" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+
+        function RunTest(store) {
+            var storageEvent = new StorageEvent("StorageEvent", {oldValue : "oldValue", newValue : "newValue", url : "url", storageArea : store});
+            if ((storageEvent.key == "")) {
+                PassTest();
+            } else {
+                FailTest("StorageEvent.key is not empty string");
+            }
+        }
+
+        RunTest(localStorage);
+    </script>
+  </body>
+</html>
+
+
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_no_newValue.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_no_newValue.html
new file mode 100644 (file)
index 0000000..63e7c9b
--- /dev/null
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_constructor_no_newValue</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-storageevent-key" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the value of StorageEvent.newValue is null when StorageEvent's constructor no newValue" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+
+        function RunTest() {
+            var storageEvent = new StorageEvent("StorageEvent", {key : "key", oldValue : "oldValue", url : "url", storageArea : sessionStorage});
+            if ((storageEvent.newValue == null)) {
+                PassTest();
+            } else {
+                FailTest("StorageEvent.newValue is not null");
+            }
+        }
+
+        RunTest();
+    </script>
+  </body>
+</html>
+
+
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_no_oldValue.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_no_oldValue.html
new file mode 100644 (file)
index 0000000..a3983a7
--- /dev/null
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_constructor_no_oldValue</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-storageevent-key" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the value of StorageEvent.oldValue is null when StorageEvent's contructor no oldValue" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+
+        function RunTest() {
+            var storageEvent = new StorageEvent("StorageEvent", {key : "key", newValue : "newValue", url : "url", storageArea : sessionStorage});
+            if ((storageEvent.oldValue == null)) {
+                PassTest();
+            } else {
+                FailTest("StorageEvent.oldValue is not null");
+            }
+        }
+
+        RunTest();
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_no_url.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_no_url.html
new file mode 100644 (file)
index 0000000..7c17272
--- /dev/null
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_constructor_no_url</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-storageevent-key" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the value of StorageEvent.url is empty string when StorageEvent's constructor no url" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+
+        function RunTest(store) {
+            var storageEvent = new StorageEvent("StorageEvent", {key : "key", oldValue : "oldValue", newValue : "newValue", storageArea : store});
+            if ((storageEvent.url == "")) {
+                PassTest();
+            } else {
+                FailTest("StorageEvent.url is not empty string");
+            }
+        }
+
+        RunTest(localStorage);
+    </script>
+  </body>
+</html>
+
+
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_oldValue_null.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_oldValue_null.html
new file mode 100644 (file)
index 0000000..42cd41d
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_constructor_oldValue_null</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-storageevent-key" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the value of StorageEvent.oldValue is 'null' when set it null" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+        function RunTest() {
+            var storageEvent = new StorageEvent("StorageEvent", {key : "key", oldValue : null, newValue : "newValue", url : "url", storageArea : sessionStorage});
+            if ((storageEvent.oldValue == "null")) {
+                PassTest();
+            } else {
+                FailTest("StorageEvent.oldValue is not 'null'");
+            }
+        }
+
+        RunTest();
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_oldValue_undefined.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_oldValue_undefined.html
new file mode 100644 (file)
index 0000000..156520f
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_constructor_oldValue_undefined</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-storageevent-key" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the value of StorageEvent.oldValue is 'undefined' when set it undefined" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+        function RunTest() {
+            var storageEvent = new StorageEvent("StorageEvent", {key : "key", oldValue : undefined, newValue : "newValue", url : "url", storageArea : sessionStorage});
+            if ((storageEvent.oldValue == "undefined")) {
+                PassTest();
+            } else {
+                FailTest("StorageEvent.oldValue is not 'undefined'");
+            }
+        }
+
+        RunTest();
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_type_null.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_type_null.html
new file mode 100644 (file)
index 0000000..b11cb59
--- /dev/null
@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_constructor_type_null</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the argument 'type' of the StorageEvent's constructor is null that expecting StorageEvent object is to be created" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+        function RunTest() {
+            try {
+                if (!("Storage" in window)) {
+                    FailTest("Storage is not in window");
+                }
+                var storageEvent = new StorageEvent(null, {key : "key", oldValue : "oldValue", newValue : "newValue", url : "url", storageArea : sessionStorage});
+                if (typeof storageEvent == "object" && storageEvent instanceof StorageEvent) {
+                    PassTest();
+                } else {
+                    FailTest("not create a StorageEvent object");
+                }
+            } catch (ex) {
+                FailTest("{Error Name: " + ex.name +"}");
+            }
+        }
+        RunTest();
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_url_null.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_url_null.html
new file mode 100644 (file)
index 0000000..091ebad
--- /dev/null
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_key_type</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-storageevent-url" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the value of StorageEvent.url is 'null' when set it null" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+
+        function RunTest(store) {
+            var storageEvent = new StorageEvent("StorageEvent", {key : "key", oldValue : "oldValue", newValue : "newValue", url : null, storageArea : store});
+            if ((storageEvent.url == "null")) {
+                PassTest();
+            } else {
+                FailTest("StorageEvent.url is not 'null'");
+            }
+        }
+
+        RunTest(sessionStorage);
+    </script>
+  </body>
+</html>
+
+
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_url_undefined.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_constructor_url_undefined.html
new file mode 100644 (file)
index 0000000..0f209b6
--- /dev/null
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_constructor_url_undefined</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-storageevent-url" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the value of StorageEvent.url is 'undefined' when set it undefined" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+
+        function RunTest(store) {
+            var storageEvent = new StorageEvent("StorageEvent", {key : "key", oldValue : "oldValue", newValue : "newValue", url : undefined, storageArea : store});
+            if ((storageEvent.url == "undefined")) {
+                PassTest();
+            } else {
+                FailTest("StorageEvent.url is not 'undefined'");
+            }
+        }
+
+        RunTest(localStorage);
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_key_initial_value.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_key_initial_value.html
new file mode 100644 (file)
index 0000000..0d649d2
--- /dev/null
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_key_initial_value</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-storageevent-key" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the initial value of StorageEvent.key is empty string" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+        function RunTest() {
+            try {
+                if (!("Storage" in window)) {
+                    FailTest("Storage is not in window");
+                }
+                var storageEvent = new StorageEvent("StorageEvent");
+                var iniKey = storageEvent.key;
+                if (iniKey === "") {
+                    PassTest();
+                } else {
+                    FailTest("the initial value of StorageEvent.key is not empty string");
+                }
+            } catch (ex) {
+                FailTest("{Error Name: " + ex.name +"}");
+            }
+        }
+        RunTest();
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_newValue_initial_value.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_newValue_initial_value.html
new file mode 100644 (file)
index 0000000..10e0810
--- /dev/null
@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_newValue_initial_value</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the initial value of StorageEvent.newValue is null" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+        function RunTest() {
+            try {
+                if (!("Storage" in window)) {
+                    FailTest("Storage is not in window");
+                }
+                var storageEvent = new StorageEvent("StorageEvent");
+                if (storageEvent.newValue === null) {
+                    PassTest();
+                } else {
+                    FailTest("the initial value of storageEvent.newValue is not null");
+                }
+            } catch (ex) {
+                FailTest("{Error Name: " + ex.name +"}");
+            }
+        }
+        RunTest();
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_oldValue_initial_value.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_oldValue_initial_value.html
new file mode 100644 (file)
index 0000000..3b4bae5
--- /dev/null
@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_oldValue_initial_value</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the initial value of StorageEvent.oldValue is null" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+        function RunTest() {
+            try {
+                if (!("Storage" in window)) {
+                    FailTest("Storage is not in window");
+                }
+                var storageEvent = new StorageEvent("StorageEvent");
+                if (storageEvent.oldValue === null) {
+                    PassTest();
+                } else {
+                    FailTest("the initial value of storageEvent.oldValue is not null");
+                }
+            } catch (ex) {
+                FailTest("{Error Name: " + ex.name +"}");
+            }
+        }
+        RunTest();
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_storageArea_initial_value.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_storageArea_initial_value.html
new file mode 100644 (file)
index 0000000..91fbbcb
--- /dev/null
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_storageArea_initial_value</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-storageevent-storagearea" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the initial value of StorageEvent.storageArea is null" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+        function RunTest() {
+            try {
+                if (!("Storage" in window)) {
+                    FailTest("Storage is not in window");
+                }
+                var storageEvent = new StorageEvent("StorageEvent");
+                var iniStorageArea = storageEvent.storageArea;
+                if (iniStorageArea === null) {
+                    PassTest();
+                } else {
+                    FailTest("the initial value of StorageEvent.storageArea is not null");
+                }
+            } catch (ex) {
+                FailTest("{Error Name: " + ex.name +"}");
+            }
+        }
+        RunTest();
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/StorageEvent_url_initial_value.html b/tct-webstorage-w3c-tests/webstorage/StorageEvent_url_initial_value.html
new file mode 100644 (file)
index 0000000..3e68892
--- /dev/null
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: StorageEvent_url_initial_value</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if the initial value of StorageEvent.url is empty string" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+        function RunTest() {
+            try {
+                if (!("Storage" in window)) {
+                    FailTest("Storage is not in window");
+                }
+                var storageEvent = new StorageEvent("StorageEvent");
+                var iniURL = storageEvent.url;
+                if (iniURL === "") {
+                    PassTest();
+                } else {
+                    FailTest("the initial value of StorageEvent.url is not empty string");
+                }
+            } catch (ex) {
+                FailTest("{Error Name: " + ex.name +"}");
+            }
+        }
+        RunTest();
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/Storage_clear_empty_storage.html b/tct-webstorage-w3c-tests/webstorage/Storage_clear_empty_storage.html
new file mode 100644 (file)
index 0000000..5e139ff
--- /dev/null
@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Xu,Liyu <liyux.xu@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: Storage_clear_empty_storage</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-storage-clear" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if clear empty storage" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title, { timeout: 500 });
+        t.step(function () {
+            if(!("sessionStorage" in window))
+            {
+                assert_true(false, "The element sessionStorage  not exist");
+            }
+            var store = window.sessionStorage;
+            store.setItem(null, "value");
+            store.removeItem(null);
+            store.clear();
+            var test=store.length;
+            var prop = test == 0;
+            assert_true(prop, "The element sessionStorage.length should not be 0");
+        });
+        t.done();
+    </script>
+  </body>
+</html>
+
diff --git a/tct-webstorage-w3c-tests/webstorage/Storage_example_insurance_on_trip.html b/tct-webstorage-w3c-tests/webstorage/Storage_example_insurance_on_trip.html
new file mode 100644 (file)
index 0000000..9bbe5ab
--- /dev/null
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: Storage_example_insurance_on_trip</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/" />
+    <meta name="flags" content="interact" />
+    <meta name="assert" content="Check if the user had been insurance on this trip" />
+  </head>
+  <body>
+    <span>
+      Step 1. Check if the page show "you had not been insurance on this trip" when you first access it.<br>
+      Step 2. Check the checkbox, click the 'Run' button to refresh the page, and then check if the page show "you had been insurance on this trip".<br>
+      Test passes if the above two steps are all true.<br>
+    </span>
+    <label>
+      <h3><input type="checkbox" onchange="sessionStorage.insurance = checked ? true : false">
+        I want insurance on this trip.</h3>
+    </label>
+    <script>
+        if (sessionStorage.insurance == "true") {
+            document.write("<h2>you had been insurance on this trip.</h2>");
+        } else {
+            document.write("<h2>you had not been insurance on this trip.</h2>");
+        }
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/Storage_example_load_page_times.html b/tct-webstorage-w3c-tests/webstorage/Storage_example_load_page_times.html
new file mode 100644 (file)
index 0000000..4fb59b2
--- /dev/null
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: Storage_example_load_page_times</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/" />
+    <meta name="flags" content="interact" />
+    <meta name="assert" content="Check if the page can display a count of how many times the user has loaded it" />
+  </head>
+  <body>
+    <span>
+      Step 1. Click the "Clear" button, refresh the page once and then check if the page shows "You have viewed this page 1 time(s)".<br>
+      Step 2. Click the "Run" button four times and then check if the page shows "You have viewed this page 5 time(s)".<br>
+      Step 3. If the above two steps are all true the test case pass, otherwise it fail.<br>
+    </span>
+    <p>
+      <h2>You have viewed this page
+      <span id="count">an untold number of</span>
+      time(s).</h2>
+      <button type="button" onclick="javascript:localStorage.pageLoadCount = 0;"><h3>Clear</h3></button>
+    </p>
+    <script>
+        if (!localStorage.pageLoadCount) {
+            localStorage.pageLoadCount = 0;
+        }
+        localStorage.pageLoadCount = parseInt(localStorage.pageLoadCount) + 1;
+        document.getElementById('count').textContent = localStorage.pageLoadCount;
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/Storage_key_override_length.html b/tct-webstorage-w3c-tests/webstorage/Storage_key_override_length.html
new file mode 100644 (file)
index 0000000..fc1de2f
--- /dev/null
@@ -0,0 +1,89 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Lei Yang <lei.a.yang@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: Storage_key_override_length</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-storage-key" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if set key name as 'length', to override storage attribute length" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+        var result = 0;
+
+        function test_storage_keys(store) {
+            if (!store) {
+                 FailTest("FAIL to get correct storage object");
+            }
+            store.clear();
+            if (store.length != 0)
+                FailTest("clear storage fail");
+            try
+                {
+                // test override length
+                if (null != store.getItem('length'))
+                    FailTest("should not have a key \'length\'");
+                store.setItem('length', 0);
+                if(store.length != 1)
+                    FailTest("add a item with key \'length\' fail");
+                if(0 != store.getItem('length'))
+                    FailTest("get value of key \'length\' fail");
+
+                if (result >= 1)
+                    PassTest();
+                else result += 1;
+
+            } catch (ex) {
+                FailTest("{Exception code: " + ex.code + "}");
+            }
+        }
+
+        function RunTest() {
+            test_storage_keys(localStorage);
+            test_storage_keys(sessionStorage);
+        }
+        Initialize();
+        RunTest();
+        Deinitialize();
+
+    </script>
+  </body>
+</html>
+
diff --git a/tct-webstorage-w3c-tests/webstorage/Storage_keys_case_sensitive.html b/tct-webstorage-w3c-tests/webstorage/Storage_keys_case_sensitive.html
new file mode 100644 (file)
index 0000000..6a47f89
--- /dev/null
@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Lei Yang <lei.a.yang@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: Storage_keys_case_sensitive</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-storage-key" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if storage key is case sensitive or not" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+        var result = 0;
+
+        function test_storage_keys(store) {
+            if (!store) {
+                FailTest("FAIL to get correct storage object");
+            }
+            store.clear();
+            if (store.length != 0) FailTest("clear storage fail");
+            try
+            {
+                // test uppercase and lowercase sensitive
+                store.setItem('FOO', 'upper_foo');
+                if ("upper_foo" != store.getItem('FOO'))
+                    FailTest("restored a key fail");
+                if (null != store.getItem('Foo'))
+                    FailTest("not case sensitive on keys");
+                result++;
+                if(result >= 2)
+                    PassTest();
+            } catch (ex) {
+                FailTest("{Exception code: " + ex.code + "}");
+            }
+        }
+
+        function RunTest() {
+            test_storage_keys(localStorage);
+            test_storage_keys(sessionStorage);
+        }
+        Initialize();
+        RunTest();
+        Deinitialize();
+    </script>
+  </body>
+</html>
+
diff --git a/tct-webstorage-w3c-tests/webstorage/Storage_removeItem_change_order.html b/tct-webstorage-w3c-tests/webstorage/Storage_removeItem_change_order.html
new file mode 100644 (file)
index 0000000..2120bbf
--- /dev/null
@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: Storage_removeItem_change_order</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-storage-removeItem" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if Storage.removeItem can change the order of keys" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+        var result = 0;
+        var EXPECT_RESULT = 2;
+        function RunTest(store) {
+            try {
+                if(!("Storage" in window)) {
+                    FailTest("Storage is not in window");
+                }
+                if (store.length != 0) {
+                    store.clear();
+                }
+                store.setItem("key1", "value1");
+                store.setItem("key2", "value2");
+                var key0 = store.key(0);
+                store.removeItem(key0);
+
+                if (key0 != store.key(0)) {
+                    result ++;
+                } else {
+                    FailTest("Storage.removeItem can not change the order of the keys");
+                }
+                if (result === EXPECT_RESULT) {
+                    PassTest();
+                }
+            } catch (ex) {
+                FailTest("occur an exception " + ex.name);
+            }
+        }
+        RunTest(sessionStorage);
+            RunTest(localStorage);
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/localStorage_iframe.html b/tct-webstorage-w3c-tests/webstorage/localStorage_iframe.html
new file mode 100644 (file)
index 0000000..142dc83
--- /dev/null
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Fan,Weiwei <weiwix.fan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: window_localStorage_iframe_item</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-localstorage" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if sessionStorage access to the API for pages from other domains running in iframes" />
+  </head>
+  <body>
+    <div id = "result" style="float:left; margin-right:25px; font-size:20px"></div>
+    <div style = "float:left; font-size:20px">WebStorage Test: window_localStorage_iframe_item</div>
+    <script>
+        var resultValue = localStorage.getItem("localStorageIframeKey");
+        var resultDiv = document.getElementById("result");
+        var infoDiv = document.getElementById("info");
+        if(!("localStorage" in window)) {
+            resultDiv.innerHTML = "fail";
+            resultDiv.style.color = "red";
+            infoDiv.innerHTML = "localStorage is not in window";
+        }
+        if(resultValue == "localStorageIframeValue"){
+            resultDiv.innerHTML = "Pass";
+            resultDiv.style.color = "green";
+        } else {
+            resultDiv.innerHTML = "fail";
+            resultDiv.style.color = "red";
+            infoDiv.innerHTML = "the value is not 'localStorageIframeValue'";
+        }
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/sessionStorage_iframe.html b/tct-webstorage-w3c-tests/webstorage/sessionStorage_iframe.html
new file mode 100644 (file)
index 0000000..7ca9a70
--- /dev/null
@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Yan,ChangCi <changci.yan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: window_sessionStorage_iframe_item</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-sessionStorage" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if sessionStorage access to the API for pages from other domains running in iframes" />
+  </head>
+  <body>
+    <div id = "result" style="float:left; margin-right:25px; font-size:20px"></div>
+    <div id="info" style = "float:left; font-size:20px">WebStorage Test: window_sessionStorage_iframe_item</div>
+    <script>
+        var resultValue = sessionStorage.getItem("sessionStorageIframeKey");
+        var resultDiv = document.getElementById("result");
+        var infoDiv = document.getElementById("info");
+        if(!("sessionStorage" in window)) {
+            resultDiv.innerHTML = "fail";
+            resultDiv.style.color = "red";
+            infoDiv.innerHTML = "sessionStorage is not in window";
+        }
+
+        if(resultValue == "sessionStorageIframeValue"){
+            resultDiv.innerHTML = "Pass";
+            resultDiv.style.color = "green";
+        } else {
+            resultDiv.innerHTML = "fail";
+            resultDiv.style.color = "red";
+            infoDiv.innerHTML = "the value is not 'sessionStorageIframeValue'";
+        }
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/window_localStorage_enumerate_storage.html b/tct-webstorage-w3c-tests/webstorage/window_localStorage_enumerate_storage.html
new file mode 100644 (file)
index 0000000..506b6bd
--- /dev/null
@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Lei Yang <lei.a.yang@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage: window_localStorage_enumerate_storage</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-localStorage" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if that can enumerate a Storage object with the way localStorage.key and get the values" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+        var store_list = new Array("key0", "value0", "key1", "value1", "key2", "value2", "key3", "value3", "key4", "value4");
+
+        function RunTest() {
+            try {
+                if(!("localStorage" in window))
+                    FailTest("localStorage is not in window");
+                var store = window.localStorage;
+                store.clear();
+                for (var i=0; i<store_list.length; i++) {
+                    if (i != 0) {
+                        if((i%2) == 1) {
+                            store.setItem(store_list[i-1], store_list[i]);
+                            if(!(store.length == parseInt(i/2+1)))
+                                FailTest("length is not correct");
+                            }
+                        }
+                    }
+
+                for (var i=0; i<store_list.length; i++) {
+                    if((i%2) == 0) {
+                        var avalue = store.getItem(store_list[i]);
+                            if(!(avalue === store_list[(i+1)]))
+                                FailTest("not enumerate the storage correctly");
+                        }
+                    }
+                    PassTest();
+                }
+                catch (ex)
+                {
+                    FailTest("{Exception code: " + ex.code + "}");
+                }
+            }
+            Initialize();
+            RunTest();
+            Deinitialize();
+    </script>
+  </body>
+</html>
+
diff --git a/tct-webstorage-w3c-tests/webstorage/window_localStorage_iframe_item.html b/tct-webstorage-w3c-tests/webstorage/window_localStorage_iframe_item.html
new file mode 100644 (file)
index 0000000..f5b07ab
--- /dev/null
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Yan,ChangCi <changci.yan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: window_localStorage_iframe_item</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-localStorage" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if localStorage access to the API for pages from other domains running in iframes" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <p>
+      <strong>Directions: </strong>If the page shows "Pass" the test case pass, otherwise it fail.<br>
+    </p>
+    <iframe src="localStorage_iframe.html" style="width:100%;min-height:300px;border:none" SCROLLING="no"></iframe>
+    <script type="text/javascript">
+        localStorage.setItem("localStorageIframeKey", "localStorageIframeValue");
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/window_localStorage_store_nonstrings.html b/tct-webstorage-w3c-tests/webstorage/window_localStorage_store_nonstrings.html
new file mode 100644 (file)
index 0000000..6964c23
--- /dev/null
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Lei Yang <lei.a.yang@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: window_localStorage_store_nonstrings</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/webstorage/#dom-localStorage-setItem" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if localStorage can only stores strings" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+
+        function RunTest() {
+            try {
+                if(!("localStorage" in window)) {
+                    FailTest("localStorage is not in window");
+                    return;
+                }
+                var store = window.localStorage;
+                store.clear();
+                store.setItem("akey", 1);
+                if ("1" == store.getItem("akey")) {
+                    PassTest();
+                    return;
+                }
+                PassTest();
+            } catch (ex) {
+                FailTest("{Exception code: " + ex.code + "}");
+            }
+        }
+        Initialize();
+        RunTest();
+        Deinitialize();
+    </script>
+  </body>
+</html>
+
diff --git a/tct-webstorage-w3c-tests/webstorage/window_sessionStorage_enumerate_storage.html b/tct-webstorage-w3c-tests/webstorage/window_sessionStorage_enumerate_storage.html
new file mode 100644 (file)
index 0000000..0a29ab7
--- /dev/null
@@ -0,0 +1,90 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Lei Yang <lei.a.yang@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: sessionStorage_enumerate_storage</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-sessionStorage" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if that can enumerate a Storage object with the way sessionStorage.key and get the values" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+        var store_list = new Array("key0", "value0", "key1", "value1", "key2", "value2", "key3", "value3", "key4", "value4");
+
+        function RunTest() {
+            try
+                {
+                if(!("sessionStorage" in window))
+                    FailTest("sessionStorage is not in window");
+                var store = window.sessionStorage;
+                store.clear();
+                for (var i=0; i<store_list.length; i++) {
+                    if (i != 0) {
+                        if((i%2) == 1) {
+                            store.setItem(store_list[i-1], store_list[i]);
+                            if(!(store.length == parseInt(i/2+1)))
+                                FailTest("length is not correct");
+                            }
+                        }
+                    }
+
+                    for (var i=0; i<store_list.length; i++) {
+                        if((i%2) == 0) {
+                            var avalue = store.getItem(store_list[i]);
+                            if(!(avalue === store_list[(i+1)]))
+                                FailTest("not enumerate the storage correctly");
+                            }
+                        }
+
+                    PassTest();
+                }
+                catch (ex)
+                {
+                    FailTest("{Exception code: " + ex.code + "}");
+                }
+            }
+            Initialize();
+            RunTest();
+            Deinitialize();
+
+    </script>
+</body>
+</html>
+
diff --git a/tct-webstorage-w3c-tests/webstorage/window_sessionStorage_iframe_item.html b/tct-webstorage-w3c-tests/webstorage/window_sessionStorage_iframe_item.html
new file mode 100644 (file)
index 0000000..ce00123
--- /dev/null
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Yan,ChangCi <changci.yan@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: window_sessionStorage_iframe_item</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-sessionStorage" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if sessionStorage access to the API for pages from other domains running in iframes" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <p>
+      <strong>Directions: </strong>If the page shows "Pass" the test case pass, otherwise it fail.<br>
+    </p>
+    <iframe src="sessionStorage_iframe.html" style="width:100%;min-height:300px;border:none" SCROLLING="no"></iframe>
+    <script>
+        sessionStorage.setItem("sessionStorageIframeKey", "sessionStorageIframeValue");
+    </script>
+  </body>
+</html>
diff --git a/tct-webstorage-w3c-tests/webstorage/window_sessionStorage_store_nonstrings.html b/tct-webstorage-w3c-tests/webstorage/window_sessionStorage_store_nonstrings.html
new file mode 100644 (file)
index 0000000..2c11db3
--- /dev/null
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Lei Yang <lei.a.yang@intel.com>
+        Xu,Yuhan <yuhanx.xu@intel.com>
+
+-->
+
+<html>
+  <head>
+    <title>WebStorage Test: window_sessionStorage_store_nonstrings</title>
+    <link rel="author" title="Intel" href="http://www.intel.com" />
+    <link rel="help" href="http://www.w3.org/TR/2011/CR-webstorage-20111208/#dom-sessionStorage" />
+    <meta name="flags" content="" />
+    <meta name="assert" content="Check if sessionStorage can only stores strings" />
+    <script src="support.js"></script>
+    <script src="../resources/testharness.js"></script>
+    <script src="../resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+        var t = async_test(document.title);
+
+        function RunTest() {
+            try {
+                if (!("sessionStorage" in window)) {
+                    FailTest("sessionStorage is not in window");
+                    return;
+                }
+                var store = window.sessionStorage;
+                store.clear();
+                store.setItem("akey", 1);
+                if ("1" == store.getItem("akey")) {
+                    PassTest();
+                    return;
+                }
+                PassTest();
+            } catch (ex) {
+                FailTest("{Exception code: " + ex.code + "}");
+            }
+        }
+        Initialize();
+        RunTest();
+        Deinitialize();
+    </script>
+  </body>
+</html>
+