</spec>
</specs>
</testcase>
+ <testcase purpose="Check if create an event that uses the MessageEvent interface, with the event type message, which does not bubble, is not cancelable, and has no default action" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="MessageEvent_properties.htm">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if let target port be the port with which source port is entangled</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/MessageEvent_properties.htm</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if postMessage to same-origin iframe with MessagePort array containing 100 ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="postMessage_MessagePorts_sorigin_1">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check that the basic usage of messagechannel method with cross-document channel</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/postMessage_MessagePorts_sorigin.htm?total_num=2&locator_key=id&value=1</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if messageChannel is supported" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="postMessage_MessagePorts_sorigin_2">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method resolve broken url without ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/postMessage_MessagePorts_sorigin.htm?total_num=2&locator_key=id&value=2</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to undefined without ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="without-ports_010_1">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method set origin of the script that invoked the method 'data:' without ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/without-ports/010.html?total_num=15&locator_key=id&value=1</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to regex without ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="without-ports_010_10">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method resolve 'example.org' with ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/without-ports/010.html?total_num=15&locator_key=id&value=10</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to self without ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="without-ports_010_11">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method resolve special value '/' with ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/without-ports/010.html?total_num=15&locator_key=id&value=11</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to error without ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="without-ports_010_14">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method resolve special value '*' with ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/without-ports/010.html?total_num=15&locator_key=id&value=14</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to unreached without ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="without-ports_010_15">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method post an imagedata (from a cloned canvas) in an array with ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/without-ports/010.html?total_num=15&locator_key=id&value=15</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to null without ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="without-ports_010_2">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method set origin of the script that invoked the method 'about:blank' without ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/without-ports/010.html?total_num=15&locator_key=id&value=2</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to false without ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="without-ports_010_3">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method set origin of the script that invoked the method 'javascript:' without ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/without-ports/010.html?total_num=15&locator_key=id&value=3</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to true without ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="without-ports_010_4">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method set origin of the script that invoked the method 'scheme/host/port' without ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/without-ports/010.html?total_num=15&locator_key=id&value=4</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to 1 without ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="without-ports_010_5">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the object clone with own properties only</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/without-ports/010.html?total_num=15&locator_key=id&value=5</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to NaN without ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="without-ports_010_6">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if throw an exception if function values encountered without ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/without-ports/010.html?total_num=15&locator_key=id&value=6</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to Infinity without ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="without-ports_010_7">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the object clone with preserving sharing without ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/without-ports/010.html?total_num=15&locator_key=id&value=7</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to string without ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="without-ports_010_8">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method resolve broken url with ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/without-ports/010.html?total_num=15&locator_key=id&value=8</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to date without ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="without-ports_010_9">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method resolve url with stuff in host-specific with ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/without-ports/010.html?total_num=15&locator_key=id&value=9</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to undefined with ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="with-ports_010_1">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method set origin of the script that invoked the method 'about:blank' with ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/with-ports/010.html?total_num=15&locator_key=id&value=1</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to regex with ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="with-ports_010_10">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method set message channel as ports with ports4</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/with-ports/010.html?total_num=15&locator_key=id&value=10</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to self with ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="with-ports_010_11">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method set message channel as ports with ports5</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/with-ports/010.html?total_num=15&locator_key=id&value=11</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to error with ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="with-ports_010_14">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method set message channel as ports with ports8</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/with-ports/010.html?total_num=15&locator_key=id&value=14</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to unreached with ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="with-ports_010_15">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method set message channel as ports with ports9</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/with-ports/010.html?total_num=15&locator_key=id&value=15</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to null with ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="with-ports_010_2">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method set origin of the script that invoked the method 'javascript:' with ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/with-ports/010.html?total_num=15&locator_key=id&value=2</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to false with ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="with-ports_010_3">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method set origin of the script that invoked the method 'scheme/host/port' with ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/with-ports/010.html?total_num=15&locator_key=id&value=3</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to true with ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="with-ports_010_4">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method set null ports with ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/with-ports/010.html?total_num=15&locator_key=id&value=4</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to 1 with ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="with-ports_010_5">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method set undefined as ports with ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/with-ports/010.html?total_num=15&locator_key=id&value=5</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to NaN with ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="with-ports_010_6">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method set message channel as ports with ports</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/with-ports/010.html?total_num=15&locator_key=id&value=6</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to Infinity with ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="with-ports_010_7">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method set message channel as ports with ports1</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/with-ports/010.html?total_num=15&locator_key=id&value=7</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to string with ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="with-ports_010_8">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method set message channel as ports with ports2</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/with-ports/010.html?total_num=15&locator_key=id&value=8</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
+ <testcase purpose="Check if the e.data is equals to date with ports" type="compliance" status="approved" component="WebAPI/Communication/HTML5 Web Messaging" execution_type="auto" priority="P2" id="with-ports_010_9">
+ <description>
+ <pre_condition/>
+ <post_condition/>
+ <steps>
+ <step order="1">
+ <step_desc>Check if the postMessage method set message channel as ports with ports3</step_desc>
+ <expected>Pass</expected>
+ </step>
+ </steps>
+ <test_script_entry>/opt/tct-webmessaging-w3c-tests/webmessaging/w3c/with-ports/010.html?total_num=15&locator_key=id&value=9</test_script_entry>
+ </description>
+ <specs>
+ <spec>
+ <spec_assertion element_type="method" element_name="postMessage" interface="MessagePort" specification="HTML5 Web Messaging" section="Communication" category="Tizen W3C API Specifications"/>
+ <spec_url>http://www.w3.org/TR/2012/CR-webmessaging-20120501/#dom-messageport-postmessage</spec_url>
+ <spec_statement/>
+ </spec>
+ </specs>
+ </testcase>
</set>
</suite>
</test_definition>
--- /dev/null
+<!doctype html>
+<title>message clone</title>
+<script src="../../../resources/testharness.js"></script>
+<script src="../../../resources/testharnessreport.js"></script>
+<div id=log></div>
+<script>
+function sameDate(d1, d2)
+{
+ return (d1 instanceof Date && d2 instanceof Date && d1.valueOf() == d2.valueOf());
+}
+
+function sameRE(r1, r2)
+{
+ return (r1 instanceof RegExp && r2 instanceof RegExp && r1.toString() == r2.toString());
+}
+
+function assert_array_equals_(observed, expected, msg)
+{
+ if (observed.length == expected.length)
+ {
+ for (var i = 0; i < observed.length; i++)
+ if (observed[i] instanceof Date)
+ {
+ expected[i] = true;
+ observed[i] = sameDate(observed[i], expected[i]);
+ }
+ else if (observed[i] instanceof RegExp)
+ {
+ expected[i] = true;
+ observed[i] = sameRE(observed[i], expected[i]);
+ }
+ }
+
+ assert_array_equals(observed, expected, msg);
+}
+
+function assert_object_equals_(observed, expected, msg)
+{
+ for (var p in observed)
+ {
+ if (observed[p] instanceof Date)
+ {
+ expected[p] = true;
+ observed[p] = sameDate(observed[p], expected[p]);
+ }
+ else if (observed[p] instanceof RegExp)
+ {
+ expected[p] = true;
+ observed[p] = sameRE(observed[p], expected[p]);
+ }
+ else if (observed[p] instanceof Array || String(observed[p]) === '[object Object]')
+ {
+ expected[p] = true;
+ observed[p] = String(observed[p]) === String(expected[p]);
+ }
+ assert_equals(observed[p], expected[p], msg);
+ }
+}
+
+ var err = new Error('foo');
+ var date = new Date();
+
+ var test_array = [ undefined,
+ null,
+ false,
+ true,
+ 1,
+ NaN,
+ Infinity,
+ 'foo',
+ date,
+ /foo/,
+ null/*self*/,
+ null/*err*/];
+
+ var cloned_array = [ undefined,
+ null,
+ false,
+ true,
+ 1,
+ NaN,
+ Infinity,
+ 'foo',
+ date,
+ /foo/,
+ null/*self*/,
+ null/*err*/];
+
+ var test_object = {a: undefined,
+ b: null,
+ c: false,
+ d: true,
+ e: 1,
+ f: NaN,
+ g: Infinity,
+ h: 'foo',
+ i: date,
+ j: /foo/,
+ k: null/*self*/,
+ l: [],
+ m: {},
+ n: null /*err*/};
+
+ var cloned_object = {a:undefined, b:null, c:false, d:true, e:1, f:NaN, g:Infinity, h:'foo', i: date, j: /foo/, k:null, l: [], m: {}, n:null};
+
+ var tests = [undefined, null,
+ false, true,
+ 1, NaN, Infinity,
+ 'foo',
+ date,
+ /foo/,
+ /* ImageData, File, FileData, FileList, */
+ null /*self*/,
+ test_array,
+ test_object,
+ null /*err*/];
+
+ for (var i = 0; i < tests.length; ++i) {
+ postMessage(tests[i], '*', []);
+ }
+
+ var test_undefined = async_test('undefined');
+ var test_null = async_test('null');
+ var test_false = async_test('false');
+ var test_true = async_test('true');
+ var test_1 = async_test('1');
+ var test_NaN = async_test('NaN');
+ var test_Infinity = async_test('Infinity');
+ var test_string = async_test('string');
+ var test_date = async_test('date');
+ var test_regex = async_test('regex');
+ var test_self = async_test('self');
+ var test_array = async_test('array');
+ var test_object = async_test('object');
+ var test_error = async_test('error');
+ var test_unreached = async_test('unreached');
+
+ var j = 0;
+ onmessage = function(e) {
+ switch (j) {
+ case 0: test_undefined.step(function() { assert_equals(e.data, undefined); this.done(); }); break;
+ case 1: test_null.step(function() { assert_equals(e.data, null); this.done(); }); break;
+ case 2: test_false.step(function() { assert_false(e.data); this.done(); }); break;
+ case 3: test_true.step(function() { assert_true(e.data); this.done(); }); break;
+ case 4: test_1.step(function() { assert_equals(e.data, 1); this.done(); }); break;
+ case 5: test_NaN.step(function() { assert_equals(e.data, NaN); this.done(); }); break;
+ case 6: test_Infinity.step(function() { assert_equals(e.data, Infinity); this.done(); }); break;
+ case 7: test_string.step(function() { assert_equals(e.data, 'foo'); this.done(); }); break;
+ case 8: test_date.step(function() { assert_true(sameDate(e.data, date)); this.done(); }); break;
+ case 9: test_regex.step(function() { assert_equals('' + e.data, '/foo/'); assert_equals(e.data instanceof RegExp, true, 'e.data instanceof RegExp'); this.done(); }); break;
+ // not testing it any more, as cloning host objects will now raise exceptions. TODO: add (exceptional) tests for these.
+ case 10: test_self.step(function() { assert_equals(e.data, null); this.done(); }); break;
+ case 11: test_array.step(function() { assert_array_equals_(e.data, cloned_array, 'array'); this.done(); }); break;
+ case 12: test_object.step(function() { assert_object_equals_(e.data, cloned_object, 'object'); this.done(); }); break;
+ case 13:
+ test_error.step(function() { assert_equals(e.data, null, 'new Error()'); this.done(); });
+ setTimeout(test_unreached.step_func(function() { assert_equals(j, 14); this.done(); }), 50);
+ break;
+ default: test_unreached.step(function() { assert_unreached('got an unexpected message event ('+i+')'); });
+ };
+ j++;
+ }
+
+
+</script>
--- /dev/null
+<!doctype html>
+<title>message clone</title>
+<script src="../../../resources/testharness.js"></script>
+<script src="../../../resources/testharnessreport.js"></script>
+<div id=log></div>
+<script>
+function sameDate(d1, d2)
+{
+ return (d1 instanceof Date && d2 instanceof Date && d1.valueOf() == d2.valueOf());
+}
+
+function sameRE(r1, r2)
+{
+ return (r1 instanceof RegExp && r2 instanceof RegExp && r1.toString() == r2.toString());
+}
+
+function assert_array_equals_(observed, expected, msg)
+{
+ if (observed.length == expected.length)
+ {
+ for (var i = 0; i < observed.length; i++)
+ if (observed[i] instanceof Date)
+ {
+ expected[i] = true;
+ observed[i] = sameDate(observed[i], expected[i]);
+ }
+ else if (observed[i] instanceof RegExp)
+ {
+ expected[i] = true;
+ observed[i] = sameRE(observed[i], expected[i]);
+ }
+ }
+
+ assert_array_equals(observed, expected, msg);
+}
+
+function assert_object_equals_(observed, expected, msg)
+{
+ for (var p in observed)
+ {
+ if (observed[p] instanceof Date)
+ {
+ expected[p] = true;
+ observed[p] = sameDate(observed[p], expected[p]);
+ }
+ else if (observed[p] instanceof RegExp)
+ {
+ expected[p] = true;
+ observed[p] = sameRE(observed[p], expected[p]);
+ }
+ else if (observed[p] instanceof Array || String(observed[p]) === '[object Object]')
+ {
+ expected[p] = true;
+ observed[p] = String(observed[p]) === String(expected[p]);
+ }
+ assert_equals(observed[p], expected[p], msg);
+ }
+}
+
+ var err = new Error('foo');
+ var date = new Date();
+
+ var test_array = [ undefined,
+ null,
+ false,
+ true,
+ 1,
+ NaN,
+ Infinity,
+ 'foo',
+ date,
+ /foo/,
+ null/*self*/,
+ null/*err*/];
+
+ var cloned_array = [ undefined,
+ null,
+ false,
+ true,
+ 1,
+ NaN,
+ Infinity,
+ 'foo',
+ date,
+ /foo/,
+ null/*self*/,
+ null/*err*/];
+
+ var test_object = {a: undefined,
+ b: null,
+ c: false,
+ d: true,
+ e: 1,
+ f: NaN,
+ g: Infinity,
+ h: 'foo',
+ i: date,
+ j: /foo/,
+ k: null/*self*/,
+ l: [],
+ m: {},
+ n: null /*err*/};
+
+ var cloned_object = {a:undefined, b:null, c:false, d:true, e:1, f:NaN, g:Infinity, h:'foo', i: date, j: /foo/, k:null, l: [], m: {}, n:null};
+
+ var tests = [undefined, null,
+ false, true,
+ 1, NaN, Infinity,
+ 'foo',
+ date,
+ /foo/,
+ /* ImageData, File, FileData, FileList, */
+ null /*self*/,
+ test_array,
+ test_object,
+ null /*err*/];
+
+ for (var i = 0; i < tests.length; ++i) {
+ postMessage(tests[i], '*');
+ }
+
+ var test_undefined = async_test('undefined');
+ var test_null = async_test('null');
+ var test_false = async_test('false');
+ var test_true = async_test('true');
+ var test_1 = async_test('1');
+ var test_NaN = async_test('NaN');
+ var test_Infinity = async_test('Infinity');
+ var test_string = async_test('string');
+ var test_date = async_test('date');
+ var test_regex = async_test('regex');
+ var test_self = async_test('self');
+ var test_array = async_test('array');
+ var test_object = async_test('object');
+ var test_error = async_test('error');
+ var test_unreached = async_test('unreached');
+
+ var j = 0;
+ onmessage = function(e) {
+ switch (j) {
+ case 0: test_undefined.step(function() { assert_equals(e.data, undefined); this.done(); }); break;
+ case 1: test_null.step(function() { assert_equals(e.data, null); this.done(); }); break;
+ case 2: test_false.step(function() { assert_false(e.data); this.done(); }); break;
+ case 3: test_true.step(function() { assert_true(e.data); this.done(); }); break;
+ case 4: test_1.step(function() { assert_equals(e.data, 1); this.done(); }); break;
+ case 5: test_NaN.step(function() { assert_equals(e.data, NaN); this.done(); }); break;
+ case 6: test_Infinity.step(function() { assert_equals(e.data, Infinity); this.done(); }); break;
+ case 7: test_string.step(function() { assert_equals(e.data, 'foo'); this.done(); }); break;
+ case 8: test_date.step(function() { assert_true(sameDate(e.data, date)); this.done(); }); break;
+ case 9: test_regex.step(function() { assert_equals('' + e.data, '/foo/'); assert_equals(e.data instanceof RegExp, true, 'e.data instanceof RegExp'); this.done(); }); break;
+ // not testing it any more, as cloning host objects will now raise exceptions. TODO: add (exceptional) tests for these.
+ case 10: test_self.step(function() { assert_equals(e.data, null); this.done(); }); break;
+ case 11: test_array.step(function() { assert_array_equals_(e.data, cloned_array, 'array'); this.done(); }); break;
+ case 12: test_object.step(function() { assert_object_equals_(e.data, cloned_object, 'object'); this.done(); }); break;
+ case 13:
+ test_error.step(function() { assert_equals(e.data, null, 'new Error()'); this.done(); });
+ setTimeout(test_unreached.step_func(function() { assert_equals(j, 14); this.done(); }), 50);
+ break;
+ default: test_unreached.step(function() { assert_unreached('got an unexpected message event ('+i+')'); });
+ };
+ j++;
+ }
+
+</script>