[common][tct-convergence-tizen-tests][sync testcase form suprem] 39/111239/1
authorxy.qian <xy.qian@samsung.com>
Fri, 20 Jan 2017 03:29:50 +0000 (11:29 +0800)
committerxy.qian <xy.qian@samsung.com>
Fri, 20 Jan 2017 03:29:56 +0000 (11:29 +0800)
Change-Id: I40114c7ec8d86409ba606e7ffd9b54e254fb54a9
Signed-off-by: xy.qian <xy.qian@samsung.com>
163 files changed:
common/tct-convergence-tizen-tests/convergence/AppCommunicationClientListCallback_onsuccess.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_connect.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_connect_InvalidStateError.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_connect_errorCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_connect_errorCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_connect_exist.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_connect_misarg.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_connect_successCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_connect_successCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_connect_with_errorCallback.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_disconnect.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_disconnect_InvalidStateError.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_disconnect_errorCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_disconnect_errorCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_disconnect_exist.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_disconnect_successCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_disconnect_successCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_disconnect_with_errorCallback.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationListenerCallback_onnotify.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_InvalidStateError.html [deleted file]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_channelInfo_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_errorCallback_InvalidStateError.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_errorCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_errorCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_errorCallback_invoked.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_misarg.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_successCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_successCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_with_errorCallback.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_send.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_InvalidStateError.html [deleted file]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_channelInfo_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_errorCallback_InvalidStateError.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_errorCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_errorCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_errorCallback_invoked.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_misarg.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_payload_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_payload_empty.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_successCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_successCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_with_errorCallback.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_setListener.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_setListener_listenerCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_setListener_misarg.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_start.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_InvalidStateError.html [deleted file]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_channelInfo_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_errorCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_errorCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_errorCallback_invoked.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_successCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_successCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_with_errorCallback.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_InvalidStateError.html [deleted file]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_channelInfo_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_errorCallback_InvalidStateError.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_errorCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_errorCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_errorCallback_invoked.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_misarg.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_successCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_successCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_with_errorCallback.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationService_unsetListener.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationStartCallback_onsuccess.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/AppCommunicationSuccessCallback_onsuccess.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/ChannelInfo_constructor.html [deleted file]
common/tct-convergence-tizen-tests/convergence/ChannelInfo_exist.html [deleted file]
common/tct-convergence-tizen-tests/convergence/ChannelInfo_extend.html [deleted file]
common/tct-convergence-tizen-tests/convergence/ChannelInfo_id_attribute.html [deleted file]
common/tct-convergence-tizen-tests/convergence/ChannelInfo_uri_attribute.html [deleted file]
common/tct-convergence-tizen-tests/convergence/ClientInfo_clientId_attribute.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/ClientInfo_connectionTime_attribute.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/ClientInfo_isHost_attribute.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/ClientInfo_notexist.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/ConnectSuccessCallback_onsuccess.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_constructor.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_exist.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_extend.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_id_attribute.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_uri_attribute.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/ConvergenceManager_startDiscovery.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/ConvergenceManager_startDiscovery_successCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/ConvergenceManager_startDiscovery_with_timeout.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/ConvergenceManager_stopDiscovery.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/ConvergenceManager_stopDiscovery_InvalidStateError.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/ConvergenceManager_stopDiscovery_extra_argument.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/Device_id_attribute.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/Device_name_attribute.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/Device_services_attribute.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/Device_type_attribute.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/DiscoverySuccessCallback_onfinished.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/DiscoverySuccessCallback_onfound.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlCallback_onsuccess.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_connect.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_connect_InvalidStateError.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_connect_errorCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_connect_errorCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_connect_exist.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_connect_misarg.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_connect_successCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_connect_successCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_connect_with_errorCallback.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_disconnect.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_disconnect_InvalidStateError.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_disconnect_errorCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_disconnect_errorCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_disconnect_exist.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_disconnect_successCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_disconnect_successCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_disconnect_with_errorCallback.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_InvalidStateError.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_appControl_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_errorCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_errorCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_exist.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_invalid_obj.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_misarg.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_replyCallback_TypeMismatch.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_replyCallback_invalid_cb.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_successCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_successCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_with_errorCallback.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_with_replyCallback.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_InvalidStateError.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_errorCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_errorCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_errorCallback_invoked.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_exist.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_misarg.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_successCallback_TypeMismatch.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_successCallback_invalid_cb.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_with_errorCallback.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_InvalidStateError.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_errorCallback_TypeMismatch.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_errorCallback_invalid_cb.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_exist.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_misarg.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_successCallback_TypeMismatch.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_successCallback_invalid_cb.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_with_errorCallback.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_InvalidStateError.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_errorCallback_TypeMismatch.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_errorCallback_invalid_cb.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_successCallback_TypeMismatch.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_successCallback_invalid_cb.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_with_errorCallback.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlStartCallback_notexist.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/RemoteAppControlStartCallback_onsuccess.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/Service_connectionState_attribute.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/Service_notexist.html [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/convergence/Service_type_attribute.html [new file with mode: 0755]
common/tct-convergence-tizen-tests/convergence/support/convergence_common.js
common/tct-convergence-tizen-tests/inst.wgt.py
common/tct-convergence-tizen-tests/tests.full.xml [changed mode: 0644->0755]
common/tct-convergence-tizen-tests/tests.xml [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index a50e1cb..b53e8a8
@@ -37,32 +37,32 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, onsuccess, onerror;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, onsuccess, onerrorcallback;
 
 t.step(function () {
     add_result_callback(function () {
         service.stop(channelInfo);
     });
 
-    onerror = t.step_func(function (error) {
+    onerrorcallback = t.step_func(function (error) {
         assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);
     });
 
     onsuccess = t.step_func(function (clients) {
         assert_not_equals(clients, null, "Argument should not be null.");
-        assert_type(clients, "arrray", "Incorrect type.");
+        assert_type(clients, "array", "Incorrect type.");
         t.done();
     });
 
     successCallback = t.step_func(function (channelInfo, clientinfo) {
-        service.getClientList(channelInfo, onsuccess, onerror);
+        service.getClientList(channelInfo, onsuccess, onerrorcallback);
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
     service.start(channelInfo, successCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index dd1079b..f2a497c
@@ -36,29 +36,52 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, retVal = null;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, retVal = null, clientService = null, ondisconnected, ondisconnectederror;
 
 t.step(function () {
+    add_result_callback(function () {
+        tizen.convergence.stopDiscovery();
+    });
+
     onconnected = t.step_func(function (service) {
         assert_equals(retVal, undefined, "connect should return undefined");
         service.disconnect();
         t.done();
     });
 
+    ondisconnected = t.step_func(function () {
+        retVal = clientService.connect(onconnected);
+    });
+
+    ondisconnectederror = t.step_func(function (error) {
+       assert_unreached("disconnect() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof AppCommunicationClientService && device.services[i].connectionState != "CONNECTED")  {
-                break;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "APP_COMM_CLIENT") {
+                    clientService = device.services[i];
+                    break;
+                }
+            }
+
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
+
+            if (clientService.connectionState != "CONNECTED") {
+                retVal = clientService.connect(onconnected);
+            } else {
+                clientService.disconnect(ondisconnected, ondisconnectederror);
             }
-        }
-        retVal = device.services[i].connect(onconnected);
-        tizen.convergence.stopDiscovery();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -66,7 +89,7 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
old mode 100644 (file)
new mode 100755 (executable)
index 22e1b13..d09fef2
@@ -23,6 +23,7 @@ Authors:
 <title>AppCommunicationClientService_connect_InvalidStateError</title>
 <meta charset="utf-8"/>
 <script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
 </head>
 <body>
 <div id="log"></div>
@@ -36,45 +37,67 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerror, connectedsuccess, connectederror;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onconnectederror, onsuccess, onerrorcallback, clientService = null;
 
 t.step(function () {
+    add_result_callback(function () {
+        try{
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try{
+            clientService.disconnect();
+        } catch (e) { } 
+    });
+
+    onsuccess = t.step_func(function (service) {
+        assert_unreached("connect() success callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onerrorcallback = t.step_func(function (error) {
+        assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
     onconnected = t.step_func(function (service) {
         assert_throws(INVALID_STATE_EXCEPTION, function () {
-            service.connect(connectedsuccess, connectederror);
+            service.connect(onsuccess, onerrorcallback);
         }, "Should throw InvalidStateError.");
         service.disconnect();
         t.done();
     });
 
-    onerror = t.step_func(function (error) {
+    onconnectederror = t.step_func(function (error) {
        assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof AppCommunicationClientService && device.services[i].connectionState != "CONNECTED") {
-                break;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "APP_COMM_CLIENT" && clientService === null) {
+                    clientService = device.services[i];
+                    if (clientService.connectionState != "CONNECTED") {
+                        retVal = clientService.connect(onconnected, onconnectederror);
+                    } else {
+                        onconnected(clientService);
+                    }
+                    break;
+                }
             }
-        }
-        device.services[i].connect(onconnected, onerror);
-        tizen.convergence.stopDiscovery();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
     errorCallback = t.step_func(function (error) {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 3a0ab7d..a3cb899
@@ -36,9 +36,18 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerror , service, onversionTable, exceptionName;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, incorrectCallback , clientService = null, conversionTable, exceptionName;
 
 t.step(function () {
+    add_result_callback(function () {
+        try{
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try{
+            clientService.disconnect();
+        } catch (e) { }  
+    });
+
     conversionTable = getTypeConversionExceptions("functionObject", true);
 
     onconnected = t.step_func(function (service) {
@@ -47,26 +56,28 @@ t.step(function () {
 
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof AppCommunicationClientService && device.services[i].connectionState != "CONNECTED") {
-                service = device.services[i];
-                break;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type == "APP_COMM_CLIENT" && clientService === null) {
+                    clientService = device.services[i];
+                    for (i = 0; i < conversionTable.length; i++) {
+                        incorrectCallback = conversionTable[i][0];
+                        exceptionName = conversionTable[i][1];
+                        assert_throws({name: exceptionName},
+                        function () {
+                            clientService.connect(onconnected, incorrectCallback);
+                        }, "Given incorrect errorCallback.");
+                    }
+                    t.done();
+                    break;
+                }
             }
-        }
-        for (i = 0; i < conversionTable.length; i++) {
-            onerror = conversionTable[i][0];
-            exceptionName = conversionTable[i][1];
-            assert_throws({name: exceptionName},
-                function () {
-                    service.connect(onconnected, onerror);
-                }, "Given incorrect errorCallback.");
-        }
-        tizen.convergence.stopDiscovery();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -74,9 +85,9 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index f2c8b0d..19224f9
@@ -23,6 +23,7 @@ Authors:
 <title>AppCommunicationClientService_connect_errorCallback_invalid_cb</title>
 <meta charset="utf-8"/>
 <script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
 </head>
 <body>
 <div id="log"></div>
@@ -36,9 +37,18 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, incorrectCallback;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, incorrectCallback,  clientService = null;
 
 t.step(function () {
+    add_result_callback(function () {
+        try{
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try{
+            clientService.disconnect();
+        } catch (e) { }  
+    });
+
     onconnected = t.step_func(function (service) {
        assert_unreached("connect() success callback should not be invoked");
     });
@@ -51,21 +61,22 @@ t.step(function () {
 
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof AppCommunicationClientService && device.services[i].connectionState != "CONNECTED") {
-                break;;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "APP_COMM_CLIENT"  && clientService === null) {
+                    clientService = device.services[i];
+                    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+                        clientService.connect(onconnected, incorrectCallback);
+                    }, "Given incorrect errorCallback.");
+                    t.done();
+                }
             }
-        }
-        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
-            device.services[i].connect(onconnected, incorrectCallback);
-        }, "Given incorrect errorCallback.");
-        tizen.convergence.stopDiscovery();
-        t.done();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -73,9 +84,9 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index e8fde0f..7d2124e
@@ -36,24 +36,36 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, clientService = null;
 
 t.step(function () {
+    add_result_callback(function () {
+        try{
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try{
+            clientService.disconnect();
+        } catch (e) { }  
+    });
+
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof AppCommunicationClientService && device.services[i].connectionState != "CONNECTED") {
-                break;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "APP_COMM_CLIENT" && clientService === null) {
+                    clientService = device.services[i];
+                    assert_true("connect" in clientService, "AppCommunicationClientService should have connect method");
+                    check_method_exists(clientService, "connect");
+                    t.done();
+                    break;
+                }
             }
-        }
-        assert_true("connect" in device.services[i], "AppCommunicationClientService should have connect method");
-        check_method_exists(device.services[i], "connect");
-        tizen.convergence.stopDiscovery();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-            t.done();
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -61,9 +73,9 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index f6d160b..0d9ec9d
@@ -36,27 +36,37 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, clientService = null;
 
 t.step(function () {
+    add_result_callback(function () {
+        try{
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try{
+            clientService.disconnect();
+        } catch (e) { }  
+    });
 
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof AppCommunicationClientService && device.services[i].connectionState != "CONNECTED") {
-                break;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "APP_COMM_CLIENT" && clientService === null) {
+                    clientService = device.services[i];
+                    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+                        clientService.connect();
+                    }, "Invoked with non-optional arguments.");
+                    t.done();
+                    break;
+                }
             }
-        }
-        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
-            device.services[i].connect();
-        }, "Invoked with non-optional arguments.");
-        tizen.convergence.stopDiscovery();
-        t.done();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -64,9 +74,9 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index f7070a5..378f9ed
@@ -36,37 +36,48 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerror , service, onversionTable, exceptionName;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerrorcallback , clientService = null, conversionTable, exceptionName;
 
 t.step(function () {
-    conversionTable = getTypeConversionExceptions("functionObject", false);
+    add_result_callback(function () {
+        try{
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try{
+            clientService.disconnect();
+        } catch (e) { }  
+    });
 
-    onerror = t.step_func(function (error) {
+    conversionTable = getTypeConversionExceptions("functionObject", false);
+    onerrorcallback = t.step_func(function (error) {
         assert_unreached("connect error callback should not be invoked.");
     });
 
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof AppCommunicationClientService && device.services[i].connectionState != "CONNECTED") {
-                service = device.services[i];
-                break;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "APP_COMM_CLIENT" && clientService === null) {
+                    clientService = device.services[i];
+                    for (i = 0; i < conversionTable.length; i++) {
+                        onconnected = conversionTable[i][0];
+                        exceptionName = conversionTable[i][1];
+                        assert_throws({name: exceptionName},
+                            function () {
+                                clientService.connect(onconnected, onerrorcallback);
+                        }, "Given incorrect successCallback.");
+                    }
+                    t.done();
+                    break;
+                }
             }
-        }
-        for (i = 0; i < conversionTable.length; i++) {
-            onconnected = conversionTable[i][0];
-            exceptionName = conversionTable[i][1];
-            assert_throws({name: exceptionName},
-                function () {
-                    service.connect(onconnected, onerror);
-                }, "Given incorrect successCallback.");
-        }
-        tizen.convergence.stopDiscovery();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -74,9 +85,9 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index c036fd4..f1521c7
@@ -36,10 +36,19 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onerror, incorrectCallback;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onerrorcallback, incorrectCallback, clientService = null;
 
 t.step(function () {
-    onerror = t.step_func(function (error) {
+    add_result_callback(function () {
+        try{
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try{
+            clientService.disconnect();
+        } catch (e) { }  
+    });
+
+    onerrorcallback = t.step_func(function (error) {
        assert_unreached("connect() error callback should not be invoked");
     });
 
@@ -51,21 +60,23 @@ t.step(function () {
 
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof AppCommunicationClientService && device.services[i].connectionState != "CONNECTED") {
-                break;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "APP_COMM_CLIENT" && clientService === null) {
+                    clientService = device.services[i];
+                    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+                        clientService.connect(incorrectCallback, onerrorcallback);
+                    }, "Given incorrect errorCallback.");
+                    t.done();
+                    break;
+                }
             }
-        }
-        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
-            device.services[i].connect(incorrectCallback, onerror);
-        }, "Given incorrect errorCallback.");
-        tizen.convergence.stopDiscovery();
-        t.done();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -73,9 +84,9 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 77d1baf..bfe8678
@@ -36,33 +36,56 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerror, retVal = null;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror, retVal = null, clientService = null, disconnectedSuccess, disconnectedError;
 
 t.step(function () {
+    add_result_callback(function () {
+        tizen.convergence.stopDiscovery();
+    });
+
     onconnected = t.step_func(function (service) {
         assert_equals(retVal, undefined, "connect should return undefined");
         service.disconnect();
         t.done();
     });
 
-    onerror = t.step_func(function (error) {
+    connectederror = t.step_func(function (error) {
        assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
+    disconnectedSuccess = t.step_func(function () {
+        retVal = clientService.connect(onconnected, connectederror);
+    });
+
+    disconnectedError = t.step_func(function (error) {
+       assert_unreached("disconnect() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof AppCommunicationClientService && device.services[i].connectionState != "CONNECTED") {
-                break;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "APP_COMM_CLIENT") {
+                    clientService = device.services[i];
+                    break;
+                }
+            }
+
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
+
+            if (clientService.connectionState != "CONNECTED") {
+                retVal = clientService.connect(onconnected, connectederror);
+            } else {
+                clientService.disconnect(disconnectedSuccess, disconnectedError);
             }
-        }
-        retVal = device.services[i].connect(onconnected, onerror);
-        tizen.convergence.stopDiscovery();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -70,7 +93,7 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
old mode 100644 (file)
new mode 100755 (executable)
index c009bb5..beb1704
@@ -36,28 +36,46 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, retVal = null;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, retVal = null, clientService = null;
 
 t.step(function () {
+    add_result_callback(function () {
+        tizen.convergence.stopDiscovery();
+    });
+
     onconnected = t.step_func(function (service) {
-        retVal = service.disconnect();
+        retVal = clientService.disconnect();
         assert_equals(retVal, undefined, "connect should return undefined");
         t.done();
     });
 
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof AppCommunicationClientService && device.services[i].connectionState != "CONNECTED")  {
-                break;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "APP_COMM_CLIENT") {
+                    clientService = device.services[i];
+                    break;
+                }
+            }
+
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
+
+            if (clientService.connectionState != "CONNECTED") {
+                clientService.connect(onconnected);
+            } else {
+                retVal = clientService.disconnect();
+                assert_equals(retVal, undefined, "connect should return undefined");
+                t.done();
             }
-        }
-        device.services[i].connect(onconnected);
-        tizen.convergence.stopDiscovery();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
 
         })
     };
@@ -66,7 +84,7 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
old mode 100644 (file)
new mode 100755 (executable)
index a8c4161..36afa6e
@@ -23,6 +23,7 @@ Authors:
 <title>AppCommunicationClientService_disconnect_InvalidStateError</title>
 <meta charset="utf-8"/>
 <script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
 </head>
 <body>
 <div id="log"></div>
@@ -36,34 +37,60 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onsuccess, onerror, connectedsuccess, connectederror;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, clientService = null, onsuccess, disconnecterror, disconnectedSuccess, disconnectedError;
 
 t.step(function () {
-    onsuccess = t.step_func(function () {
+    add_result_callback(function () {
+        tizen.convergence.stopDiscovery();
+    });
+
+    disconnectsuccess = t.step_func(function () {
        assert_unreached("disconnect() success callback should not be invoked.");
     });
 
-    onerror = t.step_func(function (error) {
+    disconnecterror = t.step_func(function (error) {
        assert_unreached("disconnect() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof AppCommunicationClientService && device.services[i].connectionState != "CONNECTED") {
-                break;
-            }
-        }
+    disconnectedSuccess = t.step_func(function () {
         assert_throws(INVALID_STATE_EXCEPTION, function () {
-            device.services[i].disconnect(onsuccess, onerror);
+            clientService.disconnect(disconnectsuccess, disconnecterror);
         }, "Should throw InvalidStateError.");
-        tizen.convergence.stopDiscovery();
         t.done();
+    });
+
+    disconnectedError = t.step_func(function (error) {
+       assert_unreached("disconnect() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "APP_COMM_CLIENT") {
+                    clientService = device.services[i];
+                    break;
+                }
+            }
+
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
+
+            if (clientService.connectionState != "CONNECTED") {
+                assert_throws(INVALID_STATE_EXCEPTION, function () {
+                    clientService.disconnect(disconnectsuccess, disconnecterror);
+                }, "Should throw InvalidStateError.");
+                t.done();
+            } else {
+                clientService.disconnect(disconnectedSuccess, disconnectedError);
+            }
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -71,7 +98,7 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
old mode 100644 (file)
new mode 100755 (executable)
index 1c9f043..adf95eb
@@ -36,46 +36,47 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onsucces, onerror, onversionTable, exceptionName;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onsucces, incorrectCallback, conversionTable, exceptionName, clientService = null;
 
 t.step(function () {
+    add_result_callback(function () {
+        try{
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try{
+            clientService.disconnect();
+        } catch (e) { }
+    });
     conversionTable = getTypeConversionExceptions("functionObject", true);
 
     onsucces = t.step_func(function () {
        assert_unreached("disconnect() success callback should not be invoked.");
     });
 
-    onconnected = t.step_func(function (service) {
-        for (i = 0; i < conversionTable.length; i++) {
-            onerror = conversionTable[i][0];
-            exceptionName = conversionTable[i][1];
-            assert_throws({name: exceptionName},
-                function () {
-                    service.disconnect(onsucces, onerror);
-                }, "Given incorrect errorCallback.");
-        }
-        t.done();
-    });
-
-    connectederror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof AppCommunicationClientService && device.services[i].connectionState != "CONNECTED") {
-                break;;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "APP_COMM_CLIENT" && clientService === null) {
+                    clientService = device.services[i];
+                    for (i = 0; i < conversionTable.length; i++) {
+                        incorrectCallback = conversionTable[i][0];
+                        exceptionName = conversionTable[i][1];
+                        assert_throws({name: exceptionName},
+                        function () {
+                            clientService.disconnect(onsucces, incorrectCallback);
+                        }, "Given incorrect errorCallback.");
+                    }
+                    t.done();
+                    break;
+                }
             }
-        }
-        device.services[i].connect(onconnected, connectederror);
-        tizen.convergence.stopDiscovery();
-        t.done();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -83,9 +84,9 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 56e9691..46a6945
@@ -36,9 +36,18 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onsucces, onconnected, connectederror, incorrectCallback;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onsucces, incorrectCallback, clientService = null;
 
 t.step(function () {
+    add_result_callback(function () {
+        try{
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try{
+            clientService.disconnect();
+        } catch (e) { }
+    });
+
     onsucces = t.step_func(function () {
        assert_unreached("connect() success callback should not be invoked");
     });
@@ -49,32 +58,25 @@ t.step(function () {
         })
     };
 
-    onconnected = t.step_func(function (service) {
-        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
-            service.disconnect(onsucces, incorrectCallback);
-        }, "Given incorrect errorCallback.");
-        t.done();
-    });
-
-    connectederror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof AppCommunicationClientService && device.services[i].connectionState != "CONNECTED") {
-                break;;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "APP_COMM_CLIENT" && clientService === null) {
+                    clientService = device.services[i];
+                    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+                        clientService.disconnect(onsucces, incorrectCallback);
+                    }, "Given incorrect errorCallback.");
+                    t.done();
+                    break;
+                }
             }
-        }
-        device.services[i].connect(onconnected, connectederror);
-        tizen.convergence.stopDiscovery();
-        t.done();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -82,9 +84,9 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 7ce34c5..ac6cfff
@@ -36,24 +36,36 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, clientService = null;
 
 t.step(function () {
+    add_result_callback(function () {
+        try{
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try{
+            clientService.disconnect();
+        } catch (e) { }
+    });
+
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof AppCommunicationClientService && device.services[i].connectionState != "CONNECTED") {
-                break;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "APP_COMM_CLIENT" && clientService === null) {
+                    clientService = device.services[i];
+                    assert_true("disconnect" in clientService, "AppCommunicationClientService should have disconnect method");
+                    check_method_exists(clientService, "disconnect");
+                    t.done();
+                    break;
+                }
             }
-        }
-        assert_true("disconnect" in device.services[i], "AppCommunicationClientService should have disconnect method");
-        check_method_exists(device.services[i], "disconnect");
-        tizen.convergence.stopDiscovery();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-            t.done();
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -61,9 +73,9 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 5270fb6..982accc
@@ -36,46 +36,47 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onsucces, onerror, onversionTable, exceptionName;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onsucces, onerrorcallback, conversionTable, exceptionName, clientService = null;
 
 t.step(function () {
-    conversionTable = getTypeConversionExceptions("functionObject", true);
-
-    onerror = t.step_func(function (error) {
-       assert_unreached("disconnect() error callback should not be invoked" + error.name + " msg: " + error.);
-    });
-
-    onconnected = t.step_func(function (service) {
-        for (i = 0; i < conversionTable.length; i++) {
-            onsucces = conversionTable[i][0];
-            exceptionName = conversionTable[i][1];
-            assert_throws({name: exceptionName},
-                function () {
-                    service.disconnect(onsucces, onerror);
-                }, "Given incorrect errorCallback.");
-        }
-        t.done();
+    add_result_callback(function () {
+        try{
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try{
+            clientService.disconnect();
+        } catch (e) { }
     });
+    conversionTable = getTypeConversionExceptions("functionObject", true);
 
-    connectederror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
+    onerrorcallback = t.step_func(function (error) {
+       assert_unreached("disconnect() error callback should not be invoked" + error.name + " msg: " + error.message);
     });
 
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof AppCommunicationClientService && device.services[i].connectionState != "CONNECTED") {
-                break;;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "APP_COMM_CLIENT" && clientService === null) {
+                    clientService = device.services[i];
+                    for (i = 0; i < conversionTable.length; i++) {
+                        onsucces = conversionTable[i][0];
+                        exceptionName = conversionTable[i][1];
+                        assert_throws({name: exceptionName},
+                            function () {
+                                clientService.disconnect(onsucces, onerrorcallback);
+                            }, "Given incorrect errorCallback.");
+                    }
+                    t.done();
+                    break;
+                }
             }
-        }
-        device.services[i].connect(onconnected, connectederror);
-        tizen.convergence.stopDiscovery();
-        t.done();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -83,9 +84,9 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index de58c64..3245856
@@ -36,45 +36,47 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onerror, onconnected, connectederror, incorrectCallback;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onerrorcallback, incorrectCallback, clientService = null;
 
 t.step(function () {
-    onerror = t.step_func(function (error) {
+    add_result_callback(function () {
+        try{
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try{
+            clientService.disconnect();
+        } catch (e) { }
+    });
+
+    onerrorcallback = t.step_func(function (error) {
        assert_unreached("disconnect() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
     incorrectCallback = {
-        onsuccess: t.step_func(function (error) {
-            assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);
+        onsuccess: t.step_func(function (service) {
+            assert_unreached("Invalid success callback should not be invoked");
         })
     };
 
-    onconnected = t.step_func(function (service) {
-        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
-            service.disconnect(incorrectCallback, onerror);
-        }, "Given incorrect successCallback.");
-        t.done();
-    });
-
-    connectederror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof AppCommunicationClientService && device.services[i].connectionState != "CONNECTED") {
-                break;;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "APP_COMM_CLIENT" && clientService === null) {
+                    clientService = device.services[i];
+                    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+                        clientService.disconnect(incorrectCallback, onerrorcallback);
+                    }, "Given incorrect successCallback.");
+                    t.done();
+                    break;
+                }
             }
-        }
-        device.services[i].connect(onconnected, connectederror);
-        tizen.convergence.stopDiscovery();
-        t.done();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -82,9 +84,9 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index ca5b6ec..7813d4b
@@ -36,36 +36,51 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, retVal = null, onsuccess, onerror;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, clientService = null, onconnected, retVal = null, disconnectsuccess, disconnecterror;
 
 t.step(function () {
-    onsucces = t.step_func(function () {
+    add_result_callback(function () {
+        tizen.convergence.stopDiscovery();
+    });
+
+    disconnectsucces = t.step_func(function () {
         assert_equals(retVal, undefined, "connect should return undefined");
         t.done();
     });
 
-    onerror = t.step_func(function (error) {
+    disconnecterror = t.step_func(function (error) {
        assert_unreached("disconnect() error callback should not be invoked" + error.name + " msg: " + error.);
     });
 
     onconnected = t.step_func(function (service) {
-        retVal = service.disconnect();
+        retVal = service.disconnect(disconnectsucces, disconnecterror);
     });
 
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof AppCommunicationClientService && device.services[i].connectionState != "CONNECTED") {
-                break;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "APP_COMM_CLIENT") {
+                    clientService = device.services[i];
+                    break;
+                }
+            }
+
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
+
+            if (clientService.connectionState != "CONNECTED") {
+                clientService.connect(onconnected);
+            } else {
+                retVal = service.disconnect(disconnectsucces, disconnecterror);
             }
-        }
-        device.services[i].connect(onconnected);
-        tizen.convergence.stopDiscovery();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -73,7 +88,7 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
old mode 100644 (file)
new mode 100755 (executable)
index fbce414..e316d25
@@ -23,6 +23,7 @@ Authors:
 <title>AppCommunicationListenerCallback_onnotify</title>
 <meta charset="utf-8"/>
 <script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
 </head>
 <body>
 <div id="log"></div>
@@ -41,13 +42,17 @@ var t = async_test(document.title, {timeout: 30000}), service, channelInfo, succ
 
 t.step(function () {
     add_result_callback(function () {
-        service.unsetListener();
-        service.stop(channelInfo);
+        try {
+            service.unsetListener();
+        } catch (e) { }
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
-    onnotify = t.step_func(function (channelInfo, payload, senderid) {
-        assert_not_equals(channelInfo, null, "Argument should not be null.");
-        assert_type(channelInfo, "object", "Incorrect type.");
+    onnotify = t.step_func(function (channelinfo, payload, senderid) {
+        assert_not_equals(channelinfo, null, "Argument should not be null.");
+        assert_type(channelinfo, "object", "Incorrect type.");
         assert_not_equals(payload, null, "Argument should not be null.");
         assert_type(payload, "array", "Incorrect type.");
         assert_not_equals(senderid, null, "Argument should not be null.");
@@ -55,16 +60,20 @@ t.step(function () {
         t.done();
     });
 
-    successCallback = t.step_func(function (channelInfo, clientinfo) {
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    successCallback = t.step_func(function (channelinfo, clientinfo) {
 
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
     service.setListener(onnotify);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 3bca556..154d1c7
@@ -37,11 +37,13 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, onsuccess, retVal = null;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, onsuccess, retVal = null;
 
 t.step(function () {
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     onsuccess = t.step_func(function (clients) {
@@ -49,15 +51,19 @@ t.step(function () {
         t.done();
     });
 
-    successCallback = t.step_func(function (channelInfo, clientinfo) {
+    successCallback = t.step_func(function (channelinfo, clientinfo) {
         retVal = service.getClientList(channelInfo, onsuccess);
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_InvalidStateError.html b/common/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_InvalidStateError.html
deleted file mode 100644 (file)
index ca33dec..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>AppCommunicationService_getClientList_InvalidStateError</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-<script src="support/convergence_common.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: AppCommunicationService_getClientList_InvalidStateError
-//==== LABEL Check if AppCommunicationService getClientList method hrow exception when service is not started yet
-//==== SPEC Tizen Web API:TBD:Convergence:AppCommunicationService:getClientList M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MC
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback;
-
-t.step(function () {
-    successCallback = t.step_func(function () {
-        assert_unreached("success callback should not be invoked");
-    });
-
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
-    service = new tizen.AppCommunicationServerService();
-    assert_throws(INVALID_STATE_EXCEPTION, function () {
-        service.getClientList(channelInfo, successCallback);
-    }, "Should throw InvalidStateError.");
-    t.done();
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
index 5b2199d..5fd56a3
@@ -37,12 +37,14 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, invalidChannelInfo, successCallback, getSuccess, getError, onversionTable, exceptionName, i;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, invalidConvergenceChannelInfo, successCallback, errorCallback, getSuccess, getError, onversionTable, exceptionName, i;
 
 t.step(function () {
-    conversionTable = getTypeConversionExceptions("Object", false);
+    conversionTable = getTypeConversionExceptions("object", false);
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     getSuccess = t.step_func(function () {
@@ -55,21 +57,24 @@ t.step(function () {
 
     successCallback = t.step_func(function () {
         for (i = 0; i < conversionTable.length; i++) {
-            invalidChannelInfo = conversionTable[i][0];
+            invalidConvergenceChannelInfo = conversionTable[i][0];
             exceptionName = conversionTable[i][1];
             assert_throws({name: exceptionName},
                 function () {
-                    service.getClientList(invalidChannelInfo, getSuccess, getError);
+                    service.getClientList(invalidConvergenceChannelInfo, getSuccess, getError);
                 }, "Given incorrect channelInfo.");
         }
         t.done();
     });
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_errorCallback_InvalidStateError.html b/common/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_errorCallback_InvalidStateError.html
new file mode 100755 (executable)
index 0000000..d7c74e5
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>AppCommunicationService_getClientList_errorCallback_InvalidStateError</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: AppCommunicationService_getClientList_errorCallback_InvalidStateError
+//==== LABEL Check if AppCommunicationService getClientList method would invoke errorCallback when service has not started the channel
+//==== SPEC Tizen Web API:TBD:Convergence:AppCommunicationService:getClientList M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MERRCB
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback;
+
+t.step(function () {
+    successCallback = t.step_func(function () {
+        assert_unreached("success callback should not be invoked");
+    });
+
+    errorCallback = t.step_func(function (error) {
+        assert_equals(error.name, "InvalidStateError", "Incorrect error name");
+        assert_type(error.message, "string", "Error message is not a string");
+        assert_not_equals(error.message, "","Error message is empty");
+        t.done();
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    service = new tizen.AppCommunicationServerService();
+    service.getClientList(channelInfo, successCallback, errorCallback);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
index dfcc59d..b82ca31
@@ -37,12 +37,14 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, getSuccess, getError, onversionTable, exceptionName, i;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, getSuccess, getError, conversionTable, exceptionName, i;
 
 t.step(function () {
     conversionTable = getTypeConversionExceptions("functionObject", true);
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     getSuccess = t.step_func(function () {
@@ -61,11 +63,15 @@ t.step(function () {
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 7939873..1932d82
@@ -37,12 +37,14 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, successCb, incorrectCallback;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, successCb, incorrectCallback;
 
 t.step(function () {
 
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     incorrectCallback = {
@@ -62,11 +64,15 @@ t.step(function () {
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index d3dcbce..59a1044
@@ -1,73 +1,69 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>AppCommunicationService_getClientList_errorCallback_invoked</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-<script src="support/convergence_common.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: AppCommunicationService_getClientList_errorCallback_invoked
-//==== LABEL Check if AppCommunicationService getClientList method with invalid arguments would invoke errorCallback
-//==== SPEC Tizen Web API:TBD:Convergence:AppCommunicationService:getClientList M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MERRCB
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, successCb, errorCb;
-
-t.step(function () {
-    add_result_callback(function () {
-        service.stop(channelInfo);
-    });
-
-    successCb = t.step_func(function () {
-        assert_unreached("getClientList success callback should not be invoked.");
-    });
-
-    errorCb = t.step_func(function (error) {
-        assert_equals(error.name, "InvalidValuesError", "Incorrect error name");
-        assert_type(error.message, "string", "Error message is not a string");
-        assert_not_equals(error.message, "","Error message is empty");
-        t.done();
-    });
-
-    successCallback = t.step_func(function () {
-        service.getClientList(invalidChannelInfo, successCb, errorCb);
-    });
-
-    invalidChannelInfo = {
-        uri: CHANNEL_URI,
-        id: CHANNEL_ID
-    };
-
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
-    service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
-});
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>AppCommunicationService_getClientList_errorCallback_invoked</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+<script src="support/convergence_common.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: AppCommunicationService_getClientList_errorCallback_invoked\r
+//==== LABEL Check if AppCommunicationService getClientList method with invalid arguments would invoke errorCallback\r
+//==== SPEC Tizen Web API:TBD:Convergence:AppCommunicationService:getClientList M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MERRCB\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, invalidChannelInfo, successCallback, successCb, errorCb;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        service.stop(channelInfo);\r
+    });\r
+\r
+    successCb = t.step_func(function () {\r
+        assert_unreached("getClientList success callback should not be invoked.");\r
+    });\r
+\r
+    errorCb = t.step_func(function (error) {\r
+        assert_equals(error.name, "InvalidStateError", "Incorrect error name");\r
+        assert_type(error.message, "string", "Error message is not a string");\r
+        assert_not_equals(error.message, "","Error message is empty");\r
+        t.done();\r
+    });\r
+\r
+    successCallback = t.step_func(function () {\r
+        invalidChannelInfo = new tizen.ConvergenceChannelInfo('invalid_uri', 'invalid_channel_id');\r
+        service.getClientList(invalidChannelInfo, successCb, errorCb);\r
+    });\r
+\r
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);\r
+    service = new tizen.AppCommunicationServerService();\r
+    service.start(channelInfo, successCallback);\r
+});\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index a917b48..09a2137
@@ -37,11 +37,13 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback;
 
 t.step(function () {
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     successCallback = t.step_func(function (channelInfo, clientinfo) {
@@ -51,10 +53,14 @@ t.step(function () {
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index f839d68..fd84563
@@ -37,12 +37,14 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, getSuccess, getError, onversionTable, exceptionName, i;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, getSuccess, getError, conversionTable, exceptionName, i;
 
 t.step(function () {
     conversionTable = getTypeConversionExceptions("functionObject", false);
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     getError = t.step_func(function (error) {
@@ -61,11 +63,15 @@ t.step(function () {
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index e08c047..0ce4353
@@ -37,12 +37,14 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCb, incorrectCallback;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, errorCb, incorrectCallback;
 
 t.step(function () {
 
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     incorrectCallback = {
@@ -62,11 +64,15 @@ t.step(function () {
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 13999c1..f934d8e
@@ -37,11 +37,13 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, onsuccess, onerror, retVal = null;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, onsuccess, onerror, retVal = null;
 
 t.step(function () {
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     onerror = t.step_func(function (error) {
@@ -53,15 +55,19 @@ t.step(function () {
         t.done();
     });
 
-    successCallback = t.step_func(function (channelInfo, clientinfo) {
+    successCallback = t.step_func(function (channelinfo, clientinfo) {
         retVal = service.getClientList(channelInfo, onsuccess, onerror);
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 377d743..97405a2
@@ -37,11 +37,13 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, onsuccess, retVal = null;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, onsuccess, errorCallback, retVal = null;
 
 t.step(function () {
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     onsuccess = t.step_func(function (channelInfo) {
@@ -49,15 +51,19 @@ t.step(function () {
         t.done();
     });
 
+    errorCallback = t.step_func(function (err) {
+        assert_unreached(err.message);
+    });
+
     successCallback = t.step_func(function (channelInfo, clientinfo) {
-        retVal = service.send(channelInfo, {Payload : "test"}, onsuccess);
+        retVal = service.send(channelInfo, [{key: 'payload_type', value: 'test'}], onsuccess, errorCallback);
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_InvalidStateError.html b/common/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_InvalidStateError.html
deleted file mode 100644 (file)
index 68bbf92..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>AppCommunicationService_send_InvalidStateError</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-<script src="support/convergence_common.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: AppCommunicationService_send_InvalidStateError
-//==== LABEL Check if AppCommunicationService send method hrow exception when service is not started yet
-//==== SPEC Tizen Web API:TBD:Convergence:AppCommunicationService:send M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MC
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback;
-
-t.step(function () {
-    successCallback = t.step_func(function () {
-        assert_unreached("success callback should not be invoked");
-    });
-
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
-    service = new tizen.AppCommunicationServerService();
-    assert_throws(INVALID_STATE_EXCEPTION, function () {
-        service.send(channelInfo, {Payload : "test"}, successCallback);
-    }, "Should throw InvalidStateError.");
-    t.done();
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
index b66ac57..83b95b9
@@ -37,12 +37,14 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, invalidChannelInfo, successCallback, sendSuccess, sendError, onversionTable, exceptionName, i;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, invalidConvergenceChannelInfo, successCallback, errorCallback, sendSuccess, sendError, onversionTable, exceptionName, i;
 
 t.step(function () {
-    conversionTable = getTypeConversionExceptions("Object", false);
+    conversionTable = getTypeConversionExceptions("object", false);
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     sendSuccess = t.step_func(function () {
@@ -55,21 +57,25 @@ t.step(function () {
 
     successCallback = t.step_func(function () {
         for (i = 0; i < conversionTable.length; i++) {
-            invalidChannelInfo = conversionTable[i][0];
+            invalidConvergenceChannelInfo = conversionTable[i][0];
             exceptionName = conversionTable[i][1];
             assert_throws({name: exceptionName},
                 function () {
-                    service.send(invalidChannelInfo, {Payload : "test"}, sendSuccess, sendError);
+                    service.send(invalidConvergenceChannelInfo, {Payload : "test"}, sendSuccess, sendError);
                 }, "Given incorrect channelInfo.");
         }
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_errorCallback_InvalidStateError.html b/common/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_errorCallback_InvalidStateError.html
new file mode 100755 (executable)
index 0000000..53d371d
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>AppCommunicationService_send_errorCallback_InvalidStateError</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: AppCommunicationService_send_errorCallback_InvalidStateError
+//==== LABEL Check if AppCommunicationService send method would invoke errorCallback when service has not started the channel
+//==== SPEC Tizen Web API:TBD:Convergence:AppCommunicationService:send M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MERRCB
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback;
+
+t.step(function () {
+    successCallback = t.step_func(function () {
+        assert_unreached("success callback should not be invoked");
+    });
+
+    errorCallback = t.step_func(function (error) {
+        assert_equals(error.name, "InvalidStateError", "Incorrect error name");
+        assert_type(error.message, "string", "Error message is not a string");
+        assert_not_equals(error.message, "","Error message is empty");
+        t.done();
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    service = new tizen.AppCommunicationServerService();
+       service.send(channelInfo, [{key: 'payload_type', value: 'test'}], successCallback, errorCallback);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
index e7a2519..ed29ff6
@@ -37,12 +37,14 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, sendSuccess, sendError, onversionTable, exceptionName, i;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, sendSuccess, sendError, conversionTable, exceptionName, i;
 
 t.step(function () {
     conversionTable = getTypeConversionExceptions("functionObject", true);
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     sendSuccess = t.step_func(function () {
@@ -61,11 +63,15 @@ t.step(function () {
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 6ff87d2..655929c
@@ -37,11 +37,13 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, successCb, incorrectCallback;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, successCb, incorrectCallback;
 
 t.step(function () {
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     incorrectCallback = {
@@ -61,11 +63,15 @@ t.step(function () {
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index f90d0e8..ba742e6
@@ -37,26 +37,25 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, invalidChannelInfo, successCallback, successCb, errorCb;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, invalidChannelInfo, successCallback, errorCallback, successCb;
 
 t.step(function () {
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     successCb = t.step_func(function () {
         assert_unreached("send success callback should not be invoked.");
     });
 
-    errorCb = t.step_func(function (error) {
-        assert_equals(error.name, "InvalidValuesError", "Incorrect error name");
-        assert_type(error.message, "string", "Error message is not a string");
-        assert_not_equals(error.message, "","Error message is empty");
-        t.done();
-    });
-
     successCallback = t.step_func(function () {
-        service.send(invalidChannelInfo, {Payload : "test"}, successCb, errorCb);
+        assert_throws('TypeMismatchError',
+                      function() {
+                        service.send(invalidChannelInfo, [{key: 'payload_type', value: 'test'}], successCb);
+                      }, 'TypeMismatchError should be thrown');
+        t.done();
     });
 
     invalidChannelInfo = {
@@ -64,10 +63,14 @@ t.step(function () {
         id: CHANNEL_ID
     };
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 711d10e..19d0a4d
@@ -37,11 +37,13 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback;
 
 t.step(function () {
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     successCallback = t.step_func(function (channelInfo, clientinfo) {
@@ -51,11 +53,15 @@ t.step(function () {
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 2db0e93..ebd21df
@@ -37,12 +37,14 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, Payload, sendSuccess, sendError, onversionTable, exceptionName, i;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, Payload, sendSuccess, sendError, conversionTable, exceptionName, i;
 
 t.step(function () {
     conversionTable = getTypeConversionExceptions("dictionary", false);
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     sendSuccess = t.step_func(function () {
@@ -65,11 +67,15 @@ t.step(function () {
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index ea24f47..8d9b6df
@@ -37,11 +37,13 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, onsuccess, onerror;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, onsuccess, onerror;
 
 t.step(function () {
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     onsuccess = t.step_func(function (channelInfo) {
@@ -53,14 +55,18 @@ t.step(function () {
     });
 
     successCallback = t.step_func(function (channelInfo, clientinfo) {
-        service.send(channelInfo, {}, onsuccess, onerror);
+        service.send(channelInfo, [], onsuccess, onerror);
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 224c816..fe7c413
@@ -37,12 +37,14 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, sendSuccess, sendError, onversionTable, exceptionName, i;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, sendSuccess, sendError, conversionTable, exceptionName, i;
 
 t.step(function () {
     conversionTable = getTypeConversionExceptions("functionObject", false);
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     sendError = t.step_func(function (error) {
@@ -61,11 +63,15 @@ t.step(function () {
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 168a943..cbad934
@@ -37,11 +37,13 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCb, incorrectCallback;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, errorCb, incorrectCallback;
 
 t.step(function () {
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     incorrectCallback = {
@@ -61,11 +63,15 @@ t.step(function () {
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 79d1467..b1bacdb
@@ -37,11 +37,13 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, onsuccess, onerror, retVal = null;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, onsuccess, onerror, retVal = null;
 
 t.step(function () {
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     onerror = t.step_func(function (error) {
@@ -54,14 +56,18 @@ t.step(function () {
     });
 
     successCallback = t.step_func(function (channelInfo, clientinfo) {
-        retVal = service.send(channelInfo, {Payload : "test"}, onsuccess, onerror);
+        retVal = service.send(channelInfo, [{key: 'payload_type', value: 'test'}], onsuccess, onerror);
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index f90aeaf..d6620da
@@ -39,29 +39,37 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, onnotify, retVal = null;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, onnotify, retVal = null;
 
 t.step(function () {
     add_result_callback(function () {
-        service.unsetListener();
-        service.stop(channelInfo);
+        try {
+            service.unsetListener();
+        } catch (e) { }
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
-    onnotify = t.step_func(function (channelInfo, payload, senderid) {
+    onnotify = t.step_func(function (channelinfo, payload, senderid) {
         assert_equals(retVal, undefined, "setListener should return undefined");
         t.done();
     });
 
-    successCallback = t.step_func(function (channelInfo, clientinfo) {
+    successCallback = t.step_func(function (channelinfo, clientinfo) {
 
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
     retVal = service.setListener(onnotify);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index d0a6878..0d374e2
@@ -42,7 +42,9 @@ var t = async_test(document.title, {timeout: 30000}), service, channelInfo, succ
 t.step(function () {
     conversionTable = getTypeConversionExceptions("functionObject", false);
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     sendError = t.step_func(function (error) {
@@ -53,7 +55,7 @@ t.step(function () {
 
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
     service.start(channelInfo, successCallback);
     for (i = 0; i < conversionTable.length; i++) {
@@ -63,10 +65,10 @@ t.step(function () {
             function () {
                 service.setListener(listenerCallback);
             }, "Given incorrect listenerCallback.");
-    
+    }
     t.done();
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 9dc27e9..7124741
@@ -41,14 +41,16 @@ var t = async_test(document.title, {timeout: 30000}), service, channelInfo, succ
 
 t.step(function () {
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     successCallback = t.step_func(function (channelInfo, clientinfo) {
 
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
     service.start(channelInfo, successCallback);
     assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
@@ -59,4 +61,4 @@ t.step(function () {
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 9adfaed..1a7f562
@@ -41,19 +41,21 @@ var t = async_test(document.title, {timeout: 30000}), service, channelInfo, succ
 
 t.step(function () {
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
-    successCallback = t.step_func(function () {
+    successCallback = t.step_func(function (channelinfo, clientinfo) {
         assert_equals(retVal, undefined, "start should return undefined");
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
     retVal = service.start(channelInfo, successCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_InvalidStateError.html b/common/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_InvalidStateError.html
deleted file mode 100644 (file)
index cd46fe6..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>AppCommunicationService_start_InvalidStateError</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-<script src="support/convergence_common.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: AppCommunicationService_start_InvalidStateError
-//==== LABEL Check if ConvergenceManager start method hrow exception when service is started already
-//==== SPEC Tizen Web API:TBD:Convergence:AppCommunicationService:start M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MC
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, successCb;
-
-t.step(function () {
-    add_result_callback(function () {
-        service.stop(channelInfo);
-    });
-
-    successCb = t.step_func(function () {
-        assert_unreached("success callback should not be invoked");
-    });
-
-
-    successCallback = t.step_func(function () {
-        assert_throws(INVALID_VALUES_EXCEPTION, function () {
-            service.start(channelInfo, successCb);
-        }, "Should throw InvalidValuesError.");
-        t.done();
-    });
-
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
-    service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
index a0539eb..c13e46c
@@ -40,7 +40,7 @@ var t = async_test(document.title, {timeout: 30000}), service, conversionTable,
 
 t.step(function () {
     service = new tizen.AppCommunicationServerService();
-    conversionTable = getTypeConversionExceptions("Object", false);
+    conversionTable = getTypeConversionExceptions("object", false);
 
     successCallback = t.step_func(function () {
         assert_unreached("start success callback should not be invoked.");
@@ -64,4 +64,4 @@ t.step(function () {
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index a7a397a..5fb8fdd
@@ -41,7 +41,7 @@ var t = async_test(document.title, {timeout: 30000}), service, conversionTable,
 
 t.step(function () {
     service = new tizen.AppCommunicationServerService();
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     conversionTable = getTypeConversionExceptions("functionObject", true);
 
     successCallback = t.step_func(function () {
old mode 100644 (file)
new mode 100755 (executable)
index 5f0f6e7..8a78176
@@ -50,7 +50,7 @@ t.step(function () {
         assert_unreached("start success callback should not be invoked.");
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
     assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
         service.start(channelInfo, successCallback, incorrectCallback);
diff --git a/common/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_errorCallback_invoked.html b/common/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_errorCallback_invoked.html
new file mode 100755 (executable)
index 0000000..ca1aa6c
--- /dev/null
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>AppCommunicationService_start_errorCallback_invoked</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: AppCommunicationService_start_errorCallback_invoked
+//==== LABEL Check if ConvergenceManager start method would invoke errorCallback when service has already started the channel
+//==== SPEC Tizen Web API:TBD:Convergence:AppCommunicationService:start M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MERRCB
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, successCb, errorCb;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
+    });
+
+    successCb = t.step_func(function () {
+        assert_unreached("success callback should not be invoked");
+    });
+
+    errorCb = t.step_func(function (error) {
+        assert_equals(error.name, "InvalidStateError", "Incorrect error name");
+        assert_type(error.message, "string", "Error message is not a string");
+        assert_not_equals(error.message, "","Error message is empty");
+        t.done();
+    });
+
+    successCallback = t.step_func(function () {
+        service.start(channelInfo, successCb, errorCb);
+    });
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    service = new tizen.AppCommunicationServerService();
+    service.start(channelInfo, successCallback, errorCallback);
+});
+
+</script>
+</body>
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 8335228..c16cab8
@@ -41,7 +41,7 @@ var t = async_test(document.title, {timeout: 30000}), service, conversionTable,
 
 t.step(function () {
     service = new tizen.AppCommunicationServerService();
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     conversionTable = getTypeConversionExceptions("functionObject", false);
 
     errorCallback = t.step_func(function (error) {
old mode 100644 (file)
new mode 100755 (executable)
index 5058933..9028886
@@ -50,7 +50,7 @@ t.step(function () {
         assert_unreached("start error callback should not be invoked.");
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
     assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
         service.start(channelInfo, incorrectCallback, errorCallback);
old mode 100644 (file)
new mode 100755 (executable)
index d88cac8..63bc81d
@@ -41,7 +41,9 @@ var t = async_test(document.title, {timeout: 30000}), service, channelInfo, succ
 
 t.step(function () {
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     errorCallback = t.step_func(function (error) {
@@ -53,7 +55,7 @@ t.step(function () {
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
     retVal = service.start(channelInfo, successCallback, errorCallback);
 });
@@ -61,4 +63,4 @@ t.step(function () {
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 9330cd3..1178a21
@@ -37,23 +37,33 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, onsuccess, retVal = null;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, onsuccess, retVal = null;
 
 t.step(function () {
-    onsuccess = t.step_func(function (channelInfo) {
+    add_result_callback(function () {
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
+    });
+
+    onsuccess = t.step_func(function (channelinfo) {
         assert_equals(retVal, undefined, "stop should return undefined");
         t.done();
     });
 
-    successCallback = t.step_func(function (channelInfo, clientinfo) {
+    successCallback = t.step_func(function (channelinfo, clientinfo) {
         retVal = service.stop(channelInfo, onsuccess);
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_InvalidStateError.html b/common/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_InvalidStateError.html
deleted file mode 100644 (file)
index 6e26bfc..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>AppCommunicationService_stop_InvalidStateError</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-<script src="support/convergence_common.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: AppCommunicationService_stop_InvalidStateError
-//==== LABEL Check if AppCommunicationService stop method hrow exception when service is not started yet
-//==== SPEC Tizen Web API:TBD:Convergence:AppCommunicationService:stop M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MC
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback;
-
-t.step(function () {
-    successCallback = t.step_func(function () {
-        assert_unreached("success callback should not be invoked");
-    });
-
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
-    service = new tizen.AppCommunicationServerService();
-    assert_throws(INVALID_STATE_EXCEPTION, function () {
-        service.stop(channelInfo, {Payload : "test"}, successCallback);
-    }, "Should throw InvalidStateError.");
-    t.done();
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
index f148e25..024a290
@@ -37,12 +37,14 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, invalidChannelInfo, successCallback, stopSuccess, stopError, onversionTable, exceptionName, i;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, invalidChannelInfo, successCallback, errorCallback, stopSuccess, stopError, onversionTable, exceptionName, i;
 
 t.step(function () {
-    conversionTable = getTypeConversionExceptions("Object", false);
+    conversionTable = getTypeConversionExceptions("object", false);
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     stopSuccess = t.step_func(function () {
@@ -65,11 +67,15 @@ t.step(function () {
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_errorCallback_InvalidStateError.html b/common/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_errorCallback_InvalidStateError.html
new file mode 100755 (executable)
index 0000000..cce1d65
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>AppCommunicationService_stop_errorCallback_InvalidStateError</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: AppCommunicationService_stop_errorCallback_InvalidStateError
+//==== LABEL Check if AppCommunicationService stop method would invoke errorCallback when service is not started yet
+//==== SPEC Tizen Web API:TBD:Convergence:AppCommunicationService:stop M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MERRCB
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback;
+
+t.step(function () {
+    successCallback = t.step_func(function () {
+        assert_unreached("success callback should not be invoked");
+    });
+
+    errorCallback = t.step_func(function (error) {
+        assert_equals(error.name, "InvalidStateError", "Incorrect error name");
+        assert_type(error.message, "string", "Error message is not a string");
+        assert_not_equals(error.message, "","Error message is empty");
+        t.done();
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    service = new tizen.AppCommunicationServerService();
+    service.stop(channelInfo, successCallback, errorCallback);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
index 0f82431..4dd0af2
@@ -37,12 +37,14 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, stopSuccess, stopError, onversionTable, exceptionName, i;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, stopSuccess, stopError, conversionTable, exceptionName, i;
 
 t.step(function () {
     conversionTable = getTypeConversionExceptions("functionObject", true);
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     stopSuccess = t.step_func(function () {
@@ -61,11 +63,15 @@ t.step(function () {
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 6a8476a..730f1db
@@ -37,12 +37,14 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, successCb, incorrectCallback;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, successCb, incorrectCallback;
 
 t.step(function () {
 
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     incorrectCallback = {
@@ -62,11 +64,15 @@ t.step(function () {
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 6a9570c..1683831
@@ -1,73 +1,75 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>AppCommunicationService_stop_errorCallback_invoked</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-<script src="support/convergence_common.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: AppCommunicationService_stop_errorCallback_invoked
-//==== LABEL Check if AppCommunicationService stop method with invalid arguments would invoke errorCallback
-//==== SPEC Tizen Web API:TBD:Convergence:AppCommunicationService:stop M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MERRCB
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, invalidChannelInfo, successCallback, successCb, errorCb;
-
-t.step(function () {
-    add_result_callback(function () {
-        service.stop(channelInfo);
-    });
-
-    successCb = t.step_func(function () {
-        assert_unreached("stop success callback should not be invoked.");
-    });
-
-    errorCb = t.step_func(function (error) {
-        assert_equals(error.name, "InvalidValuesError", "Incorrect error name");
-        assert_type(error.message, "string", "Error message is not a string");
-        assert_not_equals(error.message, "","Error message is empty");
-        t.done();
-    });
-
-    successCallback = t.step_func(function () {
-        service.stop(invalidChannelInfo, successCb, errorCb);
-    });
-
-    invalidChannelInfo = {
-        uri: CHANNEL_URI,
-        id: CHANNEL_ID
-    };
-
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
-    service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
-});
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>AppCommunicationService_stop_errorCallback_invoked</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+<script src="support/convergence_common.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: AppCommunicationService_stop_errorCallback_invoked\r
+//==== LABEL Check if AppCommunicationService stop method with invalid arguments would invoke errorCallback\r
+//==== SPEC Tizen Web API:TBD:Convergence:AppCommunicationService:stop M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MERRCB\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, invalidChannelInfo, successCallback, errorCallback, successCb, errorCb;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            service.stop(channelInfo);\r
+        } catch (e) { }\r
+    });\r
+\r
+    successCb = t.step_func(function () {\r
+        assert_unreached("stop success callback should not be invoked.");\r
+    });\r
+\r
+    errorCb = t.step_func(function (error) {\r
+        assert_equals(error.name, "InvalidStateError", "Incorrect error name");\r
+        assert_type(error.message, "string", "Error message is not a string");\r
+        assert_not_equals(error.message, "","Error message is empty");\r
+        t.done();\r
+    });\r
+\r
+    successCallback = t.step_func(function () {\r
+        invalidChannelInfo = new tizen.ConvergenceChannelInfo('invalid_uri', 'invalid_channel_id');\r
+        service.stop(invalidChannelInfo, successCb, errorCb);\r
+    });\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);\r
+    service = new tizen.AppCommunicationServerService();\r
+    service.start(channelInfo, successCallback, errorCallback);\r
+});\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index 35617a4..d4cfa07
@@ -37,11 +37,13 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback;
 
 t.step(function () {
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     successCallback = t.step_func(function (channelInfo, clientinfo) {
@@ -51,11 +53,15 @@ t.step(function () {
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 7849cba..04198f3
@@ -37,12 +37,14 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, stopSuccess, stopError, onversionTable, exceptionName, i;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, stopSuccess, stopError, conversionTable, exceptionName, i;
 
 t.step(function () {
     conversionTable = getTypeConversionExceptions("functionObject", true);
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     stopError = t.step_func(function (error) {
@@ -61,11 +63,15 @@ t.step(function () {
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 0241cd8..ece6743
@@ -37,12 +37,14 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCb, incorrectCallback;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, errorCb, incorrectCallback;
 
 t.step(function () {
 
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     incorrectCallback = {
@@ -62,11 +64,15 @@ t.step(function () {
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 1be5123..2622fc8
@@ -37,27 +37,37 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, onsuccess, onerror, retVal = null;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, onsuccess, onerror, retVal = null;
 
 t.step(function () {
+    add_result_callback(function () {
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
+    });
+
     onerror = t.step_func(function (error) {
         assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);
     });
 
-    onsuccess = t.step_func(function (channelInfo) {
+    onsuccess = t.step_func(function (channelinfo) {
         assert_equals(retVal, undefined, "stop should return undefined");
         t.done();
     });
 
-    successCallback = t.step_func(function (channelInfo, clientinfo) {
+    successCallback = t.step_func(function (channelinfo, clientinfo) {
         retVal = service.stop(channelInfo, onsuccess, onerror);
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index a157c01..70eb655
@@ -38,29 +38,35 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, onnotify, retVal = null;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, onnotify, retVal = null;
 
 t.step(function () {
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
-    onnotify = t.step_func(function (channelInfo, payload, senderid) {
+    onnotify = t.step_func(function (channelinfo, payload, senderid) {
         retVal = service.unsetListener();
         assert_equals(retVal, undefined, "unsetListener should return undefined");
         t.done();
     });
 
-    successCallback = t.step_func(function (channelInfo, clientinfo) {
+    successCallback = t.step_func(function (channelinfo, clientinfo) {
 
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
     service.setListener(onnotify);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index fd2baf8..d09eae7
@@ -23,6 +23,7 @@ Authors:
 <title>AppCommunicationStartCallback_onsuccess</title>
 <meta charset="utf-8"/>
 <script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script> 
 </head>
 <body>
 <div id="log"></div>
@@ -40,26 +41,28 @@ var t = async_test(document.title, {timeout: 30000}), service, channelInfo, succ
 
 t.step(function () {
     add_result_callback(function () {
-        service.stop(channelInfo);
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
     });
 
     errorCallback = t.step_func(function (error) {
         assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);
     });
 
-    successCallback = t.step_func(function (channelInfo, clientInfo) {
-        assert_not_equals(channelInfo, null, "Argument should not be null.");
-        assert_type(channelInfo, "object", "Incorrect type.");
-        assert_not_equals(clientInfo, null, "Argument should not be null.");
-        assert_type(clientInfo, "object", "Incorrect type.");
+    successCallback = t.step_func(function (channelinfo, clientinfo) {
+        assert_not_equals(channelinfo, null, "Argument should not be null.");
+        assert_type(channelinfo, "object", "Incorrect type.");
+        assert_not_equals(clientinfo, null, "Argument should not be null.");
+        assert_type(clientinfo, "object", "Incorrect type.");
         t.done();
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
     service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 8a82c32..28c3f17
@@ -37,28 +37,38 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, onsuccess, onerror;
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback, onsuccess, onerror;
 
 t.step(function () {
+    add_result_callback(function () {
+        try {
+            service.stop(channelInfo);
+        } catch (e) { }
+    });
+
     onerror = t.step_func(function (error) {
         assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);
     });
 
-    onsuccess = t.step_func(function (channelInfo) {
-        assert_not_equals(channelInfo, null, "Argument should not be null.");
-        assert_type(channelInfo, "object", "Incorrect type.");
+    onsuccess = t.step_func(function (channelinfo) {
+        assert_not_equals(channelinfo, null, "Argument should not be null.");
+        assert_type(channelinfo, "object", "Incorrect type.");
         t.done();
     });
 
-    successCallback = t.step_func(function (channelInfo, clientinfo) {
+    successCallback = t.step_func(function (channelinfo, clientinfo) {
         service.stop(channelInfo, onsuccess, onerror);
     });
 
-    channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
     service = new tizen.AppCommunicationServerService();
-    service.start(channelInfo, successCallback);
+    service.start(channelInfo, successCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/ChannelInfo_constructor.html b/common/tct-convergence-tizen-tests/convergence/ChannelInfo_constructor.html
deleted file mode 100644 (file)
index c13fcd7..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>ChannelInfo_constructor</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-<script src="support/convergence_common.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: ChannelInfo_constructor
-//==== LABEL Test whether the constructor of ChannelInfo work properly
-//==== SPEC Tizen Web API:TBD:Convergence:ChannelInfo:ChannelInfo C
-//==== SPEC_URL TBD
-//==== PRIORITY P1
-//==== TEST_CRITERIA CONSTRA CONSTRM
-
-test(function () {
-    var channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
-    assert_true(channelInfo instanceof tizen.ChannelInfo, "object was not created properly");
-    assert_equals(channelInfo.uri, CHANNEL_URI, "uri passed as constructor parameter is different than uri in the object");
-    assert_equals(channelInfo.id, CHANNEL_ID, "id passed as constructor parameter is different than id in the object");
-}, document.title);
-
-</script>
-</body>
-</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/ChannelInfo_exist.html b/common/tct-convergence-tizen-tests/convergence/ChannelInfo_exist.html
deleted file mode 100644 (file)
index d299363..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>ChannelInfo_exist</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: ChannelInfo_exist
-//==== LABEL Check if ChannelInfo exist
-//==== SPEC Tizen Web API:TBD:Convergence:ChannelInfo:ChannelInfo C
-//==== SPEC_URL TBD
-//==== PRIORITY P1
-//==== TEST_CRITERIA CONSTRF
-
-test(function () {
-    check_constructor("ChannelInfo");
-}, document.title);
-
-</script>
-</body>
-</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/ChannelInfo_extend.html b/common/tct-convergence-tizen-tests/convergence/ChannelInfo_extend.html
deleted file mode 100644 (file)
index d435984..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>ChannelInfo_extend</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-<script src="support/convergence_common.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: ChannelInfo_extend
-//==== LABEL Check if ChannelInfo object is extendable
-//==== SPEC Tizen Web API:TBD:Convergence:ChannelInfo:ChannelInfo U
-//==== SPEC_URL TBD
-//==== PRIORITY P3
-//==== TEST_CRITERIA OBX
-
-test(function () {
-    var channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
-
-    check_extensibility(channelInfo);
-}, document.title);
-
-</script>
-</body>
-</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/ChannelInfo_id_attribute.html b/common/tct-convergence-tizen-tests/convergence/ChannelInfo_id_attribute.html
deleted file mode 100644 (file)
index 3829154..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>ChannelInfo_id_attribute</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-<script src="support/convergence_common.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: ChannelInfo_id_attribute
-//==== LABEL Check if ChannelInfo have id attribute with proper type and is writeable
-//==== SPEC Tizen Web API:TBD:Convergence:ChannelInfo:id A
-//==== SPEC_URL TBD
-//==== PRIORITY P1
-//==== TEST_CRITERIA AE AT ASG AN
-
-test(function () {
-    var channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
-    check_attribute(channelInfo, "id", CHANNEL_ID, "string", CHANNEL_ID + "1");
-    check_not_nullable(channelInfo, "id");
-}, document.title);
-
-</script>
-</body>
-</html>
\ No newline at end of file
diff --git a/common/tct-convergence-tizen-tests/convergence/ChannelInfo_uri_attribute.html b/common/tct-convergence-tizen-tests/convergence/ChannelInfo_uri_attribute.html
deleted file mode 100644 (file)
index 1989218..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>ChannelInfo_uri_attribute</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-<script src="support/convergence_common.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: ChannelInfo_uri_attribute
-//==== LABEL Check if ChannelInfo have uri attribute with proper type and is writeable
-//==== SPEC Tizen Web API:TBD:Convergence:ChannelInfo:uri A
-//==== SPEC_URL TBD
-//==== PRIORITY P1
-//==== TEST_CRITERIA AE AT ASG AN
-
-test(function () {
-    var channelInfo = new tizen.ChannelInfo(CHANNEL_URI, CHANNEL_ID);
-    check_attribute(channelInfo, "uri", CHANNEL_URI, "string", CHANNEL_URI + "1");
-    check_not_nullable(channelInfo, "uri");
-}, document.title);
-
-</script>
-</body>
-</html>
\ No newline at end of file
diff --git a/common/tct-convergence-tizen-tests/convergence/ClientInfo_clientId_attribute.html b/common/tct-convergence-tizen-tests/convergence/ClientInfo_clientId_attribute.html
new file mode 100755 (executable)
index 0000000..f1f5076
--- /dev/null
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>ClientInfo_clientId_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: ClientInfo_clientId_attribute
+//==== LABEL Check if ClientInfo have clientId attribute with proper type and is readonly
+//==== SPEC Tizen Web API:TBD:Convergence:ClientInfo:clientId A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback;
+
+t.step(function () {
+    add_result_callback(function () {
+        service.stop(channelInfo);
+    });
+
+    errorCallback = t.step_func(function (error) {
+        assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);
+    });
+
+    successCallback = t.step_func(function (channelInfo, clientInfo) {
+        check_readonly(clientInfo, "clientId", clientInfo.clientId, "string", "myid");
+        t.done();
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    service = new tizen.AppCommunicationServerService();
+    service.start(channelInfo, successCallback, errorCallback);
+});
+
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/common/tct-convergence-tizen-tests/convergence/ClientInfo_connectionTime_attribute.html b/common/tct-convergence-tizen-tests/convergence/ClientInfo_connectionTime_attribute.html
new file mode 100755 (executable)
index 0000000..cc27e72
--- /dev/null
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>ClientInfo_connectionTime_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: ClientInfo_connectionTime_attribute
+//==== LABEL Check if ClientInfo have connectionTime attribute with proper type and is readonly
+//==== SPEC Tizen Web API:TBD:Convergence:ClientInfo:connectionTime A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback;
+
+t.step(function () {
+    add_result_callback(function () {
+        service.stop(channelInfo);
+    });
+
+    errorCallback = t.step_func(function (error) {
+        assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);
+    });
+
+    successCallback = t.step_func(function (channelInfo, clientInfo) {
+        check_readonly(clientInfo, "connectionTime", clientInfo.connectionTime, "number", clientInfo.connectionTime + 1);
+        t.done();
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    service = new tizen.AppCommunicationServerService();
+    service.start(channelInfo, successCallback, errorCallback);
+});
+
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/common/tct-convergence-tizen-tests/convergence/ClientInfo_isHost_attribute.html b/common/tct-convergence-tizen-tests/convergence/ClientInfo_isHost_attribute.html
new file mode 100755 (executable)
index 0000000..02f8dcd
--- /dev/null
@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>ClientInfo_isHost_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: ClientInfo_isHost_attribute
+//==== LABEL Check if ClientInfo have isHost attribute with proper type and is readonly
+//==== SPEC Tizen Web API:TBD:Convergence:ClientInfo:isHost A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO AVL
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), service, channelInfo, successCallback, errorCallback;
+
+t.step(function () {
+    add_result_callback(function () {
+        service.stop(channelInfo);
+    });
+
+    errorCallback = t.step_func(function (error) {
+        assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);
+    });
+
+    successCallback = t.step_func(function (channelInfo, clientInfo) {
+        check_readonly(clientInfo, "isHost", clientInfo.isHost, "boolean", !clientInfo.isHost);
+        assert_in_array(clientInfo.isHost, [false, true], "Incorrect value of type");
+        t.done();
+    });
+
+    channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    service = new tizen.AppCommunicationServerService();
+    service.start(channelInfo, successCallback, errorCallback);
+});
+
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/ClientInfo_notexist.html b/common/tct-convergence-tizen-tests/convergence/ClientInfo_notexist.html
new file mode 100755 (executable)
index 0000000..96b4957
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>ClientInfo_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: ClientInfo_notexist
+//==== LABEL Check if interface ClientInfo exists, it should not.
+//==== SPEC Tizen Web API:TBD:Convergence:ClientInfo:ClientInfo U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA NIO
+
+test(function () {
+    check_no_interface_object("ClientInfo");
+}, document.title);
+
+</script>
+</body>
+</html>
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
index b3d48a9..247544e
@@ -36,9 +36,13 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerror;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null, onconnected, connecterror, disconnectedSuccess, disconnectedError;
 
 t.step(function () {
+    add_result_callback(function () {
+        tizen.convergence.stopDiscovery();
+    });
+
     onconnected = t.step_func(function (service) {
         assert_not_equals(service, null, "Argument should not be null.");
         assert_type(service, "object", "Incorrect type.");
@@ -46,24 +50,43 @@ t.step(function () {
         t.done();
     });
 
-    onerror = t.step_func(function (error) {
+    connecterror = t.step_func(function (error) {
        assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
+    disconnectedSuccess = t.step_func(function () {
+        remoteService.connect(onconnected, connecterror);
+    });
+
+    disconnectedError = t.step_func(function (error) {
+       assert_unreached("disconnect() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL") {
+                    remoteService = device.services[i];
+                    break;
+                }
+            }
+
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+
+            if (remoteService.connectionState != "CONNECTED") {
+                remoteService.connect(onconnected, connecterror);
+            } else {
+                remoteService.disconnect(disconnectedSuccess, disconnectedError);
             }
-        }
-        device.services[i].connect(onconnected, onerror);
-        tizen.convergence.stopDiscovery();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -71,7 +94,7 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
diff --git a/common/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_constructor.html b/common/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_constructor.html
new file mode 100755 (executable)
index 0000000..7459a69
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>ConvergenceChannelInfo_constructor</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: ConvergenceChannelInfo_constructor
+//==== LABEL Test whether the constructor of ConvergenceChannelInfo work properly
+//==== SPEC Tizen Web API:TBD:Convergence:ConvergenceChannelInfo:ConvergenceChannelInfo C
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA CONSTRA CONSTRM
+
+test(function () {
+    var channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    assert_true(channelInfo instanceof tizen.ConvergenceChannelInfo, "object was not created properly");
+    assert_equals(channelInfo.uri, CHANNEL_URI, "uri passed as constructor parameter is different than uri in the object");
+    assert_equals(channelInfo.id, CHANNEL_ID, "id passed as constructor parameter is different than id in the object");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_exist.html b/common/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_exist.html
new file mode 100755 (executable)
index 0000000..f5b88f7
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>ConvergenceChannelInfo_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: ConvergenceChannelInfo_exist
+//==== LABEL Check if ConvergenceChannelInfo exist
+//==== SPEC Tizen Web API:TBD:Convergence:ConvergenceChannelInfo:ConvergenceChannelInfo C
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA CONSTRF
+
+test(function () {
+    check_constructor("ConvergenceChannelInfo");
+}, document.title);
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/common/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_extend.html b/common/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_extend.html
new file mode 100755 (executable)
index 0000000..032501c
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>ConvergenceChannelInfo_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: ConvergenceChannelInfo_extend
+//==== LABEL Check if ConvergenceChannelInfo object is extendable
+//==== SPEC Tizen Web API:TBD:Convergence:ConvergenceChannelInfo:ConvergenceChannelInfo U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA OBX
+
+test(function () {
+    var channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
+
+    check_extensibility(channelInfo);
+}, document.title);
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/common/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_id_attribute.html b/common/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_id_attribute.html
new file mode 100755 (executable)
index 0000000..2e74c1b
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>ConvergenceChannelInfo_id_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: ConvergenceChannelInfo_id_attribute
+//==== LABEL Check if ConvergenceChannelInfo have id attribute with proper type and is writeable
+//==== SPEC Tizen Web API:TBD:Convergence:ConvergenceChannelInfo:id A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG AN
+
+test(function () {
+    var channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    check_attribute(channelInfo, "id", CHANNEL_ID, "string", CHANNEL_ID + "1");
+    check_not_nullable(channelInfo, "id");
+}, document.title);
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/common/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_uri_attribute.html b/common/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_uri_attribute.html
new file mode 100755 (executable)
index 0000000..e2b2863
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>ConvergenceChannelInfo_uri_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: ConvergenceChannelInfo_uri_attribute
+//==== LABEL Check if ConvergenceChannelInfo have uri attribute with proper type and is writeable
+//==== SPEC Tizen Web API:TBD:Convergence:ConvergenceChannelInfo:uri A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG AN
+
+test(function () {
+    var channelInfo = new tizen.ConvergenceChannelInfo(CHANNEL_URI, CHANNEL_ID);
+    check_attribute(channelInfo, "uri", CHANNEL_URI, "string", CHANNEL_URI + "1");
+    check_not_nullable(channelInfo, "uri");
+}, document.title);
+
+</script>
+</body>
+</html>
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
index 5cba247..5f0f8ad
@@ -36,9 +36,15 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, retVal = null;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, retVal = null;
 
 t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) {}
+    });
+
     discoveryCallback = {
         onfound : t.step_func(function (device) {
         
@@ -46,14 +52,17 @@ t.step(function () {
 
         onfinished : t.step_func(function (foundDevices) {
             assert_equals(retVal, undefined, "startDiscovery should return undefined");
-            tizen.convergence.stopDiscovery();
             t.done();
         })
     };
+    
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
 
-    retVal = tizen.convergence.startDiscovery(discoveryCallback);
+    retVal = tizen.convergence.startDiscovery(discoveryCallback, errorCallback);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 11ebb78..7feb315
@@ -39,7 +39,7 @@ setup({timeout: 30000});
 var t = async_test(document.title, {timeout: 30000}), conversionTable, successCallback, errorCallback, exceptionName, i;
 
 t.step(function () {
-    conversionTable = getTypeConversionExceptions("functionObject", false);
+    conversionTable = getTypeConversionExceptions("object", false);
 
     errorCallback = t.step_func(function (error) {
         assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
@@ -59,4 +59,4 @@ t.step(function () {
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 04c18be..4b7f61a
@@ -39,10 +39,15 @@ setup({timeout: 30000});
 var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, retVal = null;
 
 t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) {}
+    });
+
     discoveryCallback = {
         onfound : t.step_func(function (device) {
             assert_equals(retVal, undefined, "startDiscovery should return undefined");
-            tizen.convergence.stopDiscovery();
             t.done();
         }),
 
@@ -55,9 +60,9 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    retVal = tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    retVal = tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 8c4e96c..8aabfa1
@@ -50,10 +50,10 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
     retVal = tizen.convergence.stopDiscovery();
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 104f601..83997ce
@@ -32,7 +32,7 @@ Authors:
 //==== LABEL Check if ConvergenceManager stopDiscovery method throw exception when discovery procedure has not started yet
 //==== SPEC Tizen Web API:TBD:Convergence:ConvergenceManager:stopDiscovery M
 //==== SPEC_URL TBD
-//==== PRIORITY P1
+//==== PRIORITY P2
 //==== TEST_CRITERIA MC
 
 test(function () {
old mode 100644 (file)
new mode 100755 (executable)
index f0ede70..1de7372
@@ -34,29 +34,52 @@ Authors:
 //==== PRIORITY P1
 //==== TEST_CRITERIA MNAEX
 
+
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, extraArgument, i = 0;
 
 t.step(function () {
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        
-        }),
+    extraArgument = [
+        null,
+        undefined,
+        "Tizen",
+        1,
+        false,
+        ["one", "two"],
+        {argument: 1},
+        function () {}
+    ];
 
-        onfinished : t.step_func(function (foundDevices) {
-            checkExtraArgument(tizen.convergence, "stopDiscovery");
-            t.done();
-        })
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+    });
+    
+    discoveryCallback = {
+        onfound : t.step_func(function (device) { }),
+        onfinished : t.step_func(function (foundDevices) { })
     };
 
     errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    var testArgument = t.step_func(function() {
+        tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 5);
+        setTimeout(t.step_func(function () {
+                tizen.convergence.stopDiscovery(extraArgument[i]);
+                }), 250);
+        if(++i < extraArgument.length) {
+            setTimeout(testArgument, 500);
+        } else {
+            t.done();
+        }
+    });
+    testArgument();
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 9ce6b25..9be00d4
@@ -39,10 +39,15 @@ setup({timeout: 30000});
 var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback;
 
 t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) {}
+    });
+
     discoveryCallback = {
         onfound : t.step_func(function (device) {
             check_readonly(device, "id", device.id, "string", "Myid");
-            tizen.convergence.stopDiscovery();
             t.done();
         }),
 
@@ -55,9 +60,9 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 6a31490..7a9b26a
@@ -39,10 +39,15 @@ setup({timeout: 30000});
 var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback;
 
 t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) {}
+    });
+
     discoveryCallback = {
         onfound : t.step_func(function (device) {
             check_readonly(device, "name", device.name, "string", "Myname");
-            tizen.convergence.stopDiscovery();
             t.done();
         }),
 
@@ -55,9 +60,9 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 9913123..6ace1a7
@@ -39,13 +39,18 @@ setup({timeout: 30000});
 var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback;
 
 t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) {}
+    });
+
     discoveryCallback = {
         onfound : t.step_func(function (device) {
             assert_own_property(device, "services", "device does not own services property.");
             assert_type(device.services, "array", "services should be an array");
-            device.services = null;
-            assert_not_equals(device.services, null, "device.services should not be modified");
-            tizen.convergence.stopDiscovery();
+            device.services[0] = null;
+            assert_not_equals(device.services[0], null, "device.services[0] should not be modified");
             t.done();
         }),
 
@@ -58,9 +63,9 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 963257f..fab82c4
@@ -39,10 +39,15 @@ setup({timeout: 30000});
 var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback;
 
 t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) {}
+    });
+
     discoveryCallback = {
         onfound : t.step_func(function (device) {
             check_readonly(device, "type", device.type, "string", "Mytype");
-            tizen.convergence.stopDiscovery();
             t.done();
         }),
 
@@ -55,9 +60,9 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 4760c1d..83e0048
@@ -39,6 +39,12 @@ setup({timeout: 30000});
 var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback;
 
 t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) {}
+    });
+
     discoveryCallback = {
         onfound : t.step_func(function (device) {
         }),
@@ -46,7 +52,6 @@ t.step(function () {
         onfinished : t.step_func(function (foundDevices) {
             assert_not_equals(foundDevices , null, "Argument should not be null.");
             assert_type(foundDevices, "array", "Incorrect type.");
-            tizen.convergence.stopDiscovery();
             t.done();
         })
     };
@@ -55,9 +60,9 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 34c5ab7..7066d0c
@@ -39,11 +39,16 @@ setup({timeout: 30000});
 var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback;
 
 t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) {}
+    });
+
     discoveryCallback = {
         onfound : t.step_func(function (device) {
             assert_not_equals(device , null, "Argument should not be null.");
             assert_type(device, "object", "Incorrect type.");
-            tizen.convergence.stopDiscovery();
             t.done();
         }),
 
@@ -56,9 +61,9 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 7019b82..8c39127
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlCallback_onsuccess</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlCallback_onsuccess
-//==== LABEL Check if RemoteAppControlCallback onsuccess is called and if its arguments have proper type
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlCallback:onsuccess M
-//==== SPEC_URL TBD
-//==== PRIORITY P1
-//==== TEST_CRITERIA CBOA CBT
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, requestAppId = "targetApp0.main",
-    remoteAppControlCallback, onerror;
-
-t.step(function () {
-    remoteAppControlCallback = t.step_func(function (data) {
-        assert_not_equals(data , null, "Argument should not be null.");
-        assert_type(data, "array", "Incorrect type.");
-        service.disconnect();
-        t.done();
-    });
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("launch() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    onconnected = t.step_func(function (service) {
-        service.launch(requestAppId, remoteAppControlCallback, onerror);
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED")  {
-                break;
-            }
-        }
-        device.services[i].connect(onconnected);
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlCallback_onsuccess</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+<script src="support/convergence_common.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlCallback_onsuccess\r
+//==== LABEL Check if RemoteAppControlCallback onsuccess is called and if its arguments have proper type\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlCallback:onsuccess M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P1\r
+//==== TEST_CRITERIA CBOA CBT\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onstarted, onstartederror, onstoped, onerrorstoped,\r
+    remoteAppControlCallback, onerror, remoteService = null, isStarted = false;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+            console.log("intheresult");\r
+            console.log("intheresult");\r
+            console.log("intheresult");\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try {\r
+            if(isStarted) remoteService.stop();\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    onstoped = t.step_func(function () {\r
+           isStarted = false;\r
+        t.done();\r
+    });\r
+\r
+    onerrorstoped = t.step_func(function (error) {\r
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    remoteAppControlCallback = t.step_func(function () {\r
+        assert_equals(retVal, undefined, "launch should return undefined");\r
+        remoteService.stop(onstoped, onerrorstoped);\r
+    });\r
+\r
+    onerror = t.step_func(function (error) {\r
+       assert_unreached("launch() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    onstarted = t.step_func(function (service) {\r
+        retVal = service.launch(REQUEST_APP_ID, remoteAppControlCallback, onerror);\r
+    });\r
+\r
+    onstartederror = t.step_func(function (error) {\r
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    onconnected = t.step_func(function (service) {\r
+        isStarted = true;\r
+        service.start(onstarted, onstartederror);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            console.log("inthefound");\r
+            console.log("inthefound");\r
+            console.log("inthefound");\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null)  {\r
+                    remoteService = device.services[i];\r
+                    if (remoteService.connectionState == "CONNECTED") {\r
+                       onconnected (remoteService);\r
+                    } else {\r
+                       remoteService.connect(onconnected);\r
+                    }\r
+                    break;\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            console.log("inthefinished");\r
+            console.log("inthefinished");\r
+            console.log("inthefinished");\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index 83ae2dd..c998915
@@ -36,29 +36,52 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, retVal = null;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, retVal = null, remoteService = null, disconnectedSuccess, disconnectedError;
 
 t.step(function () {
+    add_result_callback(function () {
+        tizen.convergence.stopDiscovery();
+    });
+
     onconnected = t.step_func(function (service) {
         assert_equals(retVal, undefined, "connect should return undefined");
         service.disconnect();
         t.done();
     });
 
+    disconnectedSuccess = t.step_func(function () {
+        retVal = remoteService.connect(onconnected);
+    });
+
+    disconnectedError = t.step_func(function (error) {
+       assert_unreached("disconnect() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL") {
+                    remoteService = device.services[i];
+                    break;
+                }
+            }
+
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+
+            if (remoteService.connectionState != "CONNECTED") {
+                retVal = remoteService.connect(onconnected);
+            } else {
+                remoteService.disconnect(disconnectedSuccess, disconnectedError);
             }
-        }
-        retVal = device.services[i].connect(onconnected);
-        tizen.convergence.stopDiscovery();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -66,7 +89,7 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
old mode 100644 (file)
new mode 100755 (executable)
index 9395e44..fb1cacb
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_connect_InvalidStateError</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_connect_InvalidStateError
-//==== LABEL Check if RemoteAppControlService connect method hrow exception when service is connected already.
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:connect M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MC
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerror, connectedsuccess, connectederror;
-
-t.step(function () {
-    connectedsuccess = t.step_func(function () {
-       assert_unreached("connect() success callback should not be invoked");
-    });
-
-    connectederror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    onconnected = t.step_func(function (service) {
-        assert_throws(INVALID_VALUES_EXCEPTION, function () {
-            service.connect(connectedsuccess, connectederror);
-        }, "Should throw InvalidValuesError.");
-        service.disconnect();
-        t.done();
-    });
-
-    onerror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;
-            }
-        }
-        device.services[i].connect(onconnected, onerror);
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_connect_InvalidStateError</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+<script src="support/convergence_common.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_connect_InvalidStateError\r
+//==== LABEL Check if RemoteAppControlService connect method hrow exception when service is connected already.\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:connect M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MC\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerrorcallback, connectedsuccess, connectederror, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try {\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    connectedsuccess = t.step_func(function () {\r
+       assert_unreached("connect() success callback should not be invoked");\r
+    });\r
+\r
+    connectederror = t.step_func(function (error) {\r
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    onconnected = t.step_func(function (service) {\r
+        assert_throws(INVALID_STATE_EXCEPTION, function () {\r
+            service.connect(connectedsuccess, connectederror);\r
+        }, "Should throw InvalidStateError.");\r
+        service.disconnect();\r
+        t.done();\r
+    });\r
+\r
+    onerrorcallback = t.step_func(function (error) {\r
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    if (device.services[i].connectionState === "CONNECTED") {\r
+                        onconnected(device.services[i]);\r
+                    } else {\r
+                        device.services[i].connect(onconnected, onerrorcallback);\r
+                        break;\r
+                    }\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index 8f0ab58..5e3630b
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_connect_errorCallback_TypeMismatch</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_connect_errorCallback_TypeMismatch
-//==== LABEL Check if connect of RemoteAppControlService throws exception when errorCallback is incorrect
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:connect M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MC
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerror , service, onversionTable, exceptionName;
-
-t.step(function () {
-    conversionTable = getTypeConversionExceptions("functionObject", true);
-
-    onconnected = t.step_func(function (service) {
-        assert_unreached("connect success callback should not be invoked.");
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                service = device.services[i];
-                break;
-            }
-        }
-        for (i = 0; i < conversionTable.length; i++) {
-            onerror = conversionTable[i][0];
-            exceptionName = conversionTable[i][1];
-            assert_throws({name: exceptionName},
-                function () {
-                    service.connect(onconnected, onerror);
-                }, "Given incorrect errorCallback.");
-        }
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_connect_errorCallback_TypeMismatch</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+<script src="support/convergence_common.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_connect_errorCallback_TypeMismatch\r
+//==== LABEL Check if connect of RemoteAppControlService throws exception when errorCallback is incorrect\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:connect M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MC\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, connect_cb, error_cb, i, onconnected, onerrorcallback, remoteService = null, checkConversinTable, conversionTable, exceptionName;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try {\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    conversionTable = getTypeConversionExceptions("functionObject", true);\r
+\r
+    onconnected = t.step_func(function (service) {\r
+        assert_unreached("connect success callback should not be invoked.");\r
+    });\r
+\r
+    checkConversionTable = t.step_func(function(service) { \r
+      for (i = 0; i < conversionTable.length; i++) {\r
+        onerrorcallback = conversionTable[i][0];\r
+        exceptionName = conversionTable[i][1];\r
+        assert_throws({name: exceptionName},\r
+          function () {\r
+            service.connect(onconnected, onerrorcallback);\r
+          }, "Given incorrect errorCallback.");\r
+      }\r
+      t.done();\r
+    });\r
+\r
+    error_cb = t.step_func(function (error) {\r
+        assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    connect_cb = t.step_func(function (service) {\r
+        checkConversionTable(service);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+               if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                   remoteService = device.services[i];\r
+                   if (device.services[i].connectionState === "CONNECTED") {\r
+                       checkConversionTable(device.services[i]);\r
+                   } else {\r
+                       device.services[i].connect(connect_cb, error_cb);\r
+                       break;\r
+                   }\r
+               }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index b009bba..8717f59
@@ -1,81 +1,92 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_connect_errorCallback_invalid_cb</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_connect_errorCallback_invalid_cb
-//==== LABEL Check if connect of RemoteAppControlService throws exception when errorCallback is invalid
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:connect M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MTCB
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, incorrectCallback;
-
-t.step(function () {
-    onconnected = t.step_func(function (service) {
-       assert_unreached("connect() success callback should not be invoked");
-    });
-
-    incorrectCallback = {
-        onerror: t.step_func(function (error) {
-            assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);
-        })
-    };
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;;
-            }
-        }
-        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
-            device.services[i].connect(onconnected, incorrectCallback);
-        }, "Given incorrect errorCallback.");
-        tizen.convergence.stopDiscovery();
-        t.done();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_connect_errorCallback_invalid_cb</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+<script src="support/convergence_common.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_connect_errorCallback_invalid_cb\r
+//==== LABEL Check if connect of RemoteAppControlService throws exception when errorCallback is invalid\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:connect M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MTCB\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, incorrectCallback, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try {\r
+            remoteService.disconnect();\r
+        } catch (e) { } \r
+    });\r
+\r
+    onconnected = t.step_func(function (service) {\r
+       assert_unreached("connect() success callback should not be invoked");\r
+    });\r
+\r
+    incorrectCallback = {\r
+        onerror: t.step_func(function (error) {\r
+            assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);\r
+        })\r
+    };\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {\r
+                        remoteService.connect(onconnected, incorrectCallback);\r
+                    }, "Given incorrect errorCallback.");\r
+                    t.done();\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index 8c05740..27655b3
@@ -1,69 +1,80 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_connect_exist</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_connect_exist
-//==== LABEL Check if connect of RemoteAppControlService exists
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:connect M
-//==== SPEC_URL TBD
-//==== PRIORITY P0
-//==== TEST_CRITERIA ME
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i;
-
-t.step(function () {
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-            assert_greater_than(device.services.length, 0, "service item is not found");
-            for (i = 0; i < device.services.length; i++) {
-                if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                    break;
-                }
-            }
-            assert_true("connect" in device.services[i], "RemoteAppControlService should have connect method");
-            check_method_exists(device.services[i], "connect");
-            tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-            t.done();
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_connect_exist</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_connect_exist\r
+//==== LABEL Check if connect of RemoteAppControlService exists\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:connect M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P0\r
+//==== TEST_CRITERIA ME\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try {\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    assert_true("connect" in remoteService, "RemoteAppControlService should have connect method");\r
+                    check_method_exists(remoteService, "connect");\r
+                    t.done();\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index 04d764b..345d217
@@ -1,72 +1,81 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_connect_misarg</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_connect_misarg
-//==== LABEL Check if connect method of RemoteAppControlService called with missing non-optional argument throws an exception
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:connect M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MMA
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i;
-
-t.step(function () {
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;
-            }
-        }
-        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
-            device.services[i].connect();
-        }, "Invoked with non-optional arguments.");
-        tizen.convergence.stopDiscovery();
-        t.done();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_connect_misarg</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_connect_misarg\r
+//==== LABEL Check if connect method of RemoteAppControlService called with missing non-optional argument throws an exception\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:connect M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MMA\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try {\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {\r
+                        remoteService.connect();\r
+                    }, "Invoked with non-optional arguments.");\r
+                    t.done();\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index 792a51a..0b7178e
@@ -1,82 +1,93 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_connect_successCallback_TypeMismatch</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_connect_successCallback_TypeMismatch
-//==== LABEL Check if connect of RemoteAppControlService throws exception when successCallback is incorrect
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:connect M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MC
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerror , service, onversionTable, exceptionName;
-
-t.step(function () {
-    conversionTable = getTypeConversionExceptions("functionObject", false);
-
-    onerror = t.step_func(function (error) {
-        assert_unreached("connect error callback should not be invoked.");
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                service = device.services[i];
-                break;
-            }
-        }
-        for (i = 0; i < conversionTable.length; i++) {
-            onconnected = conversionTable[i][0];
-            exceptionName = conversionTable[i][1];
-            assert_throws({name: exceptionName},
-                function () {
-                    service.connect(onconnected, onerror);
-                }, "Given incorrect successCallback.");
-        }
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_connect_successCallback_TypeMismatch</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+<script src="support/convergence_common.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_connect_successCallback_TypeMismatch\r
+//==== LABEL Check if connect of RemoteAppControlService throws exception when successCallback is incorrect\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:connect M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MC\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerrorcallback , remoteService = null, conversionTable, exceptionName;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try {\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    conversionTable = getTypeConversionExceptions("functionObject", false);\r
+\r
+    onerrorcallback = t.step_func(function (error) {\r
+        assert_unreached("connect error callback should not be invoked.");\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    for (i = 0; i < conversionTable.length; i++) {\r
+                        onconnected = conversionTable[i][0];\r
+                        exceptionName = conversionTable[i][1];\r
+                        assert_throws({name: exceptionName},\r
+                            function () {\r
+                                remoteService.connect(onconnected, onerrorcallback);\r
+                        }, "Given incorrect successCallback.");\r
+                    }\r
+                    t.done();\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index c72ea83..43d348f
@@ -1,81 +1,92 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_connect_successCallback_invalid_cb</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_connect_successCallback_invalid_cb
-//==== LABEL Check if connect of RemoteAppControlService throws exception when successCallback is invalid
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:connect M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MTCB
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onerror, incorrectCallback;
-
-t.step(function () {
-    onerror = t.step_func(function (error) {
-       assert_unreached("connect() error callback should not be invoked");
-    });
-
-    incorrectCallback = {
-        onsuccess: t.step_func(function (service) {
-            assert_unreached("Invalid success callback should not be invoked");
-        })
-    };
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;
-            }
-        }
-        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
-            device.services[i].connect(incorrectCallback, onerror);
-        }, "Given incorrect errorCallback.");
-        tizen.convergence.stopDiscovery();
-        t.done();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_connect_successCallback_invalid_cb</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+<script src="support/convergence_common.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_connect_successCallback_invalid_cb\r
+//==== LABEL Check if connect of RemoteAppControlService throws exception when successCallback is invalid\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:connect M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MTCB\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onerrorcallback, incorrectCallback, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try {\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    onerrorcallback = t.step_func(function (error) {\r
+       assert_unreached("connect() error callback should not be invoked");\r
+    });\r
+\r
+    incorrectCallback = {\r
+        onsuccess: t.step_func(function (service) {\r
+            assert_unreached("Invalid success callback should not be invoked");\r
+        })\r
+    };\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {\r
+                        remoteService.connect(incorrectCallback, onerrorcallback);\r
+                    }, "Given incorrect errorCallback.");\r
+                    t.done();\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index a76b015..4db78cf
@@ -36,33 +36,56 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerror, retVal = null;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null, onconnected, onerrorCallback, retVal = null, disconnectedSuccess, disconnectedError;
 
 t.step(function () {
+    add_result_callback(function () {
+        tizen.convergence.stopDiscovery();
+    });
+
     onconnected = t.step_func(function (service) {
         assert_equals(retVal, undefined, "connect should return undefined");
         service.disconnect();
         t.done();
     });
 
-    onerror = t.step_func(function (error) {
+    onerrorCallback = t.step_func(function (error) {
        assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
+    disconnectedSuccess = t.step_func(function () {
+        retVal = remoteService.connect(onconnected, onerrorCallback);
+    });
+
+    disconnectedError = t.step_func(function (error) {
+       assert_unreached("disconnect() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL") {
+                    remoteService = device.services[i];
+                    break;
+                }
+            }
+
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+
+            if (remoteService.connectionState != "CONNECTED") {
+                retVal = remoteService.connect(onconnected, onerrorCallback);
+            } else {
+                remoteService.disconnect(disconnectedSuccess, disconnectedError);
             }
-        }
-        retVal = device.services[i].connect(onconnected, onerror);
-        tizen.convergence.stopDiscovery();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -70,7 +93,7 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
old mode 100644 (file)
new mode 100755 (executable)
index 183e412..f02bd34
@@ -36,29 +36,48 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, retVal = null;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null, onconnected, onerrorCallback, retVal = null;
 
 t.step(function () {
+    add_result_callback(function () {
+        tizen.convergence.stopDiscovery();
+    });
+
     onconnected = t.step_func(function (service) {
         retVal = service.disconnect();
         assert_equals(retVal, undefined, "disconnect should return undefined");
         t.done();
     });
 
+    onerrorCallback = t.step_func(function (error) {
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED")  {
-                break;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL") {
+                    remoteService = device.services[i];
+                    break;
+                }
+            }
+
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+
+            if (remoteService.connectionState != "CONNECTED") {
+                remoteService.connect(onconnected, onerrorCallback);
+            } else {
+                retVal = remoteService.disconnect();
             }
-        }
-        device.services[i].connect(onconnected);
-        tizen.convergence.stopDiscovery();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -66,7 +85,7 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
old mode 100644 (file)
new mode 100755 (executable)
index 33490dd..d41f215
@@ -23,12 +23,13 @@ Authors:
 <title>RemoteAppControlService_disconnect_InvalidStateError</title>
 <meta charset="utf-8"/>
 <script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
 </head>
 <body>
 <div id="log"></div>
 <script>
 //==== TEST: RemoteAppControlService_disconnect_InvalidStateError
-//==== LABEL Check if RemoteAppControlService disconnect method hrow exception when service was not connected yet.
+//==== LABEL Check if RemoteAppControlService disconnect method throw exception when service was not connected yet.
 //==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:connect M
 //==== SPEC_URL TBD
 //==== PRIORITY P2
@@ -36,34 +37,60 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onsuccess, onerror, connectedsuccess, connectederror;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService =null, onsuccessCallback, onerrorCallback, connectedsuccess, connectederror, disconnectedSuccess, disconnectedError;
 
 t.step(function () {
-    onsuccess = t.step_func(function () {
+    add_result_callback(function () {
+        tizen.convergence.stopDiscovery();
+    });
+
+    onsuccessCallback = t.step_func(function () {
        assert_unreached("disconnect() success callback should not be invoked.");
     });
 
-    onerror = t.step_func(function (error) {
+    onerrorCallback = t.step_func(function (error) {
+       assert_unreached("disconnect() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    disconnectedSuccess = t.step_func(function () {
+        assert_throws(INVALID_STATE_EXCEPTION, function () {
+            remoteService.disconnect(onsuccessCallback, onerrorCallback);
+        }, "Should throw InvalidStatesError.");
+        t.done();
+    });
+
+    disconnectedError = t.step_func(function (error) {
        assert_unreached("disconnect() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL") {
+                    remoteService = device.services[i];
+                    break;
+                }
+            }
+    
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+
+            if (remoteService.connectionState != "CONNECTED") {
+                assert_throws(INVALID_STATE_EXCEPTION, function () {
+                    remoteService.disconnect(onsuccessCallback, onerrorCallback);
+                }, "Should throw InvalidStatesError.");
+                t.done();
+            } else {
+                remoteService.disconnect(disconnectedSuccess, disconnectedError);
             }
-        }
-        assert_throws(INVALID_VALUES_EXCEPTION, function () {
-            device.services[i].disconnect(onsuccess, onerror);
-        }, "Should throw InvalidValuesError.");
-        tizen.convergence.stopDiscovery();
-        t.done();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -71,7 +98,7 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
old mode 100644 (file)
new mode 100755 (executable)
index e9af8d7..0c59cd8
@@ -1,91 +1,92 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_disconnect_errorCallback_TypeMismatch</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_disconnect_errorCallback_TypeMismatch
-//==== LABEL Check if disconnect of RemoteAppControlService throws exception when errorCallback is incorrect
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:disconnect M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MC
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onsucces, onerror, onversionTable, exceptionName;
-
-t.step(function () {
-    conversionTable = getTypeConversionExceptions("functionObject", true);
-
-    onsucces = t.step_func(function () {
-       assert_unreached("disconnect() success callback should not be invoked.");
-    });
-
-    onconnected = t.step_func(function (service) {
-        for (i = 0; i < conversionTable.length; i++) {
-            onerror = conversionTable[i][0];
-            exceptionName = conversionTable[i][1];
-            assert_throws({name: exceptionName},
-                function () {
-                    service.disconnect(onsucces, onerror);
-                }, "Given incorrect errorCallback.");
-        }
-        t.done();
-    });
-
-    connectederror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;;
-            }
-        }
-        device.services[i].connect(onconnected, connectederror);
-        tizen.convergence.stopDiscovery();
-        t.done();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_disconnect_errorCallback_TypeMismatch</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_disconnect_errorCallback_TypeMismatch\r
+//==== LABEL Check if disconnect of RemoteAppControlService throws exception when errorCallback is incorrect\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:disconnect M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MC\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onsucces, conversionTable, exceptionName, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try {\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    conversionTable = getTypeConversionExceptions("functionObject", true);\r
+\r
+    onsucces = t.step_func(function () {\r
+       assert_unreached("disconnect() success callback should not be invoked.");\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    for (i = 0; i < conversionTable.length; i++) {\r
+                        incorrectCallback = conversionTable[i][0];\r
+                        exceptionName = conversionTable[i][1];\r
+                        assert_throws({name: exceptionName},\r
+                        function () {\r
+                            remoteService.disconnect(onsucces, incorrectCallback);\r
+                        }, "Given incorrect errorCallback.");\r
+                        t.done();\r
+                    } \r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index 752c2ab..c404fa1
@@ -1,90 +1,91 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_disconnect_errorCallback_invalid_cb</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_disconnect_errorCallback_invalid_cb
-//==== LABEL Check if disconnect of RemoteAppControlService throws exception when errorCallback is invalid
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:disconnect M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MTCB
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onsucces, onconnected, connectederror, incorrectCallback;
-
-t.step(function () {
-    onsucces = t.step_func(function () {
-       assert_unreached("connect() success callback should not be invoked");
-    });
-
-    incorrectCallback = {
-        onerror: t.step_func(function (error) {
-            assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);
-        })
-    };
-
-    onconnected = t.step_func(function (service) {
-        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
-            service.disconnect(onsucces, incorrectCallback);
-        }, "Given incorrect errorCallback.");
-        t.done();
-    });
-
-    connectederror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;;
-            }
-        }
-        device.services[i].connect(onconnected, connectederror);
-        tizen.convergence.stopDiscovery();
-        t.done();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_disconnect_errorCallback_invalid_cb</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_disconnect_errorCallback_invalid_cb\r
+//==== LABEL Check if disconnect of RemoteAppControlService throws exception when errorCallback is invalid\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:disconnect M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MTCB\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onsucces, incorrectCallback, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try{\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    onsucces = t.step_func(function () {\r
+       assert_unreached("connect() success callback should not be invoked");\r
+    });\r
+\r
+    incorrectCallback = {\r
+        onerror: t.step_func(function (error) {\r
+            assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);\r
+        })\r
+    };\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type ===  "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {\r
+                        remoteService.disconnect(onsucces, incorrectCallback);\r
+                    }, "Given incorrect errorCallback.");\r
+                    t.done();\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index a41751d..423d79f
@@ -1,69 +1,80 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_disconnect_exist</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_disconnect_exist
-//==== LABEL Check if disconnect of RemoteAppControlService exists
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:disconnect M
-//==== SPEC_URL TBD
-//==== PRIORITY P0
-//==== TEST_CRITERIA ME
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i;
-
-t.step(function () {
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;
-            }
-        }
-        assert_true("disconnect" in device.services[i], "RemoteAppControlService should have disconnect method");
-        check_method_exists(device.services[i], "disconnect");
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-            t.done();
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_disconnect_exist</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_disconnect_exist\r
+//==== LABEL Check if disconnect of RemoteAppControlService exists\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:disconnect M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P0\r
+//==== TEST_CRITERIA ME\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try{\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            remoteService.disconnect();\r
+        } catch (e) { }   \r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    assert_true("disconnect" in remoteService, "RemoteAppControlService should have disconnect method");\r
+                    check_method_exists(remoteService, "disconnect");\r
+                    t.done();\r
+               }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index f5d6285..a30c60b
@@ -1,91 +1,92 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_disconnect_successCallback_TypeMismatch</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_disconnect_successCallback_TypeMismatch
-//==== LABEL Check if disconnect of RemoteAppControlService throws exception when successCallback is incorrect
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:disconnect M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MC
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onsucces, onerror, onversionTable, exceptionName;
-
-t.step(function () {
-    conversionTable = getTypeConversionExceptions("functionObject", true);
-
-    onerror = t.step_func(function (error) {
-       assert_unreached("disconnect() error callback should not be invoked" + error.name + " msg: " + error.);
-    });
-
-    onconnected = t.step_func(function (service) {
-        for (i = 0; i < conversionTable.length; i++) {
-            onsucces = conversionTable[i][0];
-            exceptionName = conversionTable[i][1];
-            assert_throws({name: exceptionName},
-                function () {
-                    service.disconnect(onsucces, onerror);
-                }, "Given incorrect errorCallback.");
-        }
-        t.done();
-    });
-
-    connectederror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;;
-            }
-        }
-        device.services[i].connect(onconnected, connectederror);
-        tizen.convergence.stopDiscovery();
-        t.done();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_disconnect_successCallback_TypeMismatch</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_disconnect_successCallback_TypeMismatch\r
+//==== LABEL Check if disconnect of RemoteAppControlService throws exception when successCallback is incorrect\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:disconnect M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MC\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onsucces, onerrorcallback, conversionTable, exceptionName, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try{\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            remoteService.disconnect();\r
+        } catch (e) { }  \r
+    });\r
+\r
+    conversionTable = getTypeConversionExceptions("functionObject", true);\r
+\r
+    onerrorcallback = t.step_func(function (error) {\r
+       assert_unreached("disconnect() error callback should not be invoked" + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    for (i = 0; i < conversionTable.length; i++) {\r
+                        onsucces = conversionTable[i][0];\r
+                        exceptionName = conversionTable[i][1];\r
+                        assert_throws({name: exceptionName},\r
+                            function () {\r
+                                remoteService.disconnect(onsucces, onerrorcallback);\r
+                        }, "Given incorrect errorCallback.");\r
+                    }\r
+                    t.done();\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index c8d802a..ab741e4
@@ -1,90 +1,93 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_disconnect_successCallback_invalid_cb</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_disconnect_successCallback_invalid_cb
-//==== LABEL Check if disconnect of RemoteAppControlService throws exception when successCallback is invalid
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:disconnect M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MTCB
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onerror, onconnected, connectederror, incorrectCallback;
-
-t.step(function () {
-    onerror = t.step_func(function (error) {
-       assert_unreached("disconnect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    incorrectCallback = {
-        onsuccess: t.step_func(function () {
-            assert_unreached("Invalid success callback should not be invoked");
-        })
-    };
-
-    onconnected = t.step_func(function (service) {
-        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
-            service.disconnect(incorrectCallback, onerror);
-        }, "Given incorrect successCallback.");
-        t.done();
-    });
-
-    connectederror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;;
-            }
-        }
-        device.services[i].connect(onconnected, connectederror);
-        tizen.convergence.stopDiscovery();
-        t.done();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_disconnect_successCallback_invalid_cb</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+<script src="support/convergence_common.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_disconnect_successCallback_invalid_cb\r
+//==== LABEL Check if disconnect of RemoteAppControlService throws exception when successCallback is invalid\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:disconnect M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MTCB\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onerrorcallback, incorrectCallback, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try{\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            remoteService.disconnect();\r
+        } catch (e) { }  \r
+    });\r
+\r
+    onerrorcallback = t.step_func(function (error) {\r
+        assert_equals(error.name, "NotSupportedError", "error.name");\r
+        t.done();\r
+    });\r
+\r
+    incorrectCallback = {\r
+        onsuccess: t.step_func(function () {\r
+            assert_unreached("Invalid success callback should not be invoked");\r
+        })\r
+    };\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {\r
+                        remoteService.disconnect(incorrectCallback, onerrorcallback);\r
+                    }, "Given incorrect successCallback.");\r
+                    t.done();\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index d2fb23d..313936d
@@ -36,36 +36,51 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, retVal = null, onsuccess, onerror;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null, onconnected, retVal = null, onsuccesCallback, onerrorCallback;
 
 t.step(function () {
-    onsucces = t.step_func(function () {
+    add_result_callback(function () {
+        tizen.convergence.stopDiscovery();
+    });
+
+    onsuccesCallback = t.step_func(function () {
         assert_equals(retVal, undefined, "disconnect should return undefined");
         t.done();
     });
 
-    onerror = t.step_func(function (error) {
+    onerrorCallback = t.step_func(function (error) {
        assert_unreached("disconnect() error callback should not be invoked" + error.name + " msg: " + error.);
     });
 
     onconnected = t.step_func(function (service) {
-        retVal = service.disconnect(onsucces, onerror);
+        retVal = service.disconnect(onsuccesCallback, onerrorCallback);
     });
 
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL") {
+                    remoteService = device.services[i];
+                    break;
+                }
+            }
+
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+
+            if (remoteService.connectionState != "CONNECTED") {
+                remoteService.connect(onconnected);
+            } else {
+                retVal = remoteService.disconnect(onsuccesCallback, onerrorCallback);
             }
-        }
-        device.services[i].connect(onconnected);
-        tizen.convergence.stopDiscovery();
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -73,7 +88,7 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
old mode 100644 (file)
new mode 100755 (executable)
index 9853670..7771fec
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_launch</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_launch
-//==== LABEL Check if RemoteAppControlService launch method without optional arguments works properly
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launch M
-//==== SPEC_URL TBD
-//==== PRIORITY P1
-//==== TEST_CRITERIA MR MMINA
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, retVal = null, requestAppId = "targetApp0.main";
-
-t.step(function () {
-    onconnected = t.step_func(function (service) {
-        retVal = service.launch(requestAppId);
-        assert_equals(retVal, undefined, "launch should return undefined");
-        service.disconnect();
-        t.done();
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED")  {
-                break;
-            }
-        }
-        device.services[i].connect(onconnected);
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_launch</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+<script src="support/convergence_common.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_launch\r
+//==== LABEL Check if RemoteAppControlService launch method without optional arguments works properly\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launch M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P1\r
+//==== TEST_CRITERIA MR MMINA\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror, onstarted, onstartederror, onstoped, onerrorstoped, retVal = null, remoteService = null, isStarted = false;\r
+\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try{\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            if(isStarted) remoteService.stop();\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    onstoped = t.step_func(function () {\r
+           isStarted = false;\r
+        t.done();\r
+    });\r
+\r
+    onerrorstoped = t.step_func(function (error) {\r
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    onstarted = t.step_func(function (service) {\r
+        retVal = service.launch(REQUEST_APP_ID);\r
+        assert_equals(retVal, undefined, "launch should return undefined");\r
+        service.stop(onstoped, onerrorstoped);\r
+    });\r
+\r
+    onstartederror = t.step_func(function (error) {\r
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    onconnected = t.step_func(function (service) {\r
+       isStarted = true;\r
+       service.start(onstarted, onstartederror);\r
+    });\r
+\r
+    connectederror = t.step_func(function (error) {\r
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null)  {\r
+                    remoteService = device.services[i];\r
+                    if (device.services[i].connectionState == "CONNECTED") {\r
+                        onconnected (device.services[i]);\r
+                    } else {\r
+                        device.services[i].connect(onconnected, connectederror);\r
+                    }\r
+                    break;\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index f434db1..a9371e7
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_launchAppControl</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_launchAppControl
-//==== LABEL Check if RemoteAppControlService launchAppControl method without optional arguments works properly
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M
-//==== SPEC_URL TBD
-//==== PRIORITY P1
-//==== TEST_CRITERIA MR MMINA
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, retVal = null, requestAppControl;
-
-t.step(function () {
-    requestAppControl = new tizen.ApplicationControl(
-        "http://tizen.org/appcontrol/operation/view",
-        null,
-        "image/jpeg",
-        null);
-
-    onconnected = t.step_func(function (service) {
-        retVal = service.launchAppControl(requestAppControl);
-        assert_equals(retVal, undefined, "launchAppControl should return undefined");
-        service.disconnect();
-        t.done();
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED")  {
-                break;
-            }
-        }
-        device.services[i].connect(onconnected);
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_launchAppControl</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_launchAppControl\r
+//==== LABEL Check if RemoteAppControlService launchAppControl method without optional arguments works properly\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P1\r
+//==== TEST_CRITERIA MR MMINA\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror, onstarted, onstartederror,\r
+    onstoped, onerrorstoped, retVal = null, requestAppControl, service, remoteService = null, isStarted = false;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try{\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            if(isStarted) remoteService.stop();\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    requestAppControl = new tizen.ApplicationControl(\r
+        "http://tizen.org/appcontrol/operation/view",\r
+        null,\r
+        "image/jpeg",\r
+        null);\r
+\r
+    onstoped = t.step_func(function () {\r
+        isStarted = false;\r
+        t.done();\r
+    });\r
+\r
+    onerrorstoped = t.step_func(function (error) {\r
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    onstarted = t.step_func(function (service) {\r
+        retVal = service.launchAppControl(requestAppControl);\r
+        assert_equals(retVal, undefined, "launchAppControl should return undefined");\r
+        remoteService.stop(onstoped, onerrorstoped);\r
+    });\r
+\r
+    onstartederror = t.step_func(function (error) {\r
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    onconnected = t.step_func(function (service) {\r
+        isStarted = true;\r
+        service.start(onstarted, onstartederror);\r
+    });\r
+\r
+    connectederror = t.step_func(function (error) {\r
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    if (device.services[i].connectionState === "CONNECTED") {\r
+                        onconnected (device.services[i]);\r
+                    } else {\r
+                        device.services[i].connect(onconnected, connectederror);\r
+                    }\r
+                    break;\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_InvalidStateError.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_InvalidStateError.html
new file mode 100755 (executable)
index 0000000..66461e4
--- /dev/null
@@ -0,0 +1,105 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_launchAppControl_InvalidStateError</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_launchAppControl_InvalidStateError
+//==== LABEL Check if RemoteAppControlService launchAppControl method throw exception when service is not started yet
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null, onconnected, requestAppControl, launchsuccess, launcherror;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+    });
+
+    requestAppControl = new tizen.ApplicationControl(
+        "http://tizen.org/appcontrol/operation/view",
+        null,
+        "image/jpeg",
+        null);
+
+    launchsuccess = t.step_func(function () {
+        assert_unreached("launchAppControl() success callback should not be invoked");
+    });
+
+    launcherror = t.step_func(function (error) {
+       assert_unreached("launchAppControl() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onconnected = t.step_func(function (service) {
+        assert_throws(INVALID_STATE_EXCEPTION, function () {
+            service.launchAppControl(requestAppControl, null, launchsuccess, launcherror);
+        }, "Should throw InvalidStatesError.");
+        t.done();
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected);
+                        break;
+                    } else {
+                        assert_throws(INVALID_STATE_EXCEPTION, function () {
+                            remoteService.launchAppControl(requestAppControl, null, launchsuccess, launcherror);
+                        }, "Should throw InvalidStatesError.");
+                        t.done();
+                    }
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index ac16dd3..6197118
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_launchAppControl_appControl_TypeMismatch</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_launchAppControl_appControl_TypeMismatch
-//==== LABEL Check if launchAppControl of RemoteAppControlService throws exception when appControl is incorrect
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MC
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerror, onversionTable, exceptionName,
-    remoteAppControlCallback, requestAppControl;
-
-t.step(function () {
-    conversionTable = getTypeConversionExceptions("Object", true);
-
-    remoteAppControlCallback = t.step_func(function (data) {
-       assert_unreached("launchAppControl() success callback should not be invoked.");
-    });
-
-    onerror = t.step_func(function (error) {
-       assert_unreached("launchAppControl() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    onconnected = t.step_func(function (service) {
-        for (i = 0; i < conversionTable.length; i++) {
-            requestAppControl = conversionTable[i][0];
-            exceptionName = conversionTable[i][1];
-            assert_throws({name: exceptionName},
-                function () {
-                    service.launchAppControl(requestAppControl, null, remoteAppControlCallback, onerror)
-                }, "Given incorrect errorCallback.");
-        }
-        t.done();
-    });
-
-    connectederror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;;
-            }
-        }
-        device.services[i].connect(onconnected, connectederror);
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_launchAppControl_appControl_TypeMismatch</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_launchAppControl_appControl_TypeMismatch\r
+//==== LABEL Check if launchAppControl of RemoteAppControlService throws exception when appControl is incorrect\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MC\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror, onerrorcallback, onversionTable, exceptionName,\r
+    remoteAppControlCallback, requestAppControl, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    conversionTable = getTypeConversionExceptions("object", true);\r
+\r
+    remoteAppControlCallback = t.step_func(function (data) {\r
+       assert_unreached("launchAppControl() success callback should not be invoked.");\r
+    });\r
+\r
+    onerrorcallback = t.step_func(function (error) {\r
+       assert_unreached("launchAppControl() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    onconnected = t.step_func(function (service) {\r
+        for (i = 0; i < conversionTable.length; i++) {\r
+            requestAppControl = conversionTable[i][0];\r
+            exceptionName = conversionTable[i][1];\r
+            assert_throws({name: exceptionName},\r
+                function () {\r
+                    service.launchAppControl(requestAppControl, null, remoteAppControlCallback, onerrorcallback)\r
+                }, "Given incorrect errorCallback.");\r
+        }\r
+        t.done();\r
+    });\r
+\r
+    connectederror = t.step_func(function (error) {\r
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    if (device.services[i].connectionState === "CONNECTED") {\r
+                        onconnected (device.services[i]);\r
+                    } else {\r
+                        device.services[i].connect(onconnected, connectederror);\r
+                    }\r
+                    break;\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index 87d208e..b96272a
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_launchAppControl_errorCallback_TypeMismatch</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_launchAppControl_errorCallback_TypeMismatch
-//==== LABEL Check if launchAppControl of RemoteAppControlService throws exception when errorCallback is incorrect
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MC
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerror, onversionTable, exceptionName,
-    remoteAppControlCallback, requestAppControl;
-
-t.step(function () {
-    conversionTable = getTypeConversionExceptions("functionObject", true);
-    requestAppControl = new tizen.ApplicationControl(
-        "http://tizen.org/appcontrol/operation/view",
-        null,
-        "image/jpeg",
-        null);
-
-    remoteAppControlCallback = t.step_func(function (data) {
-       assert_unreached("launchAppControl() success callback should not be invoked.");
-    });
-
-    onconnected = t.step_func(function (service) {
-        for (i = 0; i < conversionTable.length; i++) {
-            onerror = conversionTable[i][0];
-            exceptionName = conversionTable[i][1];
-            assert_throws({name: exceptionName},
-                function () {
-                    service.launchAppControl(requestAppControl, null, remoteAppControlCallback, onerror)
-                }, "Given incorrect errorCallback.");
-        }
-        t.done();
-    });
-
-    connectederror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;;
-            }
-        }
-        device.services[i].connect(onconnected, connectederror);
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_launchAppControl_errorCallback_TypeMismatch</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_launchAppControl_errorCallback_TypeMismatch\r
+//==== LABEL Check if launchAppControl of RemoteAppControlService throws exception when errorCallback is incorrect\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MC\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror, onerrorcallback, onversionTable, exceptionName,\r
+    remoteAppControlCallback, requestAppControl, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    conversionTable = getTypeConversionExceptions("functionObject", true);\r
+\r
+    requestAppControl = new tizen.ApplicationControl(\r
+        "http://tizen.org/appcontrol/operation/view",\r
+        null,\r
+        "image/jpeg",\r
+        null);\r
+\r
+    remoteAppControlCallback = t.step_func(function () {\r
+       assert_unreached("launchAppControl() success callback should not be invoked.");\r
+    });\r
+\r
+    onconnected = t.step_func(function (service) {\r
+        for (i = 0; i < conversionTable.length; i++) {\r
+            onerrorcallback = conversionTable[i][0];\r
+            exceptionName = conversionTable[i][1];\r
+            assert_throws({name: exceptionName},\r
+                function () {\r
+                    service.launchAppControl(requestAppControl, null, remoteAppControlCallback, onerrorcallback)\r
+                }, "Given incorrect errorCallback.");\r
+        }\r
+        t.done();\r
+    });\r
+\r
+    connectederror = t.step_func(function (error) {\r
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+           assert_greater_than(device.services.length, 0, "service item is not found");\r
+           for (i = 0; i < device.services.length; i++) {\r
+              if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null)  {\r
+                 remoteService = device.services[i];\r
+                 if (device.services[i].connectionState === "CONNECTED") {\r
+                    onconnected (device.services[i]);\r
+                 } else {\r
+                    device.services[i].connect(onconnected, connectederror);\r
+                 }\r
+                 break;\r
+              }\r
+           }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index a359347..7d2a3b9
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_launchAppControl_errorCallback_invalid_cb</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_launchAppControl_errorCallback_invalid_cb
-//==== LABEL Check if launchAppControl of AppCommunicationClientService throws exception when errorCallback is invalid
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MTCB
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror, incorrectCallback,
-    remoteAppControlCallback, requestAppControl;
-
-t.step(function () {
-    requestAppControl = new tizen.ApplicationControl(
-        "http://tizen.org/appcontrol/operation/view",
-        null,
-        "image/jpeg",
-        null);
-
-    remoteAppControlCallback = t.step_func(function (data) {
-       assert_unreached("launchAppControl() success callback should not be invoked");
-    });
-
-    incorrectCallback = {
-        onerror: t.step_func(function (error) {
-            assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);
-        })
-    };
-
-    onconnected = t.step_func(function (service) {
-        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
-            service.launchAppControl(requestAppControl, null, remoteAppControlCallback, incorrectCallback);
-        }, "Given incorrect errorCallback.");
-        t.done();
-    });
-
-    connectederror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;;
-            }
-        }
-        device.services[i].connect(onconnected, connectederror);
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_launchAppControl_errorCallback_invalid_cb</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_launchAppControl_errorCallback_invalid_cb\r
+//==== LABEL Check if launchAppControl of AppCommunicationClientService throws exception when errorCallback is invalid\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MTCB\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror, incorrectCallback,\r
+    remoteAppControlCallback, requestAppControl, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    requestAppControl = new tizen.ApplicationControl(\r
+        "http://tizen.org/appcontrol/operation/view",\r
+        null,\r
+        "image/jpeg",\r
+        null);\r
+\r
+    remoteAppControlCallback = t.step_func(function () {\r
+       assert_unreached("launchAppControl() success callback should not be invoked");\r
+    });\r
+\r
+    incorrectCallback = {\r
+        onerror: t.step_func(function (error) {\r
+            assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);\r
+        })\r
+    };\r
+\r
+    onconnected = t.step_func(function (service) {\r
+        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {\r
+            service.launchAppControl(requestAppControl, null, remoteAppControlCallback, incorrectCallback);\r
+        }, "Given incorrect errorCallback.");\r
+        t.done();\r
+    });\r
+\r
+    connectederror = t.step_func(function (error) {\r
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null)  {\r
+                    remoteService = device.services[i];\r
+                    if (device.services[i].connectionState === "CONNECTED") {\r
+                        onconnected (device.services[i]);\r
+                    } else {\r
+                        device.services[i].connect(onconnected, connectederror);\r
+                    }\r
+                    break;\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index ad9cb3b..01e1f30
@@ -1,69 +1,80 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_launchAppControl_exist</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_launchAppControl_exist
-//==== LABEL Check if launchAppControl of RemoteAppControlService exists
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M
-//==== SPEC_URL TBD
-//==== PRIORITY P0
-//==== TEST_CRITERIA ME
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i;
-
-t.step(function () {
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;
-            }
-        }
-        assert_true("launchAppControl" in device.services[i], "RemoteAppControlService should have launchAppControl method");
-        check_method_exists(device.services[i], "launchAppControl");
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-            t.done();
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_launchAppControl_exist</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_launchAppControl_exist\r
+//==== LABEL Check if launchAppControl of RemoteAppControlService exists\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P0\r
+//==== TEST_CRITERIA ME\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try{\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    assert_true("launchAppControl" in remoteService, "RemoteAppControlService should have launchAppControl method");\r
+                    check_method_exists(remoteService, "launchAppControl");\r
+                    t.done();\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index 87c2aa9..84a8519
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_launchAppControl_invalid_obj</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_launchAppControl_invalid_obj
-//==== LABEL Check if RemoteAppControlService launchAppControl method throws exception when appControl is a simple object
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MTO
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, requestAppControl;
-
-t.step(function () {
-    requestAppControl = {
-        operation : "http://tizen.org/appcontrol/operation/view",
-        uri : null,
-        mime : "image/jpeg",
-        category : null
-    };
-
-    onconnected = t.step_func(function (service) {
-        retVal = service.launchAppControl(requestAppControl);
-        assert_equals(retVal, undefined, "launchAppControl should return undefined");
-        service.disconnect();
-        t.done();
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED")  {
-                break;
-            }
-        }
-        device.services[i].connect(onconnected);
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_launchAppControl_invalid_obj</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_launchAppControl_invalid_obj\r
+//==== LABEL Check if RemoteAppControlService launchAppControl method throws exception when appControl is a simple object\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MTO\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror, requestAppControl, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    requestAppControl = {\r
+        operation : "http://tizen.org/appcontrol/operation/view",\r
+        uri : null,\r
+        mime : "image/jpeg",\r
+        category : null\r
+    };\r
+\r
+    onconnected = t.step_func(function (service) {\r
+        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {\r
+            service.launchAppControl(requestAppControl);\r
+        }, "Given incorrect AppControl object.");\r
+        t.done();\r
+    });\r
+\r
+    connectederror = t.step_func(function (error) {\r
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null)  {\r
+                    remoteService = device.services[i];\r
+                    if (device.services[i].connectionState === "CONNECTED") {\r
+                        onconnected (device.services[i]);\r
+                    } else {\r
+                        device.services[i].connect(onconnected, connectederror);\r
+                    }\r
+                    break;\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index 0a2cc65..4c2c52f
@@ -1,78 +1,97 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_launchAppControl_misarg</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_launchAppControl_misarg
-//==== LABEL Check if launchAppControl method of RemoteAppControlService called with missing non-optional argument throws an exception
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MMA
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected;
-
-t.step(function () {
-
-    onconnected = t.step_func(function (service) {
-        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
-            service.launchAppControl();
-        }, "Invoked with non-optional arguments.");
-        service.disconnect();
-        t.done();
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;
-            }
-        }
-        device.services[i].connect(onconnected);
-        tizen.convergence.stopDiscovery();
-
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_launchAppControl_misarg</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_launchAppControl_misarg\r
+//==== LABEL Check if launchAppControl method of RemoteAppControlService called with missing non-optional argument throws an exception\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MMA\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try{\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    onconnected = t.step_func(function (service) {\r
+        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {\r
+            service.launchAppControl();\r
+        }, "Invoked with non-optional arguments.");\r
+        try {\r
+            service.disconnect();\r
+        } catch (e) { }\r
+        t.done();\r
+    });\r
+\r
+    connectederror = t.step_func(function (error) {\r
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null)  {\r
+                    remoteService = device.services[i];\r
+                    if (device.services[i].connectionState === "CONNECTED") {\r
+                        onconnected (device.services[i]);\r
+                    } else {\r
+                        device.services[i].connect(onconnected, connectederror);\r
+                    }\r
+                    break;\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_replyCallback_TypeMismatch.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_replyCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..e3faada
--- /dev/null
@@ -0,0 +1,134 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_launchAppControl_replyCallback_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_launchAppControl_replyCallback_TypeMismatch
+//==== LABEL Check if launchAppControl of RemoteAppControlService throws exception when replyCallback is incorrect
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null, onconnected, connectederror, startSuccess, startError, conversionTable, exceptionName,
+    onstoped, onerrorstoped, launchsuccess, launcherror, replyCallback, requestAppControl, isStarted = false;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { };
+        try {
+            if(isStarted) remoteService.stop();
+            remoteService.disconnect();
+        } catch (e) { };
+    });
+
+    conversionTable = getTypeConversionExceptions("object", true);
+    requestAppControl = new tizen.ApplicationControl(
+        "http://tizen.org/appcontrol/operation/view",
+        null,
+        "image/jpeg",
+        null);
+
+    onstoped = t.step_func(function () {
+        isStarted = false;
+        t.done();
+    });
+
+    onerrorstoped = t.step_func(function (error) {
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    launchsuccess = t.step_func(function () {
+       assert_unreached("launchAppControl() success callback should not be invoked.");
+    });
+
+    launcherror = t.step_func(function (error) {
+       assert_unreached("launchAppControl() error callback should not be invoked.");
+    });
+
+    startSuccess = t.step_func(function (service) {
+        for (i = 0; i < conversionTable.length; i++) {
+            replyCallback = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+            assert_throws({name: exceptionName},
+                function () {
+                    service.launchAppControl(requestAppControl, null, launchsuccess, launcherror, replyCallback)
+                }, "Given incorrect successCallback.");
+        }
+        service.stop(onstoped, onerrorstoped);
+    });
+
+    startError = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onconnected = t.step_func(function (service) {
+        isStarted = true;
+        service.start(startSuccess, startError);
+    });
+
+    connectederror = t.step_func(function (error) {
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected, connectederror);
+                    } else {
+                        onconnected(remoteService);
+                    }
+                    break;
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_replyCallback_invalid_cb.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_replyCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..532e0a6
--- /dev/null
@@ -0,0 +1,138 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_launchAppControl_replyCallback_invalid_cb</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_launchAppControl_replyCallback_invalid_cb
+//==== LABEL Check if launchAppControl of RemoteAppControlService throws exception when replyCallback is invalid
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTCB
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null, onconnected, connectederror,
+    onstoped, onerrorstoped, startSuccess, startError, launchsuccess, launcherror, incorrectCallback, requestAppControl, conversionTable , isStarted = false;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { };
+        try {
+            if(isStarted) remoteService.stop();
+            remoteService.disconnect();
+        } catch (e) { };
+    });
+
+    requestAppControl = new tizen.ApplicationControl(
+        "http://tizen.org/appcontrol/operation/view",
+        null,
+        "image/jpeg",
+        null);
+
+    onstoped = t.step_func(function () {
+        isStarted = false;
+        t.done();
+    });
+
+    onerrorstoped = t.step_func(function (error) {
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    launchsuccess = t.step_func(function () {
+       assert_unreached("launchAppControl() success callback should not be invoked.");
+    });
+
+    launcherror = t.step_func(function (error) {
+       assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);
+    });
+
+    incorrectCallback = {
+        onsuccess: t.step_func(function () {
+            assert_unreached("launchAppControl() success callback should not be invoked");
+        })
+    };
+
+    conversionTable = getListenerConversionExceptions(["onsuccess", "onfailure"]);
+
+    startSuccess = t.step_func(function (service) {
+        for (i = 0; i < conversionTable.length; i++) {
+            assert_throws({name: conversionTable[i][1]}, function () {
+                service.launchAppControl(requestAppControl, null, launchsuccess, launcherror, conversionTable[i][0]);
+            }, "Given incorrect successCallback.");
+        }
+        service.stop(onstoped, onerrorstoped);
+    });
+
+    startError = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onconnected = t.step_func(function (service) {
+        isStarted = true;
+        service.start(startSuccess, startError);
+    });
+
+    connectederror = t.step_func(function (error) {
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected, connectederror);
+                    } else {
+                        onconnected(remoteService);
+                    }
+                    break;
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 2744da7..bf1aad4
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_launchAppControl_successCallback_TypeMismatch</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_launchAppControl_successCallback_TypeMismatch
-//==== LABEL Check if launchAppControl of RemoteAppControlService throws exception when successCallback is incorrect
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MC
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror, onerror, onversionTable, exceptionName,
-    remoteAppControlCallback, requestAppControl;
-
-t.step(function () {
-    conversionTable = getTypeConversionExceptions("functionObject", true);
-    requestAppControl = new tizen.ApplicationControl(
-        "http://tizen.org/appcontrol/operation/view",
-        null,
-        "image/jpeg",
-        null);
-
-    onerror = t.step_func(function (error) {
-       assert_unreached("launchAppControl() error callback should not be invoked.");
-    });
-
-    onconnected = t.step_func(function (service) {
-        for (i = 0; i < conversionTable.length; i++) {
-            remoteAppControlCallback = conversionTable[i][0];
-            exceptionName = conversionTable[i][1];
-            assert_throws({name: exceptionName},
-                function () {
-                    service.launchAppControl(requestAppControl, null, remoteAppControlCallback, onerror)
-                }, "Given incorrect errorCallback.");
-        }
-        t.done();
-    });
-
-    connectederror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;;
-            }
-        }
-        device.services[i].connect(onconnected, connectederror);
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_launchAppControl_successCallback_TypeMismatch</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_launchAppControl_successCallback_TypeMismatch\r
+//==== LABEL Check if launchAppControl of RemoteAppControlService throws exception when successCallback is incorrect\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MC\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror, onerrorcallback, onversionTable, exceptionName,\r
+    remoteAppSuccessCallback, requestAppControl, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try{\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    conversionTable = getTypeConversionExceptions("functionObject", true);\r
+    requestAppControl = new tizen.ApplicationControl(\r
+        "http://tizen.org/appcontrol/operation/view",\r
+        null,\r
+        "image/jpeg",\r
+        null);\r
+\r
+    onerrorcallback = t.step_func(function (error) {\r
+       assert_unreached("launchAppControl() error callback should not be invoked.");\r
+    });\r
+\r
+    onconnected = t.step_func(function (service) {\r
+        for (i = 0; i < conversionTable.length; i++) {\r
+            remoteAppSuccessCallback = conversionTable[i][0];\r
+            exceptionName = conversionTable[i][1];\r
+            assert_throws({name: exceptionName},\r
+                function () {\r
+                    service.launchAppControl(requestAppControl, null, remoteAppSuccessCallback, onerrorcallback)\r
+                }, "Given incorrect errorCallback.");\r
+        }\r
+        t.done();\r
+    });\r
+\r
+    connectederror = t.step_func(function (error) {\r
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    if (device.services[i].connectionState === "CONNECTED") {\r
+                        onconnected(device.services[i]);\r
+                    } else {\r
+                        device.services[i].connect(onconnected, connectederror);\r
+                    }\r
+                    break;\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index f91d461..db289bb
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_launchAppControl_successCallback_invalid_cb</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_launchAppControl_successCallback_invalid_cb
-//==== LABEL Check if launchAppControl of RemoteAppControlService throws exception when successCallback is invalid
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MTCB
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror, launcherror, incorrectCallback, requestAppControl;
-
-t.step(function () {
-    launcherror = t.step_func(function (error) {
-       assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);
-    });
-
-    incorrectCallback = {
-        onsuccess: t.step_func(function () {
-            assert_unreached("launchAppControl() success callback should not be invoked");
-        })
-    };
-
-    onconnected = t.step_func(function (service) {
-        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
-            service.launchAppControl(requestAppControl, null, incorrectCallback, launcherror);
-        }, "Given incorrect successCallback.");
-        t.done();
-    });
-
-    connectederror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;;
-            }
-        }
-        device.services[i].connect(onconnected, connectederror);
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_launchAppControl_successCallback_invalid_cb</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_launchAppControl_successCallback_invalid_cb\r
+//==== LABEL Check if launchAppControl of RemoteAppControlService throws exception when successCallback is invalid\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MTCB\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror,\r
+    launcherror, incorrectCallback, requestAppControl, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try{\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    launcherror = t.step_func(function (error) {\r
+       assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);\r
+    });\r
+\r
+    incorrectCallback = {\r
+        onsuccess: t.step_func(function () {\r
+            assert_unreached("launchAppControl() success callback should not be invoked");\r
+        })\r
+    };\r
+\r
+    onconnected = t.step_func(function (service) {\r
+        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {\r
+            service.launchAppControl(requestAppControl, null, incorrectCallback, launcherror);\r
+        }, "Given incorrect successCallback.");\r
+        t.done();\r
+    });\r
+\r
+    connectederror = t.step_func(function (error) {\r
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    if (device.services[i].connectionState === "CONNECTED") {\r
+                        onconnected(device.services[i]);\r
+                    } else {\r
+                        device.services[i].connect(onconnected, connectederror);\r
+                    }\r
+                    break;\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index c7d088d..db08ed5
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_launchAppControl_with_errorCallback</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_launchAppControl_with_errorCallback
-//==== LABEL Check if RemoteAppControlService launchAppControl method with all optional arguments works properly
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M
-//==== SPEC_URL TBD
-//==== PRIORITY P1
-//==== TEST_CRITERIA MOA MR
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, retVal = null, requestAppControl, launchsuccess, launcherror;
-
-t.step(function () {
-    requestAppControl = new tizen.ApplicationControl(
-        "http://tizen.org/appcontrol/operation/view",
-        null,
-        "image/jpeg",
-        null);
-
-    launchsuccess = t.step_func(function (data) {
-        assert_equals(retVal, undefined, "launchAppControl should return undefined");
-        service.disconnect();
-        t.done();
-    });
-
-    launcherror = t.step_func(function (error) {
-       assert_unreached("launchAppControl() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-
-    onconnected = t.step_func(function (service) {
-        retVal = service.launchAppControl(requestAppControl, null, launchsuccess, launcherror);
-        assert_equals(retVal, undefined, "launchAppControl should return undefined");
-        service.disconnect();
-        t.done();
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED")  {
-                break;
-            }
-        }
-        device.services[i].connect(onconnected);
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_launchAppControl_with_errorCallback</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_launchAppControl_with_errorCallback\r
+//==== LABEL Check if RemoteAppControlService launchAppControl method with all optional arguments works properly\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P1\r
+//==== TEST_CRITERIA MOA MR\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onstarted, onstartederror, connectederror,\r
+    onstoped, onerrorstoped, retVal = null, requestAppControl, launchsuccess, launcherror, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try {\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    requestAppControl = new tizen.ApplicationControl(\r
+        "http://tizen.org/appcontrol/operation/view",\r
+        null,\r
+        "image/jpeg",\r
+        null);\r
+\r
+    onstoped = t.step_func(function () {\r
+        t.done();\r
+    });\r
+\r
+    onerrorstoped = t.step_func(function (error) {\r
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    launchsuccess = t.step_func(function () {\r
+        assert_equals(retVal, undefined, "launchAppControl should return undefined");\r
+        remoteService.stop(onstoped, onerrorstoped);\r
+    });\r
+\r
+    launcherror = t.step_func(function (error) {\r
+       assert_unreached("launchAppControl() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    onstarted = t.step_func(function (service) {\r
+        assert_equals(retVal, undefined, "start should return undefined");\r
+        retVal = service.launchAppControl(requestAppControl, null, launchsuccess, launcherror);\r
+    });\r
+\r
+    onstartederror = t.step_func(function (error) {\r
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    onconnected = t.step_func(function (service) {\r
+        retVal = remoteService.start(onstarted, onstartederror);\r
+    });\r
+\r
+    connectederror = t.step_func(function (error) {\r
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    if (device.services[i].connectionState === "CONNECTED") {\r
+                        onconnected(device.services[i]);\r
+                    } else {\r
+                        device.services[i].connect(onconnected, connectederror);\r
+                    }\r
+                    break;\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_with_replyCallback.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_with_replyCallback.html
new file mode 100755 (executable)
index 0000000..bebf44e
--- /dev/null
@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_launchAppControl_with_replyCallback</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_launchAppControl_with_replyCallback
+//==== LABEL Check if RemoteAppControlService launchAppControl method with all optional arguments works properly
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launchAppControl M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MOA MR
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, retVal = null, requestAppControl, startSuccess,
+    startError, onstoped, onerrorstoped, launchsuccess, launcherror, replyCallback, remoteService = null, isStarted = false;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try {
+           if(isStarted) remoteService.stop();
+            remoteService.disconnect();
+        } catch (e) { }
+    });
+
+    requestAppControl = new tizen.ApplicationControl(
+        "http://tizen.org/appcontrol/operation/view",
+        null,
+        "image/jpeg",
+        null);
+
+    onstoped = t.step_func(function () {
+        isStarted = false;
+        t.done();
+    });
+
+    onerrorstoped = t.step_func(function (error) {
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    replyCallback = {
+        onsuccess: t.step_func(function () {
+        }),
+        onfailure: t.step_func(function () {
+        })
+    };
+
+    launchsuccess = t.step_func(function () {
+        assert_equals(retVal, undefined, "launchAppControl should return undefined");
+        remoteService.stop(onstoped, onerrorstoped);
+    });
+
+    launcherror = t.step_func(function (error) {
+       assert_unreached("launchAppControl() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    startSuccess = t.step_func(function (service) {
+        retVal = service.launchAppControl(requestAppControl, null, launchsuccess, launcherror, replyCallback);
+
+    });
+
+    startError = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+
+    onconnected = t.step_func(function (service) {
+        isStarted = true;
+        service.start(startSuccess, startError);
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected);
+                    } else {
+                        onconnected(remoteService);
+                    }
+                    break;
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_InvalidStateError.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_InvalidStateError.html
new file mode 100755 (executable)
index 0000000..b004800
--- /dev/null
@@ -0,0 +1,92 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_launch_InvalidStateError</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_launch_InvalidStateError
+//==== LABEL Check if RemoteAppControlService launch method throw exception when service is not started yet
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launch M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null, onconnected;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+    });
+
+    onconnected = t.step_func(function (service) {
+        assert_throws(INVALID_STATE_EXCEPTION, function () {
+            service.launch(requestAppId);
+        }, "Should throw InvalidStatesError.");
+        service.disconnect();
+        t.done();
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected);
+                        break;
+                    } else {
+                        assert_throws(INVALID_STATE_EXCEPTION, function () {
+                            remoteService.launch(REQUEST_APP_ID);
+                        }, "Should throw InvalidStatesError.");
+                        t.done();
+                    }
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index 359ad51..8644295
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_launch_errorCallback_TypeMismatch</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_launch_errorCallback_TypeMismatch
-//==== LABEL Check if launch of RemoteAppControlService throws exception when errorCallback is incorrect
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launch M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MC
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerror, onversionTable, exceptionName,
-    remoteAppControlCallback, requestAppId = "targetApp0.main";
-
-t.step(function () {
-    conversionTable = getTypeConversionExceptions("functionObject", true);
-
-    remoteAppControlCallback = t.step_func(function (data) {
-       assert_unreached("launch() success callback should not be invoked.");
-    });
-
-    onconnected = t.step_func(function (service) {
-        for (i = 0; i < conversionTable.length; i++) {
-            onerror = conversionTable[i][0];
-            exceptionName = conversionTable[i][1];
-            assert_throws({name: exceptionName},
-                function () {
-                    service.launch(requestAppId, remoteAppControlCallback, onerror)
-                }, "Given incorrect errorCallback.");
-        }
-        t.done();
-    });
-
-    connectederror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;;
-            }
-        }
-        device.services[i].connect(onconnected, connectederror);
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_launch_errorCallback_TypeMismatch</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+<script src="support/convergence_common.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_launch_errorCallback_TypeMismatch\r
+//==== LABEL Check if launch of RemoteAppControlService throws exception when errorCallback is incorrect\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launch M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MC\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror, wrongCallback, onversionTable, exceptionName,\r
+    remoteAppControlCallback, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    conversionTable = getTypeConversionExceptions("functionObject", true);\r
+\r
+    remoteAppControlCallback = t.step_func(function (data) {\r
+       assert_unreached("launch() success callback should not be invoked.");\r
+    });\r
+\r
+    onconnected = t.step_func(function (service) {\r
+        remoteService = service;\r
+        for (i = 0; i < conversionTable.length; i++) {\r
+            wrongCallback = conversionTable[i][0];\r
+            exceptionName = conversionTable[i][1];\r
+            assert_throws({name: exceptionName},\r
+                function () {\r
+                    service.launch(REQUEST_APP_ID, remoteAppControlCallback, wrongCallback)\r
+                }, "Given incorrect errorCallback.");\r
+        }\r
+        t.done();\r
+    });\r
+\r
+    connectederror = t.step_func(function (error) {\r
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    if (device.services[i].connectionState === "CONNECTED") {\r
+                        onconnected (device.services[i]);\r
+                    } else {\r
+                        device.services[i].connect(onconnected, connectederror);\r
+                    }\r
+                    break;\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+          if (!remoteService) {\r
+             assert_unreached("Service given type not found");\r
+          }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index 5efb8be..4064c57
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_launch_errorCallback_invalid_cb</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_launch_errorCallback_invalid_cb
-//==== LABEL Check if launch of AppCommunicationClientService throws exception when errorCallback is invalid
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launch M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MTCB
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror, remoteAppControlCallback, incorrectCallback, requestAppId = "targetApp0.main";
-
-t.step(function () {
-    remoteAppControlCallback = t.step_func(function () {
-       assert_unreached("launch() success callback should not be invoked");
-    });
-
-    incorrectCallback = {
-        onerror: t.step_func(function (error) {
-            assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);
-        })
-    };
-
-    onconnected = t.step_func(function (service) {
-        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
-            service.launch(requestAppId, remoteAppControlCallback, incorrectCallback);
-        }, "Given incorrect errorCallback.");
-        t.done();
-    });
-
-    connectederror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;;
-            }
-        }
-        device.services[i].connect(onconnected, connectederror);
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_launch_errorCallback_invalid_cb</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+<script src="support/convergence_common.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_launch_errorCallback_invalid_cb\r
+//==== LABEL Check if launch of AppCommunicationClientService throws exception when errorCallback is invalid\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launch M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MTCB\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror, remoteAppControlCallback, incorrectCallback, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    remoteAppControlCallback = t.step_func(function () {\r
+       assert_unreached("launch() success callback should not be invoked");\r
+    });\r
+\r
+    incorrectCallback = {\r
+        onerror: t.step_func(function (error) {\r
+            assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);\r
+        })\r
+    };\r
+\r
+    onconnected = t.step_func(function (service) {\r
+        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {\r
+            service.launch(REQUEST_APP_ID, remoteAppControlCallback, incorrectCallback);\r
+        }, "Given incorrect errorCallback.");\r
+        t.done();\r
+    });\r
+\r
+    connectederror = t.step_func(function (error) {\r
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+        assert_greater_than(device.services.length, 0, "service item is not found");\r
+          for (i = 0; i < device.services.length; i++) {\r
+            if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                remoteService = device.services[i];\r
+                if (device.services[i].connectionState === "CONNECTED") {\r
+                    onconnected (device.services[i]);\r
+                } else {\r
+                    device.services[i].connect(onconnected, connectederror);\r
+                }\r
+                break;\r
+            }\r
+          }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+           if (!remoteService) {\r
+               assert_unreached("Service given type not found");\r
+           }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index d181849..6204696
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_launch_errorCallback_invoked</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_launch_errorCallback_invoked
-//==== LABEL Check if RemoteAppControlService launch method with invalid arguments would invoke errorCallback
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launch M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MERRCB
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, remoteAppControlCallback, onerror;
-
-t.step(function () {
-    remoteAppControlCallback = t.step_func(function (data) {
-       assert_unreached("launch() success callback should not be invoked.");
-    });
-
-    errorCallback = t.step_func(function (error) {
-        assert_equals(error.name, "InvalidValuesError", "Incorrect error name");
-        assert_type(error.message, "string", "Error message is not a string");
-        assert_not_equals(error.message, "","Error message is empty");
-        t.done();
-    });
-
-    onconnected = t.step_func(function (service) {
-        service.launch("", remoteAppControlCallback, onerror);
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED")  {
-                break;
-            }
-        }
-        device.services[i].connect(onconnected);
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_launch_errorCallback_invoked</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_launch_errorCallback_invoked\r
+//==== LABEL Check if RemoteAppControlService launch method with invalid arguments would invoke errorCallback\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launch M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MERRCB\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror,\r
+    onstarted, onstartederror, onstoped, onerrorstoped, remoteAppControlCallback, launchErrorCallback,  remoteService = null, isStarted = false;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+            console.log("intheresult");\r
+            console.log("intheresult");\r
+            console.log("intheresult");\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            if(isStarted) remoteService.stop();\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    onstoped = t.step_func(function () {\r
+        isStarted = false;\r
+        t.done();\r
+    });\r
+\r
+    onerrorstoped = t.step_func(function (error) {\r
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    remoteAppControlCallback = t.step_func(function () {\r
+       assert_unreached("launch() success callback should not be invoked.");\r
+    });\r
+\r
+    launchErrorCallback = t.step_func(function (error) {\r
+            console.log("intheerrcb");\r
+            console.log("intheerrcb");\r
+            console.log("intheerrcb");\r
+        assert_equals(error.name, "InvalidValuesError", "Incorrect error name");\r
+        assert_type(error.message, "string", "Error message is not a string");\r
+        assert_not_equals(error.message, "","Error message is empty");\r
+        remoteService.stop(onstoped, onerrorstoped);\r
+    });\r
+\r
+    onstarted = t.step_func(function (service) {\r
+            console.log("inthestart");\r
+            console.log("inthestart");\r
+            console.log("inthestart");\r
+        service.launch("", remoteAppControlCallback, launchErrorCallback);\r
+    });\r
+\r
+    onstartederror = t.step_func(function (error) {\r
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    onconnected = t.step_func(function (service) {\r
+            console.log("intheconnect");\r
+            console.log("intheconnect");\r
+            console.log("intheconnect");\r
+        isStarted = true;\r
+try{\r
+        service.start(onstarted, onstartederror);\r
+}\r
+catch(e){console.log(e.name+e.message);}\r
+    });\r
+\r
+    connectederror = t.step_func(function (error) {\r
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            console.log("inthefound");\r
+            console.log("inthefound");\r
+            console.log("inthefound");\r
+          assert_greater_than(device.services.length, 0, "service item is not found");\r
+          for (i = 0; i < device.services.length; i++) {\r
+              if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                  remoteService = device.services[i];\r
+                  if (device.services[i].connectionState === "CONNECTED") {\r
+                      onconnected (device.services[i]);\r
+                  } else {\r
+                      device.services[i].connect(onconnected, connectederror);\r
+                  }\r
+                break;\r
+              }\r
+          }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            console.log("inthefinished");\r
+            console.log("inthefinished");\r
+            console.log("inthefinished");\r
+          if (!remoteService) {\r
+              assert_unreached("Service given type not found");\r
+          }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index acc0b51..43a9e54
@@ -1,69 +1,74 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_launch_exist</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_launch_exist
-//==== LABEL Check if launch of RemoteAppControlService exists
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launch M
-//==== SPEC_URL TBD
-//==== PRIORITY P0
-//==== TEST_CRITERIA ME
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i;
-
-t.step(function () {
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;
-            }
-        }
-        assert_true("launch" in device.services[i], "RemoteAppControlService should have launch method");
-        check_method_exists(device.services[i], "launch");
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-            t.done();
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_launch_exist</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_launch_exist\r
+//==== LABEL Check if launch of RemoteAppControlService exists\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launch M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P0\r
+//==== TEST_CRITERIA ME\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    assert_true("launch" in remoteService, "RemoteAppControlService should have launch method");\r
+                    check_method_exists(remoteService, "launch");\r
+                    t.done();\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index f200f81..45e7188
@@ -36,33 +36,55 @@ Authors:
 
 setup({timeout: 30000});
 
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected;
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null, onconnected, startSuccess, startError;
 
 t.step(function () {
+    add_result_callback(function () {
+        tizen.convergence.stopDiscovery();
+        remoteService.stop();
+        remoteService.disconnect();
+    });
 
-    onconnected = t.step_func(function (service) {
+    startSuccess = t.step_func(function (service) {
         assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
             service.launch();
         }, "Invoked with non-optional arguments.");
-        service.disconnect();
         t.done();
     });
 
+    startError = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onconnected = t.step_func(function (service) {
+        remoteService.start(startSuccess, startError);
+    });
+
     discoveryCallback = {
         onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL") {
+                    remoteService = device.services[i];
+                    break;
+                }
+            }
+
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
             }
-        }
-        device.services[i].connect(onconnected);
-        tizen.convergence.stopDiscovery();
 
+            if (remoteService.connectionState != "CONNECTED") {
+                remoteService.connect(onconnected);
+            } else {
+                remoteService.start(startSuccess, startError);
+            }
         }),
 
         onfinished : t.step_func(function (foundDevices) {
-
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
         })
     };
 
@@ -70,7 +92,7 @@ t.step(function () {
        assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
     });
 
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
 });
 
 </script>
old mode 100644 (file)
new mode 100755 (executable)
index 16d77a6..85a82bd
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_launch_successCallback_TypeMismatch</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_launch_successCallback_TypeMismatch
-//==== LABEL Check if launch of RemoteAppControlService throws exception when successCallback is incorrect
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launch M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MC
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, launcherror, onversionTable, exceptionName,
-    remoteAppControlCallback, requestAppId = "targetApp0.main";
-
-t.step(function () {
-    conversionTable = getTypeConversionExceptions("functionObject", true);
-
-    launcherror = t.step_func(function (error) {
-       assert_unreached("launch() error callback should not be invoked.");
-    });
-
-    onconnected = t.step_func(function (service) {
-        for (i = 0; i < conversionTable.length; i++) {
-            remoteAppControlCallback = conversionTable[i][0];
-            exceptionName = conversionTable[i][1];
-            assert_throws({name: exceptionName},
-                function () {
-                    service.launch(requestAppId, remoteAppControlCallback, launcherror)
-                }, "Given incorrect successCallback.");
-        }
-        t.done();
-    });
-
-    connectederror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;;
-            }
-        }
-        device.services[i].connect(onconnected, connectederror);
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_launch_successCallback_TypeMismatch</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+<script src="support/convergence_common.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_launch_successCallback_TypeMismatch\r
+//==== LABEL Check if launch of RemoteAppControlService throws exception when successCallback is incorrect\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launch M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MC\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror, launcherror, onversionTable, exceptionName,\r
+    remoteAppControlCallback, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    conversionTable = getTypeConversionExceptions("functionObject", true);\r
+\r
+    launcherror = t.step_func(function (error) {\r
+       assert_unreached("launch() error callback should not be invoked.");\r
+    });\r
+\r
+    onconnected = t.step_func(function (service) {\r
+        for (i = 0; i < conversionTable.length; i++) {\r
+            remoteAppControlCallback = conversionTable[i][0];\r
+            exceptionName = conversionTable[i][1];\r
+            assert_throws({name: exceptionName},\r
+                function () {\r
+                    service.launch(REQUEST_APP_ID, remoteAppControlCallback, launcherror)\r
+                }, "Given incorrect successCallback.");\r
+        }\r
+        t.done();\r
+    });\r
+\r
+    connectederror = t.step_func(function (error) {\r
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    if (device.services[i].connectionState === "CONNECTED") {\r
+                        onconnected(device.services[i]);\r
+                    } else {\r
+                        device.services[i].connect(onconnected, connectederror);\r
+                    }\r
+                    break;\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+           if (!remoteService) {\r
+               assert_unreached("Service given type not found");\r
+           }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index f62df92..12dc0d6
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_launch_successCallback_invalid_cb</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_launch_successCallback_invalid_cb
-//==== LABEL Check if launch of RemoteAppControlService throws exception when successCallback is invalid
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launch M
-//==== SPEC_URL TBD
-//==== PRIORITY P2
-//==== TEST_CRITERIA MTCB
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror, launcherror, incorrectCallback, requestAppId = "targetApp0.main";
-
-t.step(function () {
-    launcherror = t.step_func(function (error) {
-       assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);
-    });
-
-    incorrectCallback = {
-        onsuccess: t.step_func(function () {
-            assert_unreached("launch() success callback should not be invoked");
-        })
-    };
-
-    onconnected = t.step_func(function (service) {
-        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
-            service.launch(requestAppId, incorrectCallback, launcherror);
-        }, "Given incorrect successCallback.");
-        t.done();
-    });
-
-    connectederror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                break;;
-            }
-        }
-        device.services[i].connect(onconnected, connectederror);
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_launch_successCallback_invalid_cb</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+<script src="support/convergence_common.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_launch_successCallback_invalid_cb\r
+//==== LABEL Check if launch of RemoteAppControlService throws exception when successCallback is invalid\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launch M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P2\r
+//==== TEST_CRITERIA MTCB\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror, launcherror, incorrectCallback, remoteService = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    launcherror = t.step_func(function (error) {\r
+       assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);\r
+    });\r
+\r
+    incorrectCallback = {\r
+        onsuccess: t.step_func(function () {\r
+            assert_unreached("launch() success callback should not be invoked");\r
+        })\r
+    };\r
+\r
+    onconnected = t.step_func(function (service) {\r
+        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {\r
+            service.launch(REQUEST_APP_ID, incorrectCallback, launcherror);\r
+        }, "Given incorrect successCallback.");\r
+        t.done();\r
+    });\r
+\r
+    connectederror = t.step_func(function (error) {\r
+       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    if (device.services[i].connectionState === "CONNECTED") {\r
+                        onconnected(device.services[i]);\r
+                    } else {\r
+                        device.services[i].connect(onconnected, connectederror);\r
+                    }\r
+                    break;\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index 90157f3..9ba42a2
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>RemoteAppControlService_launch_with_errorCallback</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: RemoteAppControlService_launch_with_errorCallback
-//==== LABEL Check if RemoteAppControlService launch method with all optional arguments works properly
-//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launch M
-//==== SPEC_URL TBD
-//==== PRIORITY P1
-//==== TEST_CRITERIA MOA MR
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, retVal = null, requestAppId = "targetApp0.main",
-    remoteAppControlCallback, onerror;
-
-t.step(function () {
-    remoteAppControlCallback = t.step_func(function (data) {
-        assert_equals(retVal, undefined, "launch should return undefined");
-        service.disconnect();
-        t.done();
-    });
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("launch() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    onconnected = t.step_func(function (service) {
-        retVal = service.launch(requestAppId, remoteAppControlCallback, onerror);
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-        assert_greater_than(device.services.length, 0, "service item is not found");
-        for (i = 0; i < device.services.length; i++) {
-            if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED")  {
-                break;
-            }
-        }
-        device.services[i].connect(onconnected);
-        tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>RemoteAppControlService_launch_with_errorCallback</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+<script src="support/convergence_common.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: RemoteAppControlService_launch_with_errorCallback\r
+//==== LABEL Check if RemoteAppControlService launch method with all optional arguments works properly\r
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:launch M\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P1\r
+//==== TEST_CRITERIA MOA MR\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, connectederror,\r
+    onstoped, onerrorstoped, onstarted, onstartederror, retVal = null, remoteAppControlCallback, onerrorcallback, remoteService = null, isStarted = false;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+        try{\r
+            if(isStarted) remoteService.stop();\r
+            remoteService.disconnect();\r
+        } catch (e) { }\r
+    });\r
+\r
+    onstoped = t.step_func(function () {\r
+        isStarted = false;\r
+        t.done();\r
+    });\r
+\r
+    onerrorstoped = t.step_func(function (error) {\r
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    remoteAppControlCallback = t.step_func(function () {\r
+        assert_equals(retVal, undefined, "launch should return undefined");\r
+        remoteService.stop(onstoped, onerrorstoped);\r
+    });\r
+\r
+    onerrorcallback = t.step_func(function (error) {\r
+       assert_unreached("launch() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    onstarted = t.step_func(function (service) {\r
+        retVal = service.launch(REQUEST_APP_ID, remoteAppControlCallback, onerrorcallback);\r
+    });\r
+\r
+    onstartederror = t.step_func(function (error) {\r
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    onconnected = t.step_func(function (service) {\r
+        isStarted = true;\r
+        service.start(onstarted, onstartederror);\r
+    });\r
+\r
+    connectederror = t.step_func(function (error) {\r
+        assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            for (i = 0; i < device.services.length; i++) {\r
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {\r
+                    remoteService = device.services[i];\r
+                    if (device.services[i].connectionState === "CONNECTED") {\r
+                        onconnected(remoteService);\r
+                    } else {\r
+                        device.services[i].connect(onconnected, connectederror);\r
+                    }\r
+                    break;\r
+                }\r
+            }\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!remoteService) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+\r
+</script>\r
+</body>\r
+</html>\r
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start.html
new file mode 100755 (executable)
index 0000000..adf6adb
--- /dev/null
@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_start</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_start
+//==== LABEL Check if RemoteAppControlService start method without optional arguments works properly
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:start M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR MMINA
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, retVal = null, remoteService = null, onstarted, onstoped, onerrorstoped, isStarted = false;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try {
+            if(isStarted) remoteService.stop();
+            remoteService.disconnect();
+        } catch (e) { }
+    });
+
+    onstoped = t.step_func(function () {
+        isStarted = false;
+        t.done();
+    });
+
+    onerrorstoped = t.step_func(function (error) {
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onstarted = t.step_func(function (service) {
+        assert_equals(retVal, undefined, "start should return undefined");
+        service.stop(onstoped, onerrorstoped);
+    });
+
+    onconnected = t.step_func(function (service) {
+        isStarted = true;
+        retVal = service.start(onstarted);
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected);
+                    } else {
+                        onconnected(remoteService);
+                    }
+                    break;
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_InvalidStateError.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_InvalidStateError.html
new file mode 100755 (executable)
index 0000000..6bf5eed
--- /dev/null
@@ -0,0 +1,115 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_start_InvalidStateError</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_start_InvalidStateError
+//==== LABEL Check if RemoteAppControlService start method hrow exception when service is connected already.
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:start M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, connectSuccessCallback, startSuccessCallback, startErrorCallback,
+    onstoped, onerrorstoped, remoteService = null, startSuccessCallback2 , isStarted = false;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try {
+            if(isStarted) remoteService.stop();
+            remoteService.disconnect();
+        } catch (e) { }
+    });
+
+    onstoped = t.step_func(function () {
+        isStarted = false;
+        t.done();
+    });
+
+    onerrorstoped = t.step_func(function (error) {
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    startSuccessCallback2 = t.step_func(function () {
+       assert_unreached("start() success callback should not be invoked");
+    });
+
+    startErrorCallback = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    startSuccessCallback = t.step_func(function (service) {
+        assert_throws(INVALID_STATE_EXCEPTION, function () {
+            service.start(startSuccessCallback2, startErrorCallback);
+        }, "Should throw InvalidStateError.");
+        service.stop(onstoped, onerrorstoped);
+    });
+
+    connectSuccessCallback = t.step_func(function (service) {
+        isStarted = true;
+        service.start(startSuccessCallback, startErrorCallback);
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(connectSuccessCallback);
+                    } else {
+                        connectSuccessCallback(remoteService);
+                    }
+                    break;
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_errorCallback_TypeMismatch.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_errorCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..f4abe69
--- /dev/null
@@ -0,0 +1,107 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_start_errorCallback_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_start_errorCallback_TypeMismatch
+//==== LABEL Check if start of RemoteAppControlService throws exception when errorCallback is incorrect
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:start M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerrorCb , onstart, remoteService = null, onversionTable, exceptionName;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+    });
+
+    conversionTable = getTypeConversionExceptions("functionObject", true);
+
+    onstart = t.step_func(function (service) {
+        assert_unreached("start success callback should not be invoked.");
+    });
+
+    onconnected = t.step_func(function (service) {
+        for (i = 0; i < conversionTable.length; i++) {
+            onerrorCb = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+            assert_throws({name: exceptionName},
+                function () {
+                    remoteService.start(onstart, onerrorCb);
+                }, "Given incorrect errorCallback.");
+        }
+        remoteService.disconnect();
+        t.done();
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected);
+                        break;
+                    } else {
+                        for (i = 0; i < conversionTable.length; i++) {
+                            onerrorCb = conversionTable[i][0];
+                            exceptionName = conversionTable[i][1];
+                            assert_throws({name: exceptionName},
+                                function () {
+                                    remoteService.start(onstart, onerrorCb);
+                                }, "Given incorrect errorCallback.");
+                        }
+                        t.done();
+                    }
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_errorCallback_invalid_cb.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_errorCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..a64554b
--- /dev/null
@@ -0,0 +1,101 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_start_errorCallback_invalid_cb</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_start_errorCallback_invalid_cb
+//==== LABEL Check if start of RemoteAppControlService throws exception when errorCallback is invalid
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:start M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTCB
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null, onconnected, onstart, incorrectCallback;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+    });
+
+    onstart = t.step_func(function (service) {
+       assert_unreached("start() success callback should not be invoked");
+    });
+
+    incorrectCallback = {
+        onerror: t.step_func(function (error) {
+            assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);
+        })
+    };
+
+    onconnected = t.step_func(function (service) {
+       assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+           service.start(onstart, incorrectCallback);
+        }, "Given incorrect errorCallback.");
+        remoteService.disconnect();
+        t.done();
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected);
+                        break;
+                    } else {
+                        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+                            remoteService.start(onstart, incorrectCallback);
+                        }, "Given incorrect errorCallback.");
+                        t.done();
+                    }
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_exist.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_exist.html
new file mode 100755 (executable)
index 0000000..f639d5c
--- /dev/null
@@ -0,0 +1,77 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_start_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_start_exist
+//==== LABEL Check if start of RemoteAppControlService exists
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:start M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    assert_true("start" in remoteService, "RemoteAppControlService should have start method");
+                    check_method_exists(remoteService, "start");
+                    t.done();
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_misarg.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_misarg.html
new file mode 100755 (executable)
index 0000000..5815d63
--- /dev/null
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_start_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_start_misarg
+//==== LABEL Check if start method of RemoteAppControlService called with missing non-optional argument throws an exception
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:start M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null, onconnected;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+    });
+
+    onconnected = t.step_func(function (service) {
+       assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+           remoteService.start();
+        }, "Invoked with non-optional arguments.");
+        remoteService.disconnect();
+        t.done();
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected);
+                        break;
+                    } else {
+                        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+                            remoteService.start();
+                        }, "Invoked with non-optional arguments.");
+                        t.done();
+                    }
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_successCallback_TypeMismatch.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_successCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..c23a9b0
--- /dev/null
@@ -0,0 +1,108 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_start_successCallback_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_start_successCallback_TypeMismatch
+//==== LABEL Check if start of RemoteAppControlService throws exception when successCallback is incorrect
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:start M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerror, onstart, remoteService = null, onversionTable, exceptionName;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+    });
+
+    conversionTable = getTypeConversionExceptions("functionObject", false);
+
+    onerror = t.step_func(function (error) {
+        assert_unreached("start error callback should not be invoked.");
+    });
+
+    onconnected = t.step_func(function (service) {
+        for (i = 0; i < conversionTable.length; i++) {
+            onerror = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+            assert_throws({name: exceptionName},
+                function () {
+                    remoteService.start(onstart, onerror);
+                }, "Given incorrect successCallback.");
+        }
+        remoteService.disconnect();
+        t.done();
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected);
+                        break;
+                    } else {
+                        for (i = 0; i < conversionTable.length; i++) {
+                            onstart = conversionTable[i][0];
+                            exceptionName = conversionTable[i][1];
+                            assert_throws({name: exceptionName},
+                                function () {
+                                    remoteService.start(onstart, onerror);
+                                }, "Given incorrect successCallback.");
+                        }
+                        t.done();
+                    }
+                }
+            }
+
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_successCallback_invalid_cb.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_successCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..3279f0c
--- /dev/null
@@ -0,0 +1,101 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_start_successCallback_invalid_cb</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_start_successCallback_invalid_cb
+//==== LABEL Check if start of RemoteAppControlService throws exception when successCallback is invalid
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:start M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTCB
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null, onerror, incorrectCallback, starterror;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+    });
+
+    starterror = t.step_func(function (error) {
+       assert_unreached("start() error callback should not be invoked");
+    });
+
+    incorrectCallback = {
+        onsuccess: t.step_func(function (service) {
+            assert_unreached("Invalid success callback should not be invoked");
+        })
+    };
+
+    onconnected = t.step_func(function (service) {
+       assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+           remoteService.start(incorrectCallback, starterror);
+        }, "Given incorrect successCallback.");
+        remoteService.disconnect();
+        t.done();
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected);
+                        break;
+                    } else {
+                        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+                            remoteService.start(incorrectCallback, starterror);
+                        }, "Given incorrect successCallback.");
+                        t.done();
+                    }
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_with_errorCallback.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_with_errorCallback.html
new file mode 100755 (executable)
index 0000000..b95bfe1
--- /dev/null
@@ -0,0 +1,107 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_start_with_errorCallback</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_start_with_errorCallback
+//==== LABEL Check if RemoteAppControlService start method with optional arguments works properly
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:start M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR MOA
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, retVal = null, remoteService = null, onstarted, onerror, onstoped, onerrorstoped, isStarted = false;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try {
+            if(isStarted) remoteService.stop();
+            remoteService.disconnect();
+        } catch (e) { }
+    });
+
+    onstoped = t.step_func(function () {
+        isStarted = false;
+        t.done();
+    });
+
+    onerrorstoped = t.step_func(function (error) {
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onstarted = t.step_func(function (service) {
+        assert_equals(retVal, undefined, "start should return undefined");
+        service.stop(onstoped, onerrorstoped);
+    });
+
+    onerror = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onconnected = t.step_func(function (service) {
+        isStarted = true;
+        retVal = service.start(onstarted, onerror);
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected);
+                    } else {
+                        onconnected (remoteService);
+                    }
+                    break;
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop.html
new file mode 100755 (executable)
index 0000000..5b81195
--- /dev/null
@@ -0,0 +1,107 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_stop</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_stop
+//==== LABEL Check if RemoteAppControlService stop method without optional arguments works properly
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:stop M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR MMINA
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, retVal = null, remoteService = null, onstarted, onerror, onstoped, onerrorstoped, isStarted = false;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try {
+            if(isStarted) remoteService.stop();
+            remoteService.disconnect();
+        } catch (e) { }
+    });
+
+    onstoped = t.step_func(function () {
+        assert_equals(retVal, undefined, "stop should return undefined");
+           isStarted = false;
+        t.done();
+    });
+
+    onerrorstoped = t.step_func(function (error) {
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onstarted = t.step_func(function (service) {
+        retVal = service.stop(onstoped, onerrorstoped);
+    });
+
+    onerror = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onconnected = t.step_func(function (service) {
+        isStarted = true;
+        service.start(onstarted, onerror);
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected);
+                    } else {
+                        onconnected (remoteService);
+                    }
+                    break;
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_InvalidStateError.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_InvalidStateError.html
new file mode 100755 (executable)
index 0000000..bfc40af
--- /dev/null
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_stop_InvalidStateError</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/convergence_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_stop_InvalidStateError
+//==== LABEL Check if RemoteAppControlService stop method hrow exception when service is connected already.
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:stop M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    assert_throws(INVALID_STATE_EXCEPTION, function () {
+                        remoteService.stop();
+                    }, "Should throw InvalidValuesError.");
+                    t.done();
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_errorCallback_TypeMismatch.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_errorCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..7333f54
--- /dev/null
@@ -0,0 +1,122 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_stop_errorCallback_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_stop_errorCallback_TypeMismatch
+//==== LABEL Check if stop of RemoteAppControlService throws exception when errorCallback is incorrect
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:stop M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onstarted, onerror, stopsuccess, stoperror,
+    onstoped, onerrorstoped, remoteService = null, onversionTable, exceptionName, isStarted = false;
+
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try {
+            if(isStarted) remoteService.stop();
+            remoteService.disconnect();
+        } catch (e) { }
+    });
+
+    onstoped = t.step_func(function () {
+        isStarted = false;
+        t.done();
+    });
+
+    onerrorstoped = t.step_func(function (error) {
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    conversionTable = getTypeConversionExceptions("functionObject", true);
+
+    stopsuccess = t.step_func(function () {
+        assert_unreached("stop success callback should not be invoked.");
+    });
+
+    onstarted = t.step_func(function (service) {
+        for (i = 0; i < conversionTable.length; i++) {
+            stoperror = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+            assert_throws({name: exceptionName},
+                function () {
+                    remoteService.stop(stopsuccess, stoperror);
+                }, "Given incorrect errorCallback.");
+        }
+        service.stop(onstoped, onerrorstoped);
+    });
+
+    onerror = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onconnected = t.step_func(function (service) {
+        isStarted = true;
+        service.start(onstarted, onerror);
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected);
+                    } else {
+                        onconnected(remoteService);
+                    }
+                    break;
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_errorCallback_invalid_cb.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_errorCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..3968681
--- /dev/null
@@ -0,0 +1,119 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_stop_errorCallback_invalid_cb</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_stop_errorCallback_invalid_cb
+//==== LABEL Check if stop of RemoteAppControlService throws exception when errorCallback is invalid
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:stop M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTCB
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null, onconnected, onstarted, onerror, onstop, onstoped, onerrorstoped, incorrectCallback, isStarted = false;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try {
+            if(isStarted) remoteService.stop();
+            remoteService.disconnect();
+        } catch (e) { }
+    });
+
+    onstoped = t.step_func(function () {
+        isStarted = false;
+        t.done();
+    });
+
+    onerrorstoped = t.step_func(function (error) {
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onstop = t.step_func(function () {
+       assert_unreached("stop() success callback should not be invoked");
+    });
+
+    incorrectCallback = {
+        onerror: t.step_func(function (error) {
+            assert_unreached("Invalid error callback invoked:" + error.name + ": " + error.message);
+        })
+    };
+
+    onstarted = t.step_func(function (service) {
+        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+            service.stop(onstop, incorrectCallback);
+        }, "Given incorrect errorCallback.");
+        service.stop(onstoped, onerrorstoped);
+    });
+
+    onerror = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onconnected = t.step_func(function (service) {
+        isStarted = true;
+        service.start(onstarted, onerror);
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected);
+                    } else {
+                        onconnected(remoteService);
+                    }
+                    break;;
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_successCallback_TypeMismatch.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_successCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..738c4ec
--- /dev/null
@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_stop_successCallback_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_stop_successCallback_TypeMismatch
+//==== LABEL Check if stop of RemoteAppControlService throws exception when successCallback is incorrect
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:stop M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerror, onstarted, remoteService = null,
+     onstoped, onerrorstoped, onversionTable, exceptionName, isStarted = false;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try {
+            if(isStarted) remoteService.stop();
+            remoteService.disconnect();
+        } catch (e) { }
+    });
+
+    conversionTable = getTypeConversionExceptions("functionObject", true);
+
+    onstoped = t.step_func(function () {
+        isStarted = false;
+        t.done();
+    });
+
+    onerrorstoped = t.step_func(function (error) {
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    stoperror = t.step_func(function () {
+        assert_unreached("stop error callback should not be invoked.");
+    });
+
+    onstarted = t.step_func(function (service) {
+        for (i = 0; i < conversionTable.length; i++) {
+            stopsuccess = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+            assert_throws({name: exceptionName},
+                function () {
+                    remoteService.stop(stopsuccess, stoperror);
+                }, "Given incorrect successCallback.");
+        }
+        service.stop(onstoped, onerrorstoped);
+    });
+
+    onerror = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onconnected = t.step_func(function (service) {
+        isStarted = true;
+        service.start(onstarted, onerror);
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected);
+                    } else {
+                        onconnected(remoteService);
+                    }
+                    break;
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_successCallback_invalid_cb.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_successCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..61c6c70
--- /dev/null
@@ -0,0 +1,119 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_stop_successCallback_invalid_cb</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_stop_successCallback_invalid_cb
+//==== LABEL Check if stop of RemoteAppControlService throws exception when successCallback is invalid
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:stop M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTCB
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, remoteService = null, onstarted, onerror, incorrectCallback, stoperror, onstoped, onerrorstoped, isStarted = false;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try {
+            if(isStarted) remoteService.stop();
+            remoteService.disconnect();
+        } catch (e) { }
+    });
+
+    onstoped = t.step_func(function () {
+        isStarted = false;
+        t.done();
+    });
+
+    onerrorstoped = t.step_func(function (error) {
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    stoperror = t.step_func(function (error) {
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    incorrectCallback = {
+        onsuccess: t.step_func(function (service) {
+            assert_unreached("Invalid success callback should not be invoked");
+        })
+    };
+
+    onstarted = t.step_func(function (service) {
+        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+            service.stop(incorrectCallback, stoperror);
+        }, "Given incorrect successCallback.");
+        service.stop(onstoped, onerrorstoped);
+    });
+
+    onerror = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onconnected = t.step_func(function (service) {
+        isStarted = true;
+        service.start(onstarted, onerror);
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected);
+                    } else {
+                        onconnected(remoteService);
+                    }
+                    break;
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_with_errorCallback.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_with_errorCallback.html
new file mode 100755 (executable)
index 0000000..a4abbd5
--- /dev/null
@@ -0,0 +1,107 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlService_stop_with_errorCallback</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlService_stop_with_errorCallback
+//==== LABEL Check if RemoteAppControlService stop method with optional arguments works properly
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:stop M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR MOA
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, retVal = null, remoteService = null, onstarted, onerror, stopSuccess, stoperror, isStarted = false;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try {
+            if(isStarted) remoteService.stop();
+            remoteService.disconnect();
+        } catch (e) { }
+    });
+
+    stopSuccess = t.step_func(function () {
+        isStarted = false;
+        assert_equals(retVal, undefined, "start should return undefined");
+        t.done();
+    });
+
+    stoperror = t.step_func(function (error) {
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onstarted = t.step_func(function (service) {
+        retVal = service.stop(stopSuccess, stoperror);
+    });
+
+    onerror = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onconnected = t.step_func(function (service) {
+        isStarted = true;
+        service.start(onstarted, onerror);
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected);
+                    } else {
+                        onconnected(remoteService);
+                    }
+                    break;
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlStartCallback_notexist.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlStartCallback_notexist.html
new file mode 100755 (executable)
index 0000000..f2ba9dd
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlStartCallback_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlStartCallback_notexist
+//==== LABEL Check if interface RemoteAppControlStartCallback exists, it should not.
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlStartCallback:RemoteAppControlStartCallback U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA CBNIO
+
+test(function () {
+    check_no_interface_object("RemoteAppControlStartCallback");
+}, document.title);
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/common/tct-convergence-tizen-tests/convergence/RemoteAppControlStartCallback_onsuccess.html b/common/tct-convergence-tizen-tests/convergence/RemoteAppControlStartCallback_onsuccess.html
new file mode 100755 (executable)
index 0000000..0759f63
--- /dev/null
@@ -0,0 +1,108 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Xiaoyan Qian <xy.qian@samsung.com>
+
+-->
+<html>
+<head>
+<title>RemoteAppControlStartCallback_onsuccess</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: RemoteAppControlStartCallback_onsuccess
+//==== LABEL Check if RemoteAppControlStartCallback onsuccess is called and if its arguments have proper type
+//==== SPEC Tizen Web API:TBD:Convergence:RemoteAppControlService:onsuccess M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA CBOA CBT
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, remoteService = null, onstarted, onerror, onstoped, onerrorstoped, isStarted = false;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+        try {
+            if(isStarted) remoteService.stop();
+            remoteService.disconnect();
+        } catch (e) { }
+    });
+
+    onstoped = t.step_func(function () {
+        isStarted = false;
+        t.done();
+    });
+
+    onerrorstoped = t.step_func(function (error) {
+       assert_unreached("stop() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onstarted = t.step_func(function (service) {
+        assert_not_equals(service, null, "Argument should not be null.");
+        assert_type(service, "object", "Incorrect type.");
+        service.stop(onstoped, onerrorstoped);
+    });
+
+    onerror = t.step_func(function (error) {
+       assert_unreached("start() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    onconnected = t.step_func(function (service) {
+        isStarted = true;
+        service.start(onstarted, onerror);
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            for (i = 0; i < device.services.length; i++) {
+                if (device.services[i].type === "REMOTE_APP_CONTROL" && remoteService === null) {
+                    remoteService = device.services[i];
+                    if (remoteService.connectionState != "CONNECTED") {
+                        remoteService.connect(onconnected);
+                    } else {
+                        onconnected(remoteService);
+                    }
+                    break;
+                }
+            }
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!remoteService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);
+});
+
+</script>
+</body>
+</html>
old mode 100644 (file)
new mode 100755 (executable)
index e8375e1..1b95b21
@@ -1,79 +1,73 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>Service_connectionState_attribute</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: Service_connectionState_attribute
-//==== LABEL Check if Service have connectionState attribute with proper type and is readonly
-//==== SPEC Tizen Web API:TBD:Convergence:Service:connectionState A
-//==== SPEC_URL TBD
-//==== PRIORITY P1
-//==== TEST_CRITERIA AE AT ARO AVL
-
-setup({timeout: 30000});
-
-var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, onconnected, onerror;
-
-t.step(function () {
-    onconnected = t.step_func(function (service) {
-        check_readonly(service, "connectionState", service.connectionState, "string", "Mystate");
-        assert_in_array(service.connectionState, ["CONNECTED", "NOT_CONNECTED", "CONNECTING"], "Incorrect value of type");
-        service.disconnect();
-        t.done();
-    });
-
-    onerror = t.step_func(function (error) {
-       assert_unreached("connect() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    discoveryCallback = {
-        onfound : t.step_func(function (device) {
-            assert_greater_than(device.services.length, 0, "service item is not found");
-            for (i = 0; i < device.services.length; i++) {
-                if (device.services[i] instanceof RemoteAppControlService && device.services[i].connectionState != "CONNECTED") {
-                    break;
-                }
-            }
-            device.services[i].connect(onconnected, onerror);
-            tizen.convergence.stopDiscovery();
-        }),
-
-        onfinished : t.step_func(function (foundDevices) {
-
-        })
-    };
-
-    errorCallback = t.step_func(function (error) {
-       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
-    });
-
-    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
-});
-
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>Service_connectionState_attribute</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: Service_connectionState_attribute\r
+//==== LABEL Check if Service have connectionState attribute with proper type and is readonly\r
+//==== SPEC Tizen Web API:TBD:Convergence:Service:connectionState A\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P1\r
+//==== TEST_CRITERIA AE AT ARO AVL\r
+\r
+setup({timeout: 30000});\r
+\r
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, service = null;\r
+\r
+t.step(function () {\r
+    add_result_callback(function () {\r
+        try {\r
+            tizen.convergence.stopDiscovery();\r
+        } catch (e) { }\r
+    });\r
+\r
+    discoveryCallback = {\r
+        onfound : t.step_func(function (device) {\r
+            assert_greater_than(device.services.length, 0, "service item is not found");\r
+            service = device.services[0];\r
+            check_readonly(service, "connectionState", service.connectionState, "string", "Mystate");\r
+            assert_in_array(service.connectionState, ["CONNECTED", "NOT_CONNECTED", "CONNECTING"], "Incorrect value of type");\r
+            t.done();\r
+        }),\r
+\r
+        onfinished : t.step_func(function (foundDevices) {\r
+            if (!service) {\r
+                assert_unreached("Service given type not found");\r
+            }\r
+        })\r
+    };\r
+\r
+    errorCallback = t.step_func(function (error) {\r
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);\r
+    });\r
+\r
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 20);\r
+});\r
+\r
+</script>\r
+</body>\r
+</html>\r
old mode 100644 (file)
new mode 100755 (executable)
index 78388c4..38b146a
@@ -1,43 +1,43 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-Licensed under the Apache License, Version 2.0 (the License);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Authors:
-        Xiaoyan Qian <xy.qian@samsung.com>
-
--->
-<html>
-<head>
-<title>Service_notexist</title>
-<meta charset="utf-8"/>
-<script src="support/unitcommon.js"></script>
-</head>
-<body>
-<div id="log"></div>
-<script>
-//==== TEST: Service_notexist
-//==== LABEL Check if interface Service exists, it should not.
-//==== SPEC Tizen Web API:TBD:Convergence:Service:Service U
-//==== SPEC_URL TBD
-//==== PRIORITY P3
-//==== TEST_CRITERIA NIO
-
-test(function () {
-    check_no_interface_object("Service");
-}, document.title);
-
-</script>
-</body>
+<!DOCTYPE html>\r
+<!--\r
+Copyright (c) 2016 Samsung Electronics Co., Ltd.\r
+\r
+Licensed under the Apache License, Version 2.0 (the License);\r
+you may not use this file except in compliance with the License.\r
+You may obtain a copy of the License at\r
+\r
+    http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+Unless required by applicable law or agreed to in writing, software\r
+distributed under the License is distributed on an "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+See the License for the specific language governing permissions and\r
+limitations under the License.\r
+\r
+Authors:\r
+        Xiaoyan Qian <xy.qian@samsung.com>\r
+\r
+-->\r
+<html>\r
+<head>\r
+<title>Service_notexist</title>\r
+<meta charset="utf-8"/>\r
+<script src="support/unitcommon.js"></script>\r
+</head>\r
+<body>\r
+<div id="log"></div>\r
+<script>\r
+//==== TEST: Service_notexist\r
+//==== LABEL Check if interface Service exists, it should not.\r
+//==== SPEC Tizen Web API:TBD:Convergence:Service:Service U\r
+//==== SPEC_URL TBD\r
+//==== PRIORITY P3\r
+//==== TEST_CRITERIA NIO\r
+\r
+test(function () {\r
+    check_no_interface_object("Service");\r
+}, document.title);\r
+\r
+</script>\r
+</body>\r
 </html>
\ No newline at end of file
diff --git a/common/tct-convergence-tizen-tests/convergence/Service_type_attribute.html b/common/tct-convergence-tizen-tests/convergence/Service_type_attribute.html
new file mode 100755 (executable)
index 0000000..5f16f40
--- /dev/null
@@ -0,0 +1,73 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2016 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Lukasz Bardeli <l.bardeli@samsung.com>
+
+-->
+<html>
+<head>
+<title>Service_type_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: Service_type_attribute
+//==== LABEL Check if Service have type attribute with proper type and is readonly
+//==== SPEC Tizen Web API:TBD:Convergence:Service:type A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO AVL
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), discoveryCallback, errorCallback, i, clientService = null;
+
+t.step(function () {
+    add_result_callback(function () {
+        try {
+            tizen.convergence.stopDiscovery();
+        } catch (e) { }
+    });
+
+    discoveryCallback = {
+        onfound : t.step_func(function (device) {
+            assert_greater_than(device.services.length, 0, "service item is not found");
+            clientService = device.services[0];
+            check_readonly(clientService, "type", clientService.type, "string", "Mytype");
+            assert_in_array(clientService.type, ["APP_COMM_CLIENT", "APP_COMM_SERVER", "REMOTE_APP_CONTROL"], "Incorrect value of type");
+            t.done();
+        }),
+
+        onfinished : t.step_func(function (foundDevices) {
+            if (!clientService) {
+                assert_unreached("Service given type not found");
+            }
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+       assert_unreached("startDiscovery() error callback was invoked: " + error.name + " msg: " + error.message);
+    });
+
+    tizen.convergence.startDiscovery(discoveryCallback, errorCallback, 60*60);
+});
+
+</script>
+</body>
+</html>
index cfb56db2ec81aa4bdfe441ac7f15ce390c087d15..85ed24c9a928e914e75c6199d9329ac540bf8acf 100644 (file)
@@ -19,3 +19,8 @@ Authors:
 var CHANNEL_URI = "targetApp0.main";
 var CHANNEL_ID = "ChA";
 INVALID_STATE_EXCEPTION = {name: 'InvalidStateError'};
+TYPE_MISMATCH_EXCEPTION = {name: 'TypeMismatchError'};
+NOT_SUPPORTED_ERROR = 'NotSupportedError';
+
+// TODO below value should be moved to preconditions (below applicaiton is present on mobile and TV - state for 2016.12.27)
+var REQUEST_APP_ID = "org.tizen.chromium-efl.mini_browser";
index 0003c62a0642bc7831a18b81efa91fc007d46e34..0c4e2056a3aa7b494e929ca7f813051c1276e906 100644 (file)
@@ -20,7 +20,16 @@ tct_parser = ConfigParser.ConfigParser()
 tct_parser.read(TCT_CONFIG_FILE)
 SRC_DIR = tct_parser.get('DEVICE', 'DEVICE_SUITE_TARGET_30')
 PKG_SRC_DIR = "%s/tct/opt/%s" % (SRC_DIR, PKG_NAME)
+EXECUTION_MODE_30 = tct_parser.get('DEVICE', 'DEVICE_EXECUTION_MODE_30')
+ADMIN_USER_30 = tct_parser.get('DEVICE', 'DEVICE_ADMIN_USER_30')
 
+def userCheck():
+    global GLOVAL_OPT
+    if ADMIN_USER_30 == EXECUTION_MODE_30:
+        GLOVAL_OPT="--global"
+    else:
+        GLOVAL_OPT=""
+        
 
 def doCMD(cmd):
     # Do not need handle timeout in this short script, let tool do it
@@ -112,7 +121,7 @@ def uninstPKGs():
         if not pkg_id:
             action_status = False
             continue
-        (return_code, output) = doRemoteCMD("pkgcmd -u -t wgt -q -n %s" % pkg_id)
+        (return_code, output) = doRemoteCMD("pkgcmd %s -u -t wgt -q -n %s" % (GLOVAL_OPT, pkg_id))
         for line in output:
             if "Failure" in line:
                 action_status = False
@@ -138,7 +147,7 @@ def instPKGs():
                 if not doRemoteCopy(os.path.join(root, file), "%s/%s" % (SRC_DIR, file)):
                     action_status = False
                 (return_code, output) = doRemoteCMD(
-                    "pkgcmd -i -t wgt -q -p %s/%s" % (SRC_DIR, file))
+                    "pkgcmd %s -i -t wgt -q -p %s/%s" % (GLOVAL_OPT,SRC_DIR, file))
                 doRemoteCMD("rm -rf %s/%s" % (SRC_DIR, file))
                 for line in output:
                     if "Failure" in line:
@@ -169,7 +178,7 @@ def main():
         sys.exit(1)
 
     if not PARAMETERS.user:
-        PARAMETERS.user = "owner"
+        PARAMETERS.user = EXECUTION_MODE_30
     if not PARAMETERS.mode:
         PARAMETERS.mode = "SDB"
 
@@ -187,6 +196,8 @@ def main():
         print "No device provided"
         sys.exit(1)
 
+    userCheck()
+
     user_info = getUSERID()
     re_code = user_info[0]
     if re_code == 0 :
old mode 100644 (file)
new mode 100755 (executable)
index 3cd666b..cee2fc1
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService getClientList method hrow exception when service is not started yet" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_getClientList_InvalidStateError">
+      <testcase purpose="Check if getClientList throws exception when channelInfo is incorrect" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_getClientList_channelInfo_TypeMismatch">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_InvalidStateError.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_channelInfo_TypeMismatch.html</test_script_entry>
         </description>
         <specs>
           <spec>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if getClientList throws exception when channelInfo is incorrect" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_getClientList_channelInfo_TypeMismatch">
+      <testcase purpose="Check if AppCommunicationService getClientList method would invoke errorCallback when service has not started the channel" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_getClientList_errorCallback_InvalidStateError">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_channelInfo_TypeMismatch.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_errorCallback_InvalidStateError.html</test_script_entry>
         </description>
         <specs>
           <spec>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService send method hrow exception when service is not started yet" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_send_InvalidStateError">
+      <testcase purpose="Check if send throws exception when channelInfo is incorrect" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_send_channelInfo_TypeMismatch">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_InvalidStateError.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_channelInfo_TypeMismatch.html</test_script_entry>
         </description>
         <specs>
           <spec>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if send throws exception when channelInfo is incorrect" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_send_channelInfo_TypeMismatch">
+      <testcase purpose="Check if AppCommunicationService send method would invoke errorCallback when service has not started the channel" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_send_errorCallback_InvalidStateError">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_channelInfo_TypeMismatch.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_errorCallback_InvalidStateError.html</test_script_entry>
         </description>
         <specs>
           <spec>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if ConvergenceManager start method hrow exception when service is started already" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_start_InvalidStateError">
+      <testcase purpose="Check if start throws exception when channelInfo is incorrect" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_start_channelInfo_TypeMismatch">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_InvalidStateError.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_channelInfo_TypeMismatch.html</test_script_entry>
         </description>
         <specs>
           <spec>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if start throws exception when channelInfo is incorrect" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_start_channelInfo_TypeMismatch">
+      <testcase purpose="Check if start throws exception when errorCallback is incorrect" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_start_errorCallback_TypeMismatch">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_channelInfo_TypeMismatch.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_errorCallback_TypeMismatch.html</test_script_entry>
         </description>
         <specs>
           <spec>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if start throws exception when errorCallback is incorrect" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_start_errorCallback_TypeMismatch">
+      <testcase purpose="Check if start throws exception when errorCallback is invalid" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_start_errorCallback_invalid_cb">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_errorCallback_TypeMismatch.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_errorCallback_invalid_cb.html</test_script_entry>
         </description>
         <specs>
           <spec>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if start throws exception when errorCallback is invalid" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_start_errorCallback_invalid_cb">
+      <testcase purpose="Check if ConvergenceManager start method would invoke errorCallback when service has already started the channel" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_start_errorCallback_invoked">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_errorCallback_invalid_cb.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_errorCallback_invoked.html</test_script_entry>
         </description>
         <specs>
           <spec>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService stop method hrow exception when service is not started yet" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_stop_InvalidStateError">
+      <testcase purpose="Check if stop throws exception when channelInfo is incorrect" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_stop_channelInfo_TypeMismatch">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_InvalidStateError.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_channelInfo_TypeMismatch.html</test_script_entry>
         </description>
         <specs>
           <spec>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if stop throws exception when channelInfo is incorrect" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_stop_channelInfo_TypeMismatch">
+      <testcase purpose="Check if AppCommunicationService stop method would invoke errorCallback when service is not started yet" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="AppCommunicationService_stop_errorCallback_InvalidStateError">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_channelInfo_TypeMismatch.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_errorCallback_InvalidStateError.html</test_script_entry>
         </description>
         <specs>
           <spec>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Test whether the constructor of ChannelInfo work properly" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="ChannelInfo_constructor">
+      <testcase purpose="Check if ClientInfo have clientId attribute with proper type and is readonly" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="ClientInfo_clientId_attribute">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ChannelInfo_constructor.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ClientInfo_clientId_attribute.html</test_script_entry>
         </description>
         <specs>
           <spec>
-            <spec_assertion interface="ChannelInfo" element_type="constructor" element_name="Channel" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_assertion interface="ClientInfo" element_type="attribute" element_name="clientId" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
             <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
             <spec_statement>TBD</spec_statement>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if ChannelInfo exist" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="ChannelInfo_exist">
+      <testcase purpose="Check if ClientInfo have connectionTime attribute with proper type and is readonly" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="ClientInfo_connectionTime_attribute">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ChannelInfo_exist.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ClientInfo_connectionTime_attribute.html</test_script_entry>
         </description>
         <specs>
           <spec>
-            <spec_assertion interface="ChannelInfo" element_type="constructor" element_name="Channel" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_assertion interface="ClientInfo" element_type="attribute" element_name="connectionTime" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
             <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
             <spec_statement>TBD</spec_statement>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if ChannelInfo object is extendable" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P3" id="ChannelInfo_extend">
+      <testcase purpose="Check if ClientInfo have isHost attribute with proper type and is readonly" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="ClientInfo_isHost_attribute">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ChannelInfo_extend.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ClientInfo_isHost_attribute.html</test_script_entry>
         </description>
         <specs>
           <spec>
-            <spec_assertion interface="ChannelInfo" usage="true" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_assertion interface="ClientInfo" element_type="attribute" element_name="isHost" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
             <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
             <spec_statement>TBD</spec_statement>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if ChannelInfo have id attribute with proper type and is writeable" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="ChannelInfo_id_attribute">
+      <testcase purpose="Check if interface ClientInfo exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P3" id="ClientInfo_notexist">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ChannelInfo_id_attribute.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ClientInfo_notexist.html</test_script_entry>
         </description>
         <specs>
           <spec>
-            <spec_assertion interface="ChannelInfo" element_type="attribute" element_name="id" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_assertion interface="ClientInfo" usage="true" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
             <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
             <spec_statement>TBD</spec_statement>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if ChannelInfo have uri attribute with proper type and is writeable" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="ChannelInfo_uri_attribute">
+      <testcase purpose="Check if interface ConnectSuccessCallback exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P3" id="ConnectSuccessCallback_notexist">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ChannelInfo_uri_attribute.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConnectSuccessCallback_notexist.html</test_script_entry>
         </description>
         <specs>
           <spec>
-            <spec_assertion interface="ChannelInfo" element_type="attribute" element_name="uri" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_assertion interface="ConnectSuccessCallback" usage="true" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
             <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
             <spec_statement>TBD</spec_statement>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if interface ConnectSuccessCallback exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P3" id="ConnectSuccessCallback_notexist">
+      <testcase purpose="Check if ConnectSuccessCallback onsuccess is called and if its arguments have proper type" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="ConnectSuccessCallback_onsuccess">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConnectSuccessCallback_notexist.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConnectSuccessCallback_onsuccess.html</test_script_entry>
         </description>
         <specs>
           <spec>
-            <spec_assertion interface="ConnectSuccessCallback" usage="true" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_assertion interface="ConnectSuccessCallback" element_type="method" element_name="onsuccess" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
             <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
             <spec_statement>TBD</spec_statement>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if ConnectSuccessCallback onsuccess is called and if its arguments have proper type" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="ConnectSuccessCallback_onsuccess">
+      <testcase purpose="Test whether the constructor of ConvergenceChannelInfo work properly" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="ConvergenceChannelInfo_constructor">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConnectSuccessCallback_onsuccess.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_constructor.html</test_script_entry>
         </description>
         <specs>
           <spec>
-            <spec_assertion interface="ConnectSuccessCallback" element_type="method" element_name="onsuccess" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_assertion interface="ConvergenceChannelInfo" element_type="constructor" element_name="ConvergenceChannelInfo" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if ConvergenceChannelInfo exist" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="ConvergenceChannelInfo_exist">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="ConvergenceChannelInfo" element_type="constructor" element_name="ConvergenceChannelInfo" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if ConvergenceChannelInfo object is extendable" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P3" id="ConvergenceChannelInfo_extend">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="ConvergenceChannelInfo" usage="true" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if ConvergenceChannelInfo have id attribute with proper type and is writeable" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="ConvergenceChannelInfo_id_attribute">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_id_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="ConvergenceChannelInfo" element_type="attribute" element_name="id" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if ConvergenceChannelInfo have uri attribute with proper type and is writeable" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="ConvergenceChannelInfo_uri_attribute">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_uri_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="ConvergenceChannelInfo" element_type="attribute" element_name="uri" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
             <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
             <spec_statement>TBD</spec_statement>
           </spec>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if ConvergenceManager stopDiscovery method throw exception when discovery procedure has not started yet" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="ConvergenceManager_stopDiscovery_InvalidStateError">
+      <testcase purpose="Check if ConvergenceManager stopDiscovery method throw exception when discovery procedure has not started yet" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="ConvergenceManager_stopDiscovery_InvalidStateError">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceManager_stopDiscovery_InvalidStateError.html</test_script_entry>
         </description>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if RemoteAppControlService disconnect method hrow exception when service was not connected yet." type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_disconnect_InvalidStateError">
+      <testcase purpose="Check if RemoteAppControlService disconnect method throw exception when service was not connected yet." type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_disconnect_InvalidStateError">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_disconnect_InvalidStateError.html</test_script_entry>
         </description>
           </spec>
         </specs>
       </testcase>
+      <testcase purpose="Check if RemoteAppControlService launchAppControl method throw exception when service is not started yet" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_launchAppControl_InvalidStateError">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_InvalidStateError.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="launchAppControl" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
       <testcase purpose="Check if launchAppControl of RemoteAppControlService throws exception when appControl is incorrect" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_launchAppControl_appControl_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_appControl_TypeMismatch.html</test_script_entry>
           </spec>
         </specs>
       </testcase>
+      <testcase purpose="Check if launchAppControl of RemoteAppControlService throws exception when replyCallback is incorrect" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_launchAppControl_replyCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_replyCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="launchAppControl" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if launchAppControl of RemoteAppControlService throws exception when replyCallback is invalid" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_launchAppControl_replyCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_replyCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="launchAppControl" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
       <testcase purpose="Check if launchAppControl of RemoteAppControlService throws exception when successCallback is incorrect" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_launchAppControl_successCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_successCallback_TypeMismatch.html</test_script_entry>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if RemoteAppControlService launchAppControl method with all optional arguments works properly" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="RemoteAppControlService_launchAppControl_with_errorCallback">
+      <testcase purpose="Check if RemoteAppControlService launchAppControl method with all optional arguments works properly" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="RemoteAppControlService_launchAppControl_with_replyCallback">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_with_errorCallback.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_with_replyCallback.html</test_script_entry>
         </description>
         <specs>
           <spec>
           </spec>
         </specs>
       </testcase>
+      <testcase purpose="Check if RemoteAppControlService launch method throw exception when service is not started yet" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_launch_InvalidStateError">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_InvalidStateError.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="launch" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
       <testcase purpose="Check if launch of RemoteAppControlService throws exception when errorCallback is incorrect" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_launch_errorCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_errorCallback_TypeMismatch.html</test_script_entry>
           </spec>
         </specs>
       </testcase>
+      <testcase purpose="Check if RemoteAppControlService start method without optional arguments works properly" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="RemoteAppControlService_start">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="start" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if RemoteAppControlService start method hrow exception when service is connected already." type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_start_InvalidStateError">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_InvalidStateError.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="start" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if start of RemoteAppControlService throws exception when errorCallback is incorrect" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_start_errorCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_errorCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="start" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if start of RemoteAppControlService throws exception when errorCallback is invalid" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_start_errorCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_errorCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="start" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if start of RemoteAppControlService exists" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P0" id="RemoteAppControlService_start_exist">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="start" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if start method of RemoteAppControlService called with missing non-optional argument throws an exception" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_start_misarg">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="start" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if start of RemoteAppControlService throws exception when successCallback is incorrect" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_start_successCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_successCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="start" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if start of RemoteAppControlService throws exception when successCallback is invalid" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_start_successCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_successCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="start" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if RemoteAppControlService start method with optional arguments works properly" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="RemoteAppControlService_start_with_errorCallback">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_with_errorCallback.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="start" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if RemoteAppControlService stop method without optional arguments works properly" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="RemoteAppControlService_stop">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="stop" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if RemoteAppControlService stop method hrow exception when service is connected already." type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_stop_InvalidStateError">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_InvalidStateError.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="stop" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if stop of RemoteAppControlService throws exception when errorCallback is incorrect" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_stop_errorCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_errorCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="stop" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if stop of RemoteAppControlService throws exception when errorCallback is invalid" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_stop_errorCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_errorCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="stop" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if stop of RemoteAppControlService throws exception when successCallback is incorrect" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_stop_successCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_successCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="stop" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if stop of RemoteAppControlService throws exception when successCallback is invalid" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P2" id="RemoteAppControlService_stop_successCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_successCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="stop" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if RemoteAppControlService stop method with optional arguments works properly" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="RemoteAppControlService_stop_with_errorCallback">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_with_errorCallback.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="stop" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface RemoteAppControlStartCallback exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P3" id="RemoteAppControlStartCallback_notexist">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlStartCallback_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlStartCallback" usage="true" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if RemoteAppControlStartCallback onsuccess is called and if its arguments have proper type" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="RemoteAppControlStartCallback_onsuccess">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlStartCallback_onsuccess.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="RemoteAppControlService" element_type="method" element_name="onsuccess" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
       <testcase purpose="Check if Service have connectionState attribute with proper type and is readonly" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="Service_connectionState_attribute">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/Service_connectionState_attribute.html</test_script_entry>
           </spec>
         </specs>
       </testcase>
+      <testcase purpose="Check if Service have type attribute with proper type and is readonly" type="compliance" status="approved" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" priority="P1" id="Service_type_attribute">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/Service_type_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="Service" element_type="attribute" element_name="type" specification="Convergence" section="TBD" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/convergence.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
     </set>
   </suite>
-</test_definition>
+</test_definition>
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
index c737765..6d133bd
 <test_definition>
   <suite name="tct-convergence-tizen-tests" launcher="crosswalk" category="Tizen Web Device APIs">
     <set name="Convergence" type="js">
-      <testcase purpose="Check if interface AppCommunicationClientListCallback exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientListCallback_notexist">
+      <testcase purpose="Check if interface AppCommunicationClientListCallback exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="AppCommunicationClientListCallback_notexist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientListCallback_notexist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationClientListCallback onsuccess is called and if its arguments have proper type" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientListCallback_onsuccess">
+      <testcase purpose="Check if AppCommunicationClientListCallback onsuccess is called and if its arguments have proper type" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="AppCommunicationClientListCallback_onsuccess">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientListCallback_onsuccess.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationClientService connect method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientService_connect">
-        <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_connect.html</test_script_entry>
-        </description>
-      </testcase>
-      <testcase purpose="Check if AppCommunicationClientService connect method hrow exception when service is connected already." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientService_connect_InvalidStateError">
+      <testcase purpose="Check if AppCommunicationClientService connect method hrow exception when service is connected already." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationClientService_connect_InvalidStateError">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_connect_InvalidStateError.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if connect of AppCommunicationClientService throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientService_connect_errorCallback_TypeMismatch">
+      <testcase purpose="Check if connect of AppCommunicationClientService throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationClientService_connect_errorCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_connect_errorCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if connect of AppCommunicationClientService throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientService_connect_errorCallback_invalid_cb">
+      <testcase purpose="Check if connect of AppCommunicationClientService throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationClientService_connect_errorCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_connect_errorCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if connect of AppCommunicationClientService exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientService_connect_exist">
+      <testcase purpose="Check if connect of AppCommunicationClientService exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P0" id="AppCommunicationClientService_connect_exist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_connect_exist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if connect method of AppCommunicationClientService called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientService_connect_misarg">
+      <testcase purpose="Check if connect method of AppCommunicationClientService called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationClientService_connect_misarg">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_connect_misarg.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if connect of AppCommunicationClientService throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientService_connect_successCallback_TypeMismatch">
+      <testcase purpose="Check if connect of AppCommunicationClientService throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationClientService_connect_successCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_connect_successCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if connect of AppCommunicationClientService throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientService_connect_successCallback_invalid_cb">
+      <testcase purpose="Check if connect of AppCommunicationClientService throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationClientService_connect_successCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_connect_successCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationClientService connect method with all optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientService_connect_with_errorCallback">
-        <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_connect_with_errorCallback.html</test_script_entry>
-        </description>
-      </testcase>
-      <testcase purpose="Check if AppCommunicationClientService disconnect method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientService_disconnect">
-        <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_disconnect.html</test_script_entry>
-        </description>
-      </testcase>
-      <testcase purpose="Check if AppCommunicationClientService disconnect method hrow exception when service was not connected yet." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientService_disconnect_InvalidStateError">
-        <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_disconnect_InvalidStateError.html</test_script_entry>
-        </description>
-      </testcase>
-      <testcase purpose="Check if disconnect of AppCommunicationClientService throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientService_disconnect_errorCallback_TypeMismatch">
+      <testcase purpose="Check if disconnect of AppCommunicationClientService throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationClientService_disconnect_errorCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_disconnect_errorCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if disconnect of AppCommunicationClientService throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientService_disconnect_errorCallback_invalid_cb">
+      <testcase purpose="Check if disconnect of AppCommunicationClientService throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationClientService_disconnect_errorCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_disconnect_errorCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if disconnect of AppCommunicationClientService exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientService_disconnect_exist">
+      <testcase purpose="Check if disconnect of AppCommunicationClientService exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P0" id="AppCommunicationClientService_disconnect_exist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_disconnect_exist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if disconnect of AppCommunicationClientService throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientService_disconnect_successCallback_TypeMismatch">
+      <testcase purpose="Check if disconnect of AppCommunicationClientService throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationClientService_disconnect_successCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_disconnect_successCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if disconnect of AppCommunicationClientService throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientService_disconnect_successCallback_invalid_cb">
+      <testcase purpose="Check if disconnect of AppCommunicationClientService throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationClientService_disconnect_successCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_disconnect_successCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationClientService disconnect method with all optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientService_disconnect_with_errorCallback">
-        <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_disconnect_with_errorCallback.html</test_script_entry>
-        </description>
-      </testcase>
-      <testcase purpose="Check if interface AppCommunicationClientService exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationClientService_notexist">
+      <testcase purpose="Check if interface AppCommunicationClientService exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="AppCommunicationClientService_notexist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationClientService_notexist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if interface AppCommunicationListenerCallback exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationListenerCallback_notexist">
+      <testcase purpose="Check if interface AppCommunicationListenerCallback exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="AppCommunicationListenerCallback_notexist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationListenerCallback_notexist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationListenerCallback onnotify is called and if its arguments have proper type" component="Tizen Device APIs/TBD/Convergence" execution_type="manual" id="AppCommunicationListenerCallback_onnotify">
+      <testcase purpose="Check if AppCommunicationListenerCallback onnotify is called and if its arguments have proper type" component="Tizen Device APIs/TBD/Convergence" execution_type="manual" priority="P1" id="AppCommunicationListenerCallback_onnotify">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationListenerCallback_onnotify.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Test whether the constructor of AppCommunicationServerService work properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationServerService_constructor">
+      <testcase purpose="Test whether the constructor of AppCommunicationServerService work properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="AppCommunicationServerService_constructor">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationServerService_constructor.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationServerService exist" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationServerService_exist">
+      <testcase purpose="Check if AppCommunicationServerService exist" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="AppCommunicationServerService_exist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationServerService_exist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationServerService object is extendable" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationServerService_extend">
+      <testcase purpose="Check if AppCommunicationServerService object is extendable" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="AppCommunicationServerService_extend">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationServerService_extend.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService getClientList method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_getClientList">
+      <testcase purpose="Check if AppCommunicationService getClientList method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="AppCommunicationService_getClientList">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService getClientList method hrow exception when service is not started yet" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_getClientList_InvalidStateError">
+      <testcase purpose="Check if getClientList throws exception when channelInfo is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_getClientList_channelInfo_TypeMismatch">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_InvalidStateError.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_channelInfo_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if getClientList throws exception when channelInfo is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_getClientList_channelInfo_TypeMismatch">
+      <testcase purpose="Check if AppCommunicationService getClientList method would invoke errorCallback when service has not started the channel" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_getClientList_errorCallback_InvalidStateError">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_channelInfo_TypeMismatch.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_errorCallback_InvalidStateError.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if getClientList throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_getClientList_errorCallback_TypeMismatch">
+      <testcase purpose="Check if getClientList throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_getClientList_errorCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_errorCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if getClientList throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_getClientList_errorCallback_invalid_cb">
+      <testcase purpose="Check if getClientList throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_getClientList_errorCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_errorCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService getClientList method with invalid arguments would invoke errorCallback" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_getClientList_errorCallback_invoked">
+      <testcase purpose="Check if AppCommunicationService getClientList method with invalid arguments would invoke errorCallback" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_getClientList_errorCallback_invoked">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_errorCallback_invoked.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if getClientList exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_getClientList_exist">
+      <testcase purpose="Check if getClientList exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P0" id="AppCommunicationService_getClientList_exist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_exist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if getClientList method called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_getClientList_misarg">
+      <testcase purpose="Check if getClientList method called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_getClientList_misarg">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_misarg.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if getClientList throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_getClientList_successCallback_TypeMismatch">
+      <testcase purpose="Check if getClientList throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_getClientList_successCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_successCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if getClientList throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_getClientList_successCallback_invalid_cb">
+      <testcase purpose="Check if getClientList throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_getClientList_successCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_successCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService getClientList method with all optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_getClientList_with_errorCallback">
+      <testcase purpose="Check if AppCommunicationService getClientList method with all optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="AppCommunicationService_getClientList_with_errorCallback">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_getClientList_with_errorCallback.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if interface AppCommunicationService exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_notexist">
+      <testcase purpose="Check if interface AppCommunicationService exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="AppCommunicationService_notexist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_notexist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService send method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_send">
+      <testcase purpose="Check if AppCommunicationService send method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="AppCommunicationService_send">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService send method hrow exception when service is not started yet" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_send_InvalidStateError">
+      <testcase purpose="Check if send throws exception when channelInfo is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_send_channelInfo_TypeMismatch">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_InvalidStateError.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_channelInfo_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if send throws exception when channelInfo is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_send_channelInfo_TypeMismatch">
+      <testcase purpose="Check if AppCommunicationService send method would invoke errorCallback when service has not started the channel" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_send_errorCallback_InvalidStateError">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_channelInfo_TypeMismatch.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_errorCallback_InvalidStateError.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if send throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_send_errorCallback_TypeMismatch">
+      <testcase purpose="Check if send throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_send_errorCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_errorCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if send throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_send_errorCallback_invalid_cb">
+      <testcase purpose="Check if send throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_send_errorCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_errorCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService send method with invalid arguments would invoke errorCallback" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_send_errorCallback_invoked">
+      <testcase purpose="Check if AppCommunicationService send method with invalid arguments would invoke errorCallback" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_send_errorCallback_invoked">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_errorCallback_invoked.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if send exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_send_exist">
+      <testcase purpose="Check if send exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P0" id="AppCommunicationService_send_exist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_exist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if send method called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_send_misarg">
+      <testcase purpose="Check if send method called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_send_misarg">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_misarg.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if send throws exception when Payload is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_send_payload_TypeMismatch">
+      <testcase purpose="Check if send throws exception when Payload is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_send_payload_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_payload_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService send method can be called with empty obejct as payload argument" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_send_payload_empty">
+      <testcase purpose="Check if AppCommunicationService send method can be called with empty obejct as payload argument" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="AppCommunicationService_send_payload_empty">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_payload_empty.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if send throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_send_successCallback_TypeMismatch">
+      <testcase purpose="Check if send throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_send_successCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_successCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if send throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_send_successCallback_invalid_cb">
+      <testcase purpose="Check if send throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_send_successCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_successCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService send method with all optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_send_with_errorCallback">
+      <testcase purpose="Check if AppCommunicationService send method with all optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="AppCommunicationService_send_with_errorCallback">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_send_with_errorCallback.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService setListener method works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="manual" id="AppCommunicationService_setListener">
+      <testcase purpose="Check if AppCommunicationService setListener method works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="manual" priority="P1" id="AppCommunicationService_setListener">
         <description>
           <pre_condition>Make sure the service must be connected.</pre_condition>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_setListener.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if setListener exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_setListener_exist">
+      <testcase purpose="Check if setListener exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P0" id="AppCommunicationService_setListener_exist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_setListener_exist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if setListener throws exception when listenerCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_setListener_listenerCallback_TypeMismatch">
+      <testcase purpose="Check if setListener throws exception when listenerCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_setListener_listenerCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_setListener_listenerCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if setListener throws exception when listenerCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_setListener_listenerCallback_invalid_cb">
+      <testcase purpose="Check if setListener throws exception when listenerCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_setListener_listenerCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_setListener_listenerCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if setListener method called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_setListener_misarg">
+      <testcase purpose="Check if setListener method called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_setListener_misarg">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_setListener_misarg.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService start method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_start">
+      <testcase purpose="Check if AppCommunicationService start method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="AppCommunicationService_start">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if ConvergenceManager start method hrow exception when service is started already" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_start_InvalidStateError">
-        <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_InvalidStateError.html</test_script_entry>
-        </description>
-      </testcase>
-      <testcase purpose="Check if start throws exception when channelInfo is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_start_channelInfo_TypeMismatch">
+      <testcase purpose="Check if start throws exception when channelInfo is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_start_channelInfo_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_channelInfo_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if start throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_start_errorCallback_TypeMismatch">
+      <testcase purpose="Check if start throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_start_errorCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_errorCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if start throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_start_errorCallback_invalid_cb">
+      <testcase purpose="Check if start throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_start_errorCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_errorCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if start exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_start_exist">
+      <testcase purpose="Check if ConvergenceManager start method would invoke errorCallback when service has already started the channel" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_start_errorCallback_invoked">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_errorCallback_invoked.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if start exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P0" id="AppCommunicationService_start_exist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_exist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if start throws exception when channelInfo is a simple object" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_start_invalid_obj">
+      <testcase purpose="Check if start throws exception when channelInfo is a simple object" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_start_invalid_obj">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_invalid_obj.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if start method called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_start_misarg">
+      <testcase purpose="Check if start method called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_start_misarg">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_misarg.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if start throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_start_successCallback_TypeMismatch">
+      <testcase purpose="Check if start throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_start_successCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_successCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if start throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_start_successCallback_invalid_cb">
+      <testcase purpose="Check if start throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_start_successCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_successCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService start method with all optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_start_with_errorCallback">
+      <testcase purpose="Check if AppCommunicationService start method with all optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="AppCommunicationService_start_with_errorCallback">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_start_with_errorCallback.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService stop method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_stop">
+      <testcase purpose="Check if AppCommunicationService stop method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="AppCommunicationService_stop">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService stop method hrow exception when service is not started yet" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_stop_InvalidStateError">
+      <testcase purpose="Check if stop throws exception when channelInfo is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_stop_channelInfo_TypeMismatch">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_InvalidStateError.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_channelInfo_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if stop throws exception when channelInfo is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_stop_channelInfo_TypeMismatch">
+      <testcase purpose="Check if AppCommunicationService stop method would invoke errorCallback when service is not started yet" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_stop_errorCallback_InvalidStateError">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_channelInfo_TypeMismatch.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_errorCallback_InvalidStateError.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if stop throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_stop_errorCallback_TypeMismatch">
+      <testcase purpose="Check if stop throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_stop_errorCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_errorCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if stop throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_stop_errorCallback_invalid_cb">
+      <testcase purpose="Check if stop throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_stop_errorCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_errorCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService stop method with invalid arguments would invoke errorCallback" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_stop_errorCallback_invoked">
+      <testcase purpose="Check if AppCommunicationService stop method with invalid arguments would invoke errorCallback" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_stop_errorCallback_invoked">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_errorCallback_invoked.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if stop exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_stop_exist">
+      <testcase purpose="Check if stop exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P0" id="AppCommunicationService_stop_exist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_exist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if stop method called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_stop_misarg">
+      <testcase purpose="Check if stop method called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_stop_misarg">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_misarg.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if stop throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_stop_successCallback_TypeMismatch">
+      <testcase purpose="Check if stop throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_stop_successCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_successCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if stop throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_stop_successCallback_invalid_cb">
+      <testcase purpose="Check if stop throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="AppCommunicationService_stop_successCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_successCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService stop method with all optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_stop_with_errorCallback">
+      <testcase purpose="Check if AppCommunicationService stop method with all optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="AppCommunicationService_stop_with_errorCallback">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_stop_with_errorCallback.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationService unsetListener method works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="manual" id="AppCommunicationService_unsetListener">
+      <testcase purpose="Check if AppCommunicationService unsetListener method works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="manual" priority="P1" id="AppCommunicationService_unsetListener">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_unsetListener.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if unsetListener exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_unsetListener_exist">
+      <testcase purpose="Check if unsetListener exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P0" id="AppCommunicationService_unsetListener_exist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_unsetListener_exist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check using AppCommunicationService::unsetListener() method with extra argument" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationService_unsetListener_extra_argument">
+      <testcase purpose="Check using AppCommunicationService::unsetListener() method with extra argument" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="AppCommunicationService_unsetListener_extra_argument">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationService_unsetListener_extra_argument.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if interface AppCommunicationStartCallback exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationStartCallback_notexist">
+      <testcase purpose="Check if interface AppCommunicationStartCallback exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="AppCommunicationStartCallback_notexist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationStartCallback_notexist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationStartCallback onsuccess is called and if its arguments have proper type" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationStartCallback_onsuccess">
+      <testcase purpose="Check if AppCommunicationStartCallback onsuccess is called and if its arguments have proper type" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="AppCommunicationStartCallback_onsuccess">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationStartCallback_onsuccess.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if interface AppCommunicationSuccessCallback exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationSuccessCallback_notexist">
+      <testcase purpose="Check if interface AppCommunicationSuccessCallback exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="AppCommunicationSuccessCallback_notexist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationSuccessCallback_notexist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if AppCommunicationSuccessCallback onsuccess is called and if its arguments have proper type" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="AppCommunicationSuccessCallback_onsuccess">
+      <testcase purpose="Check if AppCommunicationSuccessCallback onsuccess is called and if its arguments have proper type" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="AppCommunicationSuccessCallback_onsuccess">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/AppCommunicationSuccessCallback_onsuccess.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Test whether the constructor of ChannelInfo work properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ChannelInfo_constructor">
+      <testcase purpose="Check if ClientInfo have clientId attribute with proper type and is readonly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="ClientInfo_clientId_attribute">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ChannelInfo_constructor.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ClientInfo_clientId_attribute.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if ChannelInfo exist" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ChannelInfo_exist">
+      <testcase purpose="Check if ClientInfo have connectionTime attribute with proper type and is readonly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="ClientInfo_connectionTime_attribute">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ChannelInfo_exist.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ClientInfo_connectionTime_attribute.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if ChannelInfo object is extendable" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ChannelInfo_extend">
+      <testcase purpose="Check if ClientInfo have isHost attribute with proper type and is readonly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="ClientInfo_isHost_attribute">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ChannelInfo_extend.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ClientInfo_isHost_attribute.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if ChannelInfo have id attribute with proper type and is writeable" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ChannelInfo_id_attribute">
+      <testcase purpose="Check if interface ClientInfo exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="ClientInfo_notexist">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ChannelInfo_id_attribute.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ClientInfo_notexist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if ChannelInfo have uri attribute with proper type and is writeable" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ChannelInfo_uri_attribute">
+      <testcase purpose="Check if interface ConnectSuccessCallback exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="ConnectSuccessCallback_notexist">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ChannelInfo_uri_attribute.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConnectSuccessCallback_notexist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if interface ConnectSuccessCallback exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConnectSuccessCallback_notexist">
+      <testcase purpose="Test whether the constructor of ConvergenceChannelInfo work properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="ConvergenceChannelInfo_constructor">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConnectSuccessCallback_notexist.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_constructor.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if ConvergenceChannelInfo exist" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="ConvergenceChannelInfo_exist">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if ConvergenceChannelInfo object is extendable" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="ConvergenceChannelInfo_extend">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_extend.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if ConnectSuccessCallback onsuccess is called and if its arguments have proper type" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConnectSuccessCallback_onsuccess">
+      <testcase purpose="Check if ConvergenceChannelInfo have id attribute with proper type and is writeable" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="ConvergenceChannelInfo_id_attribute">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConnectSuccessCallback_onsuccess.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_id_attribute.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if Convergence can have new properties added" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConvergenceManager_extend">
+      <testcase purpose="Check if ConvergenceChannelInfo have uri attribute with proper type and is writeable" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="ConvergenceChannelInfo_uri_attribute">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceChannelInfo_uri_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if Convergence can have new properties added" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="ConvergenceManager_extend">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceManager_extend.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if convergence exists in tizen." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConvergenceManager_in_tizen">
+      <testcase purpose="Check if convergence exists in tizen." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="ConvergenceManager_in_tizen">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceManager_in_tizen.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if interface ConvergenceManager exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConvergenceManager_notexist">
+      <testcase purpose="Check if interface ConvergenceManager exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="ConvergenceManager_notexist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceManager_notexist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if ConvergenceManager startDiscovery method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConvergenceManager_startDiscovery">
+      <testcase purpose="Check if ConvergenceManager startDiscovery method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="ConvergenceManager_startDiscovery">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceManager_startDiscovery.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if ConvergenceManager startDiscovery method throw exception when discovery procedure has started already" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConvergenceManager_startDiscovery_InvalidStateError">
+      <testcase purpose="Check if ConvergenceManager startDiscovery method throw exception when discovery procedure has started already" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="ConvergenceManager_startDiscovery_InvalidStateError">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceManager_startDiscovery_InvalidStateError.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if startDiscovery throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConvergenceManager_startDiscovery_errorCallback_TypeMismatch">
+      <testcase purpose="Check if startDiscovery throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="ConvergenceManager_startDiscovery_errorCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceManager_startDiscovery_errorCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if startDiscovery throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConvergenceManager_startDiscovery_errorCallback_invalid_cb">
+      <testcase purpose="Check if startDiscovery throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="ConvergenceManager_startDiscovery_errorCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceManager_startDiscovery_errorCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if startDiscovery exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConvergenceManager_startDiscovery_exist">
+      <testcase purpose="Check if startDiscovery exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P0" id="ConvergenceManager_startDiscovery_exist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceManager_startDiscovery_exist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if startDiscovery method called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConvergenceManager_startDiscovery_misarg">
+      <testcase purpose="Check if startDiscovery method called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="ConvergenceManager_startDiscovery_misarg">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceManager_startDiscovery_misarg.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if startDiscovery throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConvergenceManager_startDiscovery_successCallback_TypeMismatch">
+      <testcase purpose="Check if startDiscovery throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="ConvergenceManager_startDiscovery_successCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceManager_startDiscovery_successCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if startDiscovery throws exception when success callback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConvergenceManager_startDiscovery_successCallback_invalid_cb">
+      <testcase purpose="Check if startDiscovery throws exception when success callback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="ConvergenceManager_startDiscovery_successCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceManager_startDiscovery_successCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if ConvergenceManager startDiscovery method with all optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConvergenceManager_startDiscovery_with_timeout">
+      <testcase purpose="Check if ConvergenceManager startDiscovery method with all optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="ConvergenceManager_startDiscovery_with_timeout">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceManager_startDiscovery_with_timeout.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if ConvergenceManager stopDiscovery method works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConvergenceManager_stopDiscovery">
+      <testcase purpose="Check if ConvergenceManager stopDiscovery method works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="ConvergenceManager_stopDiscovery">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceManager_stopDiscovery.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if ConvergenceManager stopDiscovery method throw exception when discovery procedure has not started yet" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConvergenceManager_stopDiscovery_InvalidStateError">
+      <testcase purpose="Check if ConvergenceManager stopDiscovery method throw exception when discovery procedure has not started yet" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="ConvergenceManager_stopDiscovery_InvalidStateError">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceManager_stopDiscovery_InvalidStateError.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if stopDiscovery exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConvergenceManager_stopDiscovery_exist">
+      <testcase purpose="Check if stopDiscovery exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P0" id="ConvergenceManager_stopDiscovery_exist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceManager_stopDiscovery_exist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check method stopDiscovery of ConvergenceManager work with extra argument" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConvergenceManager_stopDiscovery_extra_argument">
+      <testcase purpose="Check method stopDiscovery of ConvergenceManager work with extra argument" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="ConvergenceManager_stopDiscovery_extra_argument">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceManager_stopDiscovery_extra_argument.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if interface ConvergenceObject exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="ConvergenceObject_notexist">
+      <testcase purpose="Check if interface ConvergenceObject exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="ConvergenceObject_notexist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/ConvergenceObject_notexist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if Device have id attribute with proper type and is readonly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="Device_id_attribute">
+      <testcase purpose="Check if Device have id attribute with proper type and is readonly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="Device_id_attribute">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/Device_id_attribute.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if Device have name attribute with proper type and is readonly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="Device_name_attribute">
+      <testcase purpose="Check if Device have name attribute with proper type and is readonly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="Device_name_attribute">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/Device_name_attribute.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if interface Device exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="Device_notexist">
+      <testcase purpose="Check if interface Device exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="Device_notexist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/Device_notexist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if Device have services attribute with proper type and is readonly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="Device_services_attribute">
+      <testcase purpose="Check if Device have services attribute with proper type and is readonly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="Device_services_attribute">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/Device_services_attribute.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if Device have type attribute with proper type and is readonly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="Device_type_attribute">
+      <testcase purpose="Check if Device have type attribute with proper type and is readonly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="Device_type_attribute">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/Device_type_attribute.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if interface DiscoverySuccessCallback exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="DiscoverySuccessCallback_notexist">
+      <testcase purpose="Check if interface DiscoverySuccessCallback exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="DiscoverySuccessCallback_notexist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/DiscoverySuccessCallback_notexist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if DiscoverySuccessCallback onfinished is called and if its arguments have proper type" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="DiscoverySuccessCallback_onfinished">
+      <testcase purpose="Check if DiscoverySuccessCallback onfinished is called and if its arguments have proper type" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="DiscoverySuccessCallback_onfinished">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/DiscoverySuccessCallback_onfinished.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if DiscoverySuccessCallback onfound is called and if its arguments have proper type" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="DiscoverySuccessCallback_onfound">
+      <testcase purpose="Check if DiscoverySuccessCallback onfound is called and if its arguments have proper type" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="DiscoverySuccessCallback_onfound">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/DiscoverySuccessCallback_onfound.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if interface RemoteAppControlCallback exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlCallback_notexist">
+      <testcase purpose="Check if interface RemoteAppControlCallback exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="RemoteAppControlCallback_notexist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlCallback_notexist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if RemoteAppControlCallback onsuccess is called and if its arguments have proper type" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlCallback_onsuccess">
+      <testcase purpose="Check if RemoteAppControlCallback onsuccess is called and if its arguments have proper type" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="RemoteAppControlCallback_onsuccess">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlCallback_onsuccess.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if RemoteAppControlService connect method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_connect">
-        <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_connect.html</test_script_entry>
-        </description>
-      </testcase>
-      <testcase purpose="Check if RemoteAppControlService connect method hrow exception when service is connected already." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_connect_InvalidStateError">
+      <testcase purpose="Check if RemoteAppControlService connect method hrow exception when service is connected already." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_connect_InvalidStateError">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_connect_InvalidStateError.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if connect of RemoteAppControlService throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_connect_errorCallback_TypeMismatch">
+      <testcase purpose="Check if connect of RemoteAppControlService throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_connect_errorCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_connect_errorCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if connect of RemoteAppControlService throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_connect_errorCallback_invalid_cb">
+      <testcase purpose="Check if connect of RemoteAppControlService throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_connect_errorCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_connect_errorCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if connect of RemoteAppControlService exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_connect_exist">
+      <testcase purpose="Check if connect of RemoteAppControlService exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P0" id="RemoteAppControlService_connect_exist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_connect_exist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if connect method of RemoteAppControlService called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_connect_misarg">
+      <testcase purpose="Check if connect method of RemoteAppControlService called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_connect_misarg">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_connect_misarg.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if connect of RemoteAppControlService throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_connect_successCallback_TypeMismatch">
+      <testcase purpose="Check if connect of RemoteAppControlService throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_connect_successCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_connect_successCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if connect of RemoteAppControlService throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_connect_successCallback_invalid_cb">
+      <testcase purpose="Check if connect of RemoteAppControlService throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_connect_successCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_connect_successCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if RemoteAppControlService connect method with all optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_connect_with_errorCallback">
-        <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_connect_with_errorCallback.html</test_script_entry>
-        </description>
-      </testcase>
-      <testcase purpose="Check if RemoteAppControlService disconnect method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_disconnect">
-        <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_disconnect.html</test_script_entry>
-        </description>
-      </testcase>
-      <testcase purpose="Check if RemoteAppControlService disconnect method hrow exception when service was not connected yet." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_disconnect_InvalidStateError">
-        <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_disconnect_InvalidStateError.html</test_script_entry>
-        </description>
-      </testcase>
-      <testcase purpose="Check if disconnect of RemoteAppControlService throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_disconnect_errorCallback_TypeMismatch">
+      <testcase purpose="Check if disconnect of RemoteAppControlService throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_disconnect_errorCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_disconnect_errorCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if disconnect of RemoteAppControlService throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_disconnect_errorCallback_invalid_cb">
+      <testcase purpose="Check if disconnect of RemoteAppControlService throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_disconnect_errorCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_disconnect_errorCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if disconnect of RemoteAppControlService exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_disconnect_exist">
+      <testcase purpose="Check if disconnect of RemoteAppControlService exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P0" id="RemoteAppControlService_disconnect_exist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_disconnect_exist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if disconnect of RemoteAppControlService throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_disconnect_successCallback_TypeMismatch">
+      <testcase purpose="Check if disconnect of RemoteAppControlService throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_disconnect_successCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_disconnect_successCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if disconnect of RemoteAppControlService throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_disconnect_successCallback_invalid_cb">
+      <testcase purpose="Check if disconnect of RemoteAppControlService throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_disconnect_successCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_disconnect_successCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if RemoteAppControlService disconnect method with all optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_disconnect_with_errorCallback">
+      <testcase purpose="Check if RemoteAppControlService launch method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="RemoteAppControlService_launch">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_disconnect_with_errorCallback.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if RemoteAppControlService launch method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launch">
+      <testcase purpose="Check if RemoteAppControlService launchAppControl method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="RemoteAppControlService_launchAppControl">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if RemoteAppControlService launchAppControl method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launchAppControl">
+      <testcase purpose="Check if RemoteAppControlService launchAppControl method throw exception when service is not started yet" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_launchAppControl_InvalidStateError">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_InvalidStateError.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if launchAppControl of RemoteAppControlService throws exception when appControl is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launchAppControl_appControl_TypeMismatch">
+      <testcase purpose="Check if launchAppControl of RemoteAppControlService throws exception when appControl is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_launchAppControl_appControl_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_appControl_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if launchAppControl of RemoteAppControlService throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launchAppControl_errorCallback_TypeMismatch">
+      <testcase purpose="Check if launchAppControl of RemoteAppControlService throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_launchAppControl_errorCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_errorCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if launchAppControl of AppCommunicationClientService throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launchAppControl_errorCallback_invalid_cb">
+      <testcase purpose="Check if launchAppControl of AppCommunicationClientService throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_launchAppControl_errorCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_errorCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if launchAppControl of RemoteAppControlService exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launchAppControl_exist">
+      <testcase purpose="Check if launchAppControl of RemoteAppControlService exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P0" id="RemoteAppControlService_launchAppControl_exist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_exist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if RemoteAppControlService launchAppControl method throws exception when appControl is a simple object" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launchAppControl_invalid_obj">
+      <testcase purpose="Check if RemoteAppControlService launchAppControl method throws exception when appControl is a simple object" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_launchAppControl_invalid_obj">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_invalid_obj.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if launchAppControl method of RemoteAppControlService called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launchAppControl_misarg">
+      <testcase purpose="Check if launchAppControl method of RemoteAppControlService called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_launchAppControl_misarg">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_misarg.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if launchAppControl of RemoteAppControlService throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launchAppControl_successCallback_TypeMismatch">
+      <testcase purpose="Check if launchAppControl of RemoteAppControlService throws exception when replyCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_launchAppControl_replyCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_replyCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if launchAppControl of RemoteAppControlService throws exception when replyCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_launchAppControl_replyCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_replyCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if launchAppControl of RemoteAppControlService throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_launchAppControl_successCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_successCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if launchAppControl of RemoteAppControlService throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launchAppControl_successCallback_invalid_cb">
+      <testcase purpose="Check if launchAppControl of RemoteAppControlService throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_launchAppControl_successCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_successCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if RemoteAppControlService launchAppControl method with all optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launchAppControl_with_errorCallback">
+      <testcase purpose="Check if RemoteAppControlService launchAppControl method with all optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="RemoteAppControlService_launchAppControl_with_replyCallback">
         <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_with_errorCallback.html</test_script_entry>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launchAppControl_with_replyCallback.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if launch of RemoteAppControlService throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launch_errorCallback_TypeMismatch">
+      <testcase purpose="Check if RemoteAppControlService launch method throw exception when service is not started yet" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_launch_InvalidStateError">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_InvalidStateError.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if launch of RemoteAppControlService throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_launch_errorCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_errorCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if launch of AppCommunicationClientService throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launch_errorCallback_invalid_cb">
+      <testcase purpose="Check if launch of AppCommunicationClientService throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_launch_errorCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_errorCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if RemoteAppControlService launch method with invalid arguments would invoke errorCallback" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launch_errorCallback_invoked">
+      <testcase purpose="Check if RemoteAppControlService launch method with invalid arguments would invoke errorCallback" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_launch_errorCallback_invoked">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_errorCallback_invoked.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if launch of RemoteAppControlService exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launch_exist">
+      <testcase purpose="Check if launch of RemoteAppControlService exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P0" id="RemoteAppControlService_launch_exist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_exist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if launch method of RemoteAppControlService called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launch_misarg">
-        <description>
-          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_misarg.html</test_script_entry>
-        </description>
-      </testcase>
-      <testcase purpose="Check if launch of RemoteAppControlService throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launch_successCallback_TypeMismatch">
+      <testcase purpose="Check if launch of RemoteAppControlService throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_launch_successCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_successCallback_TypeMismatch.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if launch of RemoteAppControlService throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launch_successCallback_invalid_cb">
+      <testcase purpose="Check if launch of RemoteAppControlService throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_launch_successCallback_invalid_cb">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_successCallback_invalid_cb.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if RemoteAppControlService launch method with all optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_launch_with_errorCallback">
+      <testcase purpose="Check if RemoteAppControlService launch method with all optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="RemoteAppControlService_launch_with_errorCallback">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_launch_with_errorCallback.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if interface RemoteAppControlService exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="RemoteAppControlService_notexist">
+      <testcase purpose="Check if interface RemoteAppControlService exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="RemoteAppControlService_notexist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_notexist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if Service have connectionState attribute with proper type and is readonly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="Service_connectionState_attribute">
+      <testcase purpose="Check if RemoteAppControlService start method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="RemoteAppControlService_start">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if RemoteAppControlService start method hrow exception when service is connected already." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_start_InvalidStateError">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_InvalidStateError.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if start of RemoteAppControlService throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_start_errorCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_errorCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if start of RemoteAppControlService throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_start_errorCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_errorCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if start of RemoteAppControlService exists" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P0" id="RemoteAppControlService_start_exist">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if start method of RemoteAppControlService called with missing non-optional argument throws an exception" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_start_misarg">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if start of RemoteAppControlService throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_start_successCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_successCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if start of RemoteAppControlService throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_start_successCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_successCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if RemoteAppControlService start method with optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="RemoteAppControlService_start_with_errorCallback">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_start_with_errorCallback.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if RemoteAppControlService stop method without optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="RemoteAppControlService_stop">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if RemoteAppControlService stop method hrow exception when service is connected already." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_stop_InvalidStateError">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_InvalidStateError.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if stop of RemoteAppControlService throws exception when errorCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_stop_errorCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_errorCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if stop of RemoteAppControlService throws exception when errorCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_stop_errorCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_errorCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if stop of RemoteAppControlService throws exception when successCallback is incorrect" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_stop_successCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_successCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if stop of RemoteAppControlService throws exception when successCallback is invalid" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P2" id="RemoteAppControlService_stop_successCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_successCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if RemoteAppControlService stop method with optional arguments works properly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="RemoteAppControlService_stop_with_errorCallback">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlService_stop_with_errorCallback.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if interface RemoteAppControlStartCallback exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="RemoteAppControlStartCallback_notexist">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlStartCallback_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if RemoteAppControlStartCallback onsuccess is called and if its arguments have proper type" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="RemoteAppControlStartCallback_onsuccess">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/RemoteAppControlStartCallback_onsuccess.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if Service have connectionState attribute with proper type and is readonly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="Service_connectionState_attribute">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/Service_connectionState_attribute.html</test_script_entry>
         </description>
       </testcase>
-      <testcase purpose="Check if interface Service exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" id="Service_notexist">
+      <testcase purpose="Check if interface Service exists, it should not." component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P3" id="Service_notexist">
         <description>
           <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/Service_notexist.html</test_script_entry>
         </description>
       </testcase>
+      <testcase purpose="Check if Service have type attribute with proper type and is readonly" component="Tizen Device APIs/TBD/Convergence" execution_type="auto" onload_delay="30" priority="P1" id="Service_type_attribute">
+        <description>
+          <test_script_entry>/opt/tct-convergence-tizen-tests/convergence/Service_type_attribute.html</test_script_entry>
+        </description>
+      </testcase>
     </set>
   </suite>
-</test_definition>
\ No newline at end of file
+</test_definition>