[mobile,wearable][deprecated][TWAPI-196, add deprecated apis' tc] 97/201097/2
authorzhongyuan <zy123.yuan@samsung.com>
Fri, 8 Mar 2019 07:41:19 +0000 (15:41 +0800)
committerzhongyuan <zy123.yuan@samsung.com>
Fri, 8 Mar 2019 07:42:55 +0000 (15:42 +0800)
Change-Id: I25355dce675373caaaba2c77a0057615fc9781c8

158 files changed:
mobile/tct-deprecatedapi-tizen-tests/config.xml
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler_exist.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler_misarg.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler_profileType_TypeMismatch.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplicationSuccessCallback_notexist.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplicationSuccessCallback_onsuccess.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_dataType_attribute.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_extend.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_name_attribute.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_notexist.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_onconnect_attribute.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_callback_onerror.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_errorCallback_TypeMismatch.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_errorCallback_invalid_cb.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_exist.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_successCallback_TypeMismatch.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_successCallback_invalid_cb.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_with_errorCallback.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_with_successCallback.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelChangeCallback_notexist.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelChangeCallback_onMessage.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelSuccessCallback_notexist.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelSuccessCallback_onsuccess.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_application_attribute.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_channelType_attribute.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_close_exist.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_extend.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_isConnected_attribute.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_notexist.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_peer_attribute.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData_data_TypeMismatch.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData_exist.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData_misarg.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener_exist.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener_listener_TypeMismatch.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener_misarg.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_unsetListener.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_unsetListener_exist.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_unsetListener_extra_argument.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_application_TypeMismatch.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_errorCallback_TypeMismatch.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_errorCallback_invoked.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_exist.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_invalid_obj.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_missarg.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_peer_TypeMismatch.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_succCallback_invalid_cb.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_successCallback_TypeMismatch.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_with_succCallback.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_extend.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_notexist.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_callback_error.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_TypeMismatch.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_invalid_cb.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_exist.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_missarg.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_TypeMismatch.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_invalid_cb.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_with_errorCallback.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothProfileHandler_extend.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothProfileHandler_notexist.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothProfileHandler_profileType_attribute.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/support/bluetooth_common.js [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/support/getJsonConf_ble.js [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/suite.json
mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/config.xml [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/css/style.css [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/icon.png [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/images/tizen_32.png [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/index.html [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/js/main.js [new file with mode: 0755]
mobile/tct-deprecatedapi-tizen-tests/tests.full.xml
mobile/tct-deprecatedapi-tizen-tests/tests.xml
wearable/tct-deprecatedapi-tizen-tests/config.xml
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler_exist.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler_misarg.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler_profileType_TypeMismatch.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplicationSuccessCallback_notexist.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplicationSuccessCallback_onsuccess.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_dataType_attribute.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_extend.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_name_attribute.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_notexist.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_onconnect_attribute.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_callback_onerror.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_errorCallback_TypeMismatch.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_errorCallback_invalid_cb.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_exist.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_successCallback_TypeMismatch.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_successCallback_invalid_cb.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_with_errorCallback.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_with_successCallback.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelChangeCallback_notexist.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelChangeCallback_onMessage.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelSuccessCallback_notexist.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelSuccessCallback_onsuccess.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_application_attribute.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_channelType_attribute.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_close_exist.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_extend.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_isConnected_attribute.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_notexist.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_peer_attribute.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData_data_TypeMismatch.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData_exist.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData_misarg.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener_exist.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener_listener_TypeMismatch.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener_misarg.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_unsetListener.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_unsetListener_exist.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_unsetListener_extra_argument.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_application_TypeMismatch.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_errorCallback_TypeMismatch.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_errorCallback_invoked.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_exist.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_invalid_obj.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_missarg.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_peer_TypeMismatch.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_succCallback_invalid_cb.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_successCallback_TypeMismatch.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_with_succCallback.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_extend.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_notexist.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_callback_error.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_TypeMismatch.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_invalid_cb.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_exist.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_missarg.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_TypeMismatch.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_invalid_cb.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_with_errorCallback.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothProfileHandler_extend.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothProfileHandler_notexist.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothProfileHandler_profileType_attribute.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/support/bluetooth_common.js [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/support/getJsonConf_ble.js [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/suite.json
wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/config.xml [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/css/style.css [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/icon.png [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/images/tizen_32.png [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/index.html [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/js/main.js [new file with mode: 0755]
wearable/tct-deprecatedapi-tizen-tests/tests.full.xml
wearable/tct-deprecatedapi-tizen-tests/tests.xml

index ba53d920857d5fb72d7df5cb9678d75dbe0fa004..c66a158d8377b244a8ee368053ce26a51b18b879 100755 (executable)
@@ -3,6 +3,7 @@
   <name>tct-deprecatedapi-tizen-tests</name>
   <tizen:privilege name="http://tizen.org/privilege/filesystem.read"/>
   <tizen:privilege name="http://tizen.org/privilege/filesystem.write"/>
+  <tizen:privilege name="http://tizen.org/privilege/bluetooth"/>
   <tizen:privilege name="http://tizen.org/privilege/externalstorage"/>
   <tizen:privilege name="http://tizen.org/privilege/mediastorage"/>
   <icon src="icon.png" height="117" width="117"/>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler.html
new file mode 100755 (executable)
index 0000000..3238f43
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothAdapter_getBluetoothProfileHandler</title>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothAdapter_getBluetoothProfileHandler
+//==== LABEL Check with non-optional arguments getBluetoothProfileHandler(valid_profileType)
+//==== PRIORITY P1
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothAdapter:getBluetoothProfileHandler M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MMINA MR
+
+var adapter, healthProfileHandler, profileType = "HEALTH";
+test(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler(profileType);
+
+    assert_equals(healthProfileHandler.profileType, profileType, "healthProfileHandler profileType has wrong value or type");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler_exist.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler_exist.html
new file mode 100755 (executable)
index 0000000..df95e26
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothAdapter_getBluetoothProfileHandler_exist</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothAdapter_getBluetoothProfileHandler_exist
+//==== LABEL Check if getBluetoothProfileHandler method exists
+//==== PRIORITY P2
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothAdapter:getBluetoothProfileHandler M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA ME
+
+var adapter;
+test(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    assert_true("getBluetoothProfileHandler" in adapter, "Method getBluetoothProfileHandler does not exist in bluetooth adapter.");
+    check_method_exists(adapter, "getBluetoothProfileHandler");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler_misarg.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler_misarg.html
new file mode 100755 (executable)
index 0000000..8e9bb92
--- /dev/null
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Xun Guo <xun.guo@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothAdapter_getBluetoothProfileHandler_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothAdapter_getBluetoothProfileHandler_misarg
+//==== LABEL Check if BluetoothAdapter::getBluetoothProfileHandler() method with miss argument.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothAdapter:getBluetoothProfileHandler M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MMA
+
+setup({timeout: 60000});
+
+var adapter;
+
+test(function() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function() {
+        adapter.getBluetoothProfileHandler();
+    }, "should throw exception.");
+}, document.title);
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler_profileType_TypeMismatch.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler_profileType_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..f189e49
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothAdapter_getBluetoothProfileHandler_profileType_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothAdapter_getBluetoothProfileHandler_profileType_TypeMismatch
+//==== LABEL Check if BluetoothAdapter::getBluetoothProfileHandler() method called with invalid profileType argument throws an exception
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothAdapter:getBluetoothProfileHandler M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MC
+
+setup({timeout: 60000});
+
+var t = async_test(document.title), adapter, conversionTable, param, exceptionName, i;
+
+t.step(function() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    conversionTable = getTypeConversionExceptions("object", true);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        param = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({
+            name: exceptionName
+        }, function() {
+            adapter.getBluetoothProfileHandler(param);
+        }, exceptionName + "Given incorrect param.");
+    }
+    t.done();
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplicationSuccessCallback_notexist.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplicationSuccessCallback_notexist.html
new file mode 100755 (executable)
index 0000000..9f688ec
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplicationSuccessCallback_notexist</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplicationSuccessCallback_notexist
+//==== LABEL Check if is possible to call BluetoothHealthApplicationSuccessCallback in new expresion
+//==== PRIORITY P3
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplicationSuccessCallback:BluetoothHealthApplicationSuccessCallback U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA CBNIO
+test(function () {
+    check_no_interface_object("BluetoothHealthApplicationSuccessCallback");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplicationSuccessCallback_onsuccess.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplicationSuccessCallback_onsuccess.html
new file mode 100755 (executable)
index 0000000..4a41b62
--- /dev/null
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+
+<html>
+<head>
+<title>BluetoothHealthApplicationSuccessCallback_onsuccess</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplicationSuccessCallback_onsuccess
+//==== LABEL Check if BluetoothHealthApplicationSuccessCallback callback is called with propriety arguments
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplicationSuccessCallback:onsuccess M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA CBT CBOA
+
+setup({timeout: 180000, explicit_done:true});
+
+var adapter, t = async_test(document.title, {timeout: 180000}), healthProfileHandler,
+    powerOnSuccess, healthRegisterSuccess;
+t.step(function () {
+
+    healthRegisterSuccess = t.step_func(function (app) {
+        setBluetoothHandlerCleanup(app);
+        assert_type(app, "object", "argument app has wrong type");
+
+        assert_true("dataType" in app, "no dataType attribute in BluetoothHealthApplication");
+        assert_type(app.dataType, "unsigned short", "dataType of BluetoothHealthApplication has wrong type");
+
+        assert_true("name" in app, "no name attribute in BluetoothHealthApplication");
+        assert_type(app.name, "string", "name of BluetoothHealthApplication has wrong type");
+
+        assert_true("onconnect" in app, "no onconnect attribute in BluetoothHealthApplication");
+        assert_equals(app.onconnect, null, "onconnect attribute of BluetoothHealthApplication has wrong value");
+
+        t.done();
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(4100, "testSinkApp", healthRegisterSuccess);
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_dataType_attribute.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_dataType_attribute.html
new file mode 100755 (executable)
index 0000000..c44f5b7
--- /dev/null
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_dataType_attribute</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_dataType_attribute
+//==== LABEL Test whether the dataType unsigned short exist in BluetoothHealthApplication has default value and its readonly
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:dataType A
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA AE AT ARO
+
+setup({timeout:180000, explicit_done:true});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp";
+
+t.step(function () {
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    healthRegisterSuccess = t.step_func(function (healthApp) {
+        setBluetoothHandlerCleanup(healthApp);
+        assert_equals(healthApp.dataType, REMOTE_HEALTH_DEVICE_TYPE, "dataType in BluetoothHealthApplication has wrong value");
+        assert_type(healthApp.dataType, "unsigned short", "dataType in BluetoothHealthApplication has wrong type");
+
+        healthApp.dataType = 4103;
+        assert_equals(healthApp.dataType, REMOTE_HEALTH_DEVICE_TYPE, "dataType in BluetoothHealthApplication is writable");
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_extend.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_extend.html
new file mode 100755 (executable)
index 0000000..ef679f4
--- /dev/null
@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_extend</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_extend
+//==== LABEL Test whether the object BluetoothHealthApplication can have new properties added it
+//==== PRIORITY P3
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:BluetoothHealthApplication U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA OBX
+
+setup({timeout:180000, explicit_done:true});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000});
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    healthRegisterSuccess = t.step_func(function (healthApp) {
+        setBluetoothHandlerCleanup(healthApp);
+        check_extensibility(healthApp);
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, "testSinkApp", healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_name_attribute.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_name_attribute.html
new file mode 100755 (executable)
index 0000000..b2802de
--- /dev/null
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_name_attribute</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_name_attribute
+//==== LABEL Test whether the name string exist in BluetoothHealthApplication has default value and its readonly
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:name A
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA AE AT ARO
+
+setup({timeout:180000, explicit_done:true});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp";
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    healthRegisterSuccess = t.step_func(function (healthApp) {
+        setBluetoothHandlerCleanup(healthApp);
+        assert_equals(healthApp.name, appName, "name in BluetoothHealthApplication has wrong value");
+        assert_type(healthApp.name, "string", "name in BluetoothHealthApplication has wrong type");
+
+        healthApp.name = "testName";
+        assert_equals(healthApp.name, appName, "name in BluetoothHealthApplication is writable");
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_notexist.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_notexist.html
new file mode 100755 (executable)
index 0000000..f9bba6d
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_notexist</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_notexist
+//==== LABEL Check if is possible to call BluetoothHealthApplication in new expresion
+//==== PRIORITY P3
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:BluetoothHealthApplication U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA NIO
+test(function () {
+    check_no_interface_object("BluetoothHealthApplication");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_onconnect_attribute.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_onconnect_attribute.html
new file mode 100755 (executable)
index 0000000..432a1e6
--- /dev/null
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_onconnect_attribute</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_onconnect_attribute
+//==== LABEL Test whether the onconnect in BluetoothHealthApplication has default value and it's writable
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:onconnect A
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA AE ADV ASG AT
+
+setup({timeout:180000, explicit_done:true});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError, testOnconnect,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp";
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    healthRegisterSuccess = t.step_func(function (healthApp) {
+        setBluetoothHandlerCleanup(healthApp);
+        assert_equals(healthApp.onconnect, null, "onconnect in BluetoothHealthApplication has wrong default value");
+
+        testOnconnect = function () {};
+        healthApp.onconnect = testOnconnect;
+        assert_equals(healthApp.onconnect, testOnconnect, "onconnect in BluetoothHealthApplication is not writable");
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister.html
new file mode 100755 (executable)
index 0000000..2e47855
--- /dev/null
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_unregister</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_unregister
+//==== LABEL Check unregister with non optional arguments
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:unregister M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MMINA MR
+
+setup({timeout:180000, explicit_done:true});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp", retValue = null;
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    healthRegisterSuccess = t.step_func(function (registerHealthApp) {
+        setBluetoothHandlerCleanup(registerHealthApp);
+        retValue = registerHealthApp.unregister();
+
+        assert_equals(retValue, undefined, "unregister returns wrong value");
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_callback_onerror.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_callback_onerror.html
new file mode 100755 (executable)
index 0000000..33f958e
--- /dev/null
@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_unregister_callback_onerror</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_unregister_callback_onerror
+//==== LABEL Check if error callback of unregister method invoked
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:unregister M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MERRCB
+
+setup({timeout: 180000});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}),
+    appName = "testSinkApp", errorCallback, successCallback, registerHealthAppCp, powerOffSuccess,
+    successCallback;
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    errorCallback = t.step_func(function (error) {
+        assert_equals(error.name, "ServiceNotAvailableError", "expected another error");
+
+        t.done();
+    });
+
+    successCallback = t.step_func(function () {
+        assert_unreached("invalid successCallback invoked");
+    });
+
+    powerOffSuccess = t.step_func(function () {
+        registerHealthAppCp.unregister(successCallback, errorCallback);
+    });
+
+    healthRegisterSuccess = t.step_func(function (registerHealthApp) {
+        registerHealthAppCp = registerHealthApp;
+        setUnpowered(t, adapter, powerOffSuccess);
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_errorCallback_TypeMismatch.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_errorCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..0ab2b89
--- /dev/null
@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_unregister_errorCallback_TypeMismatch</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_unregister_errorCallback_TypeMismatch
+//==== LABEL Check whether unregiste() method of the BluetoothHealthApplication called with invalid errorCallback argument throws an exception
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:unregister M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MC
+
+setup({timeout:180000, explicit_done:true});
+var adapter, healthProfileHandler, powerOnSuccess , healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp",
+    errorCallback, exceptionName, i, conversionTable = getTypeConversionExceptions("functionObject", true), successCallback;
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    successCallback = t.step_func(function () {
+        assert_unreached("Method unregister shouldn't end successfully.");
+    });
+
+    healthRegisterSuccess = t.step_func(function (registerHealthApp) {
+        setBluetoothHandlerCleanup(registerHealthApp);
+        for(i = 0; i < conversionTable.length; i++) {
+            errorCallback = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+
+            assert_throws({name: exceptionName},
+                function () {
+                    registerHealthApp.unregister(successCallback, errorCallback);
+                }, "Given incorrect errorCallback.");
+        }
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_errorCallback_invalid_cb.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_errorCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..053ae1b
--- /dev/null
@@ -0,0 +1,84 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_unregister_errorCallback_invalid_cb</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_unregister_errorCallback_invalid_cb
+//==== LABEL Check argument unregister() errorCallback validation
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:unregister M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MTCB
+
+setup({timeout:180000, explicit_done:true});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp",
+    incorrectCallback, exceptionName = "TypeMismatchError", successCallback;
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    incorrectCallback = {
+        onerror: t.step_func(function (error) {
+            assert_unreached("Invalid successCallback invoked: " + error.name + ": " + error.message);
+        })
+    };
+
+    successCallback = t.step_func(function () {
+        assert_unreached("Method unregister shouldn't end successfully.");
+    });
+
+    healthRegisterSuccess = t.step_func(function (registerHealthApp) {
+        setBluetoothHandlerCleanup(registerHealthApp);
+        assert_throws({name: exceptionName},
+            function () {
+                registerHealthApp.unregister(successCallback, incorrectCallback);
+            }, "Given incorrect errorCallback.");
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_exist.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_exist.html
new file mode 100755 (executable)
index 0000000..8554771
--- /dev/null
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_unregister_exist</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_unregister_exist
+//==== LABEL Check if unregister method exists in BluetoothHealthApplication
+//==== PRIORITY P0
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:unregister M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA ME
+
+setup({timeout:180000, explicit_done:true});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp";
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    healthRegisterSuccess = t.step_func(function (healthApp) {
+        setBluetoothHandlerCleanup(healthApp);
+        assert_true("unregister" in  healthApp, "Method unregister does not exist in BluetoothHealthApplication.");
+        check_method_exists(healthApp, "unregister");
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_successCallback_TypeMismatch.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_successCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..327492f
--- /dev/null
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_unregister_successCallback_TypeMismatch</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_unregister_successCallback_TypeMismatch
+//==== LABEL Check whether unregister() method called with invalid successCallback throws an exception
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:unregister M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MC
+
+setup({timeout:180000, explicit_done:true});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp",
+    successCallback, exceptionName, i, conversionTable = getTypeConversionExceptions("functionObject", true);
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    healthRegisterSuccess = t.step_func(function (registerHealthApp) {
+        setBluetoothHandlerCleanup(registerHealthApp);
+        for(i = 0; i < conversionTable.length; i++) {
+            successCallback = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+
+            assert_throws({name: exceptionName},
+                function () {
+                    registerHealthApp.unregister(successCallback);
+                }, "Given incorrect successCallback.");
+        }
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_successCallback_invalid_cb.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_successCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..2d4a2b6
--- /dev/null
@@ -0,0 +1,81 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_unregister_successCallback_invalid_cb</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_unregister_successCallback_invalid_cb
+//==== LABEL Check argument unregister() successCallback validation
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:unregister M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MTCB
+
+setup({timeout: 180000});
+var adapter, healthProfileHandler, powerOnSuccess , healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp",
+    incorrectCallback, exceptionName = "TypeMismatchError";
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    incorrectCallback = {
+        onsuccess: t.step_func(function (error) {
+            assert_unreached("Invalid successCallback invoked: " + error.name + ": " + error.message);
+        })
+    };
+
+    healthRegisterSuccess = t.step_func(function (registerHealthApp) {
+        assert_throws({name: exceptionName},
+            function () {
+                registerHealthApp.unregister(incorrectCallback);
+            }, "Given incorrect successCallback.");
+
+        registerHealthApp.unregister();
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_with_errorCallback.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_with_errorCallback.html
new file mode 100755 (executable)
index 0000000..1cb4ce5
--- /dev/null
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_unregister_with_errorCallback</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_unregister_with_errorCallback
+//==== LABEL Check unregister with successCallback and errorCallback
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:unregister M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MOA MAST
+
+setup({timeout: 180000});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp",
+    successCallback, errorCallback;
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    successCallback = t.step_func(function () {
+        t.done();
+    });
+
+    errorCallback = t.step_func(function (e) {
+        assert_unreached("unregister error:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function (registerHealthApp) {
+        registerHealthApp.unregister(successCallback, errorCallback);
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_with_successCallback.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_with_successCallback.html
new file mode 100755 (executable)
index 0000000..0fb64a5
--- /dev/null
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_unregister_with_successCallback</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_unregister_with_successCallback
+//==== LABEL Check unregister with successCallback
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:unregister M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MOA MAST
+
+setup({timeout: 180000});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp",
+    successCallback;
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    successCallback = t.step_func(function () {
+        t.done();
+    });
+
+    healthRegisterSuccess = t.step_func(function (registerHealthApp) {
+        registerHealthApp.unregister(successCallback);
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelChangeCallback_notexist.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelChangeCallback_notexist.html
new file mode 100755 (executable)
index 0000000..3e595de
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannelChangeCallback_notexist</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthChannelChangeCallback_notexist
+//==== LABEL Check if is possible to call BluetoothHealthChannelChangeCallback in new expresion
+//==== PRIORITY P3
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannelChangeCallback:BluetoothHealthChannelChangeCallback U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA CBNIO
+test(function () {
+    check_no_interface_object("BluetoothHealthChannelChangeCallback");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelChangeCallback_onMessage.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelChangeCallback_onMessage.html
new file mode 100755 (executable)
index 0000000..13b7f19
--- /dev/null
@@ -0,0 +1,104 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan<jingbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannelChangeCallback_onMessage</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannelChangeCallback_onMessage
+//==== LABEL Check if BluetoothHealthChannelChangeCallback::onMessage() method callback is called with propriety arguments.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannelChangeCallback:onMessage M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA CBT CBOA
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler,
+    bluetoothDevice, channelCallback, powerOnSuccess, onRegisterSucc, onRegisterError, onGetDeviceSucc,
+    onGetDeviceError, onHealthConnectSucc, onHealthConnectError;
+
+t.step(function() {
+    channelCallback = {
+        onmessage: t.step_func(function(data) {
+            assert_not_equals(data, null, "data should not be null");
+            assert_not_equals(data, undefined, "data should not be undefined");
+            assert_type(data, "array", "data isn't array");
+            t.done();
+        }),
+        onclose: t.step_func(function() {
+        })
+    };
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        channel.setListener(channelCallback);
+        channel.sendData(dataToSend);
+    });
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("connectToSource has error" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(bluetoothDevice, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelSuccessCallback_notexist.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelSuccessCallback_notexist.html
new file mode 100755 (executable)
index 0000000..c47c403
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannelSuccessCallback_notexist</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthChannelSuccessCallback_notexist
+//==== LABEL Check if is possible to call BluetoothHealthChannelSuccessCallback in new expresion
+//==== PRIORITY P3
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannelSuccessCallback:BluetoothHealthChannelSuccessCallback U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA CBNIO
+test(function () {
+    check_no_interface_object("BluetoothHealthChannelSuccessCallback");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelSuccessCallback_onsuccess.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelSuccessCallback_onsuccess.html
new file mode 100755 (executable)
index 0000000..f6bd7a4
--- /dev/null
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannelSuccessCallback_onsuccess</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannelSuccessCallback_onsuccess
+//==== LABEL Check BluetoothHealthChannelSuccessCallback::onsuccess.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannelSuccessCallback:onsuccess M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA CBT CBOA
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler, bluetoothDevice, conversionTable,
+    exceptionName, powerOnSuccess, onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError, onHealthConnectSucc, onHealthConnectError;
+
+t.step(function() {
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        assert_not_equals(channel, undefined, "channel should not be empty");
+        assert_type(channel, "object", "channel should be object");
+
+        t.done();
+    });
+
+    onHealthConnectError = t.step_func(function (err) {
+        assert_unreached("connectToSource error");
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        healthProfileHandler.connectToSource(device, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("onGetDeviceError:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_application_attribute.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_application_attribute.html
new file mode 100755 (executable)
index 0000000..b1843d4
--- /dev/null
@@ -0,0 +1,93 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan <jinbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_application_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_application_attribute
+//==== LABEL Check if BluetoothHealthChannel:attribute application legal.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:application A
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA AE AT ARO
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp,
+    healthProfileHandler, powerOnSuccess, onRegisterSucc, onRegisterError,
+    onGetDeviceSucc, onGetDeviceError, healthConnectSuccess, healthConnectError;
+
+t.step(function() {
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        check_readonly(channel, "application", channel.application, "BluetoothHealthApplication", registerHealthApp);
+        t.done();
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        try {
+            healthProfileHandler.connectToSource(device, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_channelType_attribute.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_channelType_attribute.html
new file mode 100755 (executable)
index 0000000..dc576d9
--- /dev/null
@@ -0,0 +1,94 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan <jinbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_channelType_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_channelType_attribute
+//==== LABEL Check if BluetoothHealthChannel:attribute channelType legal.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:channelType A
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA AE AT ARO
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp,
+    healthProfileHandler, bluetoothDevice, powerOnSuccess, onRegisterSucc, onRegisterError,
+    onGetDeviceSucc, onGetDeviceError, healthConnectSuccess, healthConnectError;
+
+t.step(function() {
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        check_readonly(channel, "channelType", channel.channelType, "String", "RELIABLE");
+        t.done();
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(device, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_close_exist.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_close_exist.html
new file mode 100755 (executable)
index 0000000..15f019a
--- /dev/null
@@ -0,0 +1,94 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan<jingbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_close_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_close_exist
+//==== LABEL Check BluetoothHealthChannel::close() method with typeMismatch param.
+//==== PRIORITY P0
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:close M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA ME
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), i, registerHealthApp, healthProfileHandler,
+    bluetoothDevice, powerOnSuccess, onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError,
+    onHealthConnectSucc, onHealthConnectError;
+
+t.step(function() {
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        check_method_exists(channel, "close");
+        t.done();
+    });
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("connectToSource has error" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(bluetoothDevice, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_extend.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_extend.html
new file mode 100755 (executable)
index 0000000..ed49357
--- /dev/null
@@ -0,0 +1,85 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_extend
+//==== LABEL Check if BluetoothHealthChannel:whether the object can have new properties added for BluetoothHealthChannel
+//==== PRIORITY P3
+//==== EXECUTION_TYPE manual
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:BluetoothHealthChannel U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA OBX
+
+setup({timeout: 60000})
+var t = async_test(document.title, {timeout: 60000}), connectToSourceSuccess, connectToSourceError,
+    healthRegisterSuccess, healthRegisterError, onDeviceInfo, onError, pairDevice,
+    powerOnSuccess, healthProfileHandler;
+
+t.step(function() {
+    alert("The remote device MUST register the service by pushing [Register service] button on tct-bt-helper firstly.");
+
+    connectToSourceSuccess = t.step_func(function(channel) {
+        //  setBluetoothHandlerCleanup(channel);
+        check_extensibility(channel);
+        t.done();
+    });
+
+    connectToSourceError = t.step_func(function(e) {
+        assert_unreached("connectToSourceError error:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function (app) {
+        healthProfileHandler.connectToSource(pairDevice, app, connectToSourceSuccess, connectToSourceError);
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError: " + e.message);
+    });
+
+    onDeviceInfo = t.step_func(function(device) {
+        pairDevice = device;
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(4100, "testSinkApp", healthRegisterSuccess, healthRegisterError);
+    });
+
+    onError = t.step_func(function (e){
+        assert_unreached("createBonding error: " + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onDeviceInfo, onError);
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered(t, adapter, powerOnSuccess);
+});
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_isConnected_attribute.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_isConnected_attribute.html
new file mode 100755 (executable)
index 0000000..ed8a848
--- /dev/null
@@ -0,0 +1,94 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan <jinbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_isConnected_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_isConnected_attribute
+//==== LABEL Check if BluetoothHealthChannel:attribute isConnected legal.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:isConnected A
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA AE AT ARO
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler,
+    bluetoothDevice, powerOnSuccess, onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError,
+    healthConnectSuccess, healthConnectError;
+
+t.step(function() {
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        check_readonly(channel, "isConnected", channel.isConnected, "boolean", !(channel.isConnected));
+        t.done();
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(device, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_notexist.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_notexist.html
new file mode 100755 (executable)
index 0000000..bf8979a
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Piotr Szydelko <p.szydelko@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_notexist</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthChannel_notexist
+//==== LABEL Check if is possible to call BluetoothHealthChannel in new expresion
+//==== PRIORITY P3
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:BluetoothHealthChannel U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA NIO
+test(function () {
+    check_no_interface_object("BluetoothHealthChannel");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_peer_attribute.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_peer_attribute.html
new file mode 100755 (executable)
index 0000000..941fec5
--- /dev/null
@@ -0,0 +1,95 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan <jinbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_peer_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_peer_attribute
+//==== LABEL Check if BluetoothHealthChannel:attribute peer legal.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:peer A
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA AE AT ARO
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler,
+    bluetoothDevice, powerOnSuccess,onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError,
+    healthConnectSuccess, healthConnectError;
+
+t.step(function() {
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        check_bluetooth_device(channel.peer);
+        check_readonly(channel, "peer", channel.peer, "BluetoothDevice", bluetoothDevice);
+        t.done();
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(device, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData.html
new file mode 100755 (executable)
index 0000000..d998948
--- /dev/null
@@ -0,0 +1,102 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan<jingbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_sendData</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_sendData
+//==== LABEL Check BluetoothHealthChannel::sendData() method
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:sendData M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MAST MR
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp,
+    healthProfileHandler, bluetoothDevice, powerOnSuccess, onRegisterSucc, onRegisterError,
+    onGetDeviceSucc, onGetDeviceError, onHealthConnectSucc, onHealthConnectError;
+
+t.step(function() {
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        try {
+            var sendDataLength = channel.sendData(dataToSend);
+            if (sendDataLength == 4) {
+                t.done();
+            } else {
+                assert_unreached("fail");
+            }
+        } catch(e) {
+            assert_unreached("sendData has error: " + e.message);
+        }
+    });
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("connectToSource has error" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(bluetoothDevice, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData_data_TypeMismatch.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData_data_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..4e75bdc
--- /dev/null
@@ -0,0 +1,104 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan<jingbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_sendData_data_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_sendData_data_TypeMismatch
+//==== LABEL Check BluetoothHealthChannel::sendData() method with typeMismatch param.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel::sendData M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MC
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler,
+    bluetoothDevice, conversionTable, typMismatchData, exceptionName, powerOnSuccess, onRegisterSucc, i,
+    onRegisterError, onGetDeviceSucc, onGetDeviceError, onHealthConnectSucc, onHealthConnectError;
+
+t.step(function() {
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        conversionTable = getTypeConversionExceptions("Object", false);
+        for(i = 0; i < conversionTable.length; i++) {
+            typMismatchData = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+
+            assert_throws({name: exceptionName},
+                function () {
+                    channel.sendData(typMismatchData);
+                }, exceptionName + "Given incorrect data to send.");
+        }
+        channel.close();
+        t.done();
+    });
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("connectToSource has error" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(bluetoothDevice, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData_exist.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData_exist.html
new file mode 100755 (executable)
index 0000000..9c81c25
--- /dev/null
@@ -0,0 +1,106 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_sendData_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_sendData_exist
+//==== LABEL Check if BluetoothHealthChannel::sendData() method with invalid param.
+//==== PRIORITY P0
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:sendData M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA ME
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthDevice,
+    healthProfileHandler, healthConnectSuccess, healthConnectError, getDeviceInfo, getDeviceError,
+    healthRegisterSuccess, healthRegisterError, onPowered, onPoweredError;
+
+t.step(function() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    try {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    } catch(e) {
+        assert_unreached("getBluetoothProfileHandler has error: " + e.message);
+        return;
+    }
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        check_method_exists(channel, "sendData");
+        t.done();
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    getDeviceInfo = t.step_func(function(device) {
+        healthDevice = device;
+        try {
+            healthProfileHandler.connectToSource(healthDevice, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    getDeviceError = t.step_func(function(e) {
+        assert_unreached("getDeviceError:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, getDeviceInfo, getDeviceError);
+    });
+
+    healthRegisterError = t.step_func(function(e) {
+        assert_unreached("healthRegisterError should not be invoked");
+    });
+
+    onPowered = t.step_func(function() {
+        try {
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, healthRegisterSuccess, healthRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    onPoweredError = t.step_func(function(e) {
+        assert_unreached("setPowered exception:" + e.message);
+    });
+
+    try {
+        setPowered(t, adapter, onPowered);
+    } catch(e) {
+        assert_unreached("setPowered exception:" + e.message);
+    }
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData_misarg.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData_misarg.html
new file mode 100755 (executable)
index 0000000..26b3c5c
--- /dev/null
@@ -0,0 +1,104 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_sendData_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_sendData_misarg
+//==== LABEL Check if BluetoothHealthChannel::sendData() method miss argument
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:sendData M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MMA
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthDevice,
+    healthProfileHandler, healthConnectSuccess, healthConnectError, getDeviceInfo, getDeviceError,
+    healthRegisterSuccess, healthRegisterError, onPowered, onPoweredError;
+
+t.step(function() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    try {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    } catch(e) {
+        assert_unreached("getBluetoothProfileHandler has error: " + e.message);
+        return;
+    }
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        assert_throws(TYPE_MISMATCH_EXCEPTION, function() {
+            channel.sendData();
+        }, "Should throw type mismatch exception");
+        t.done();
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    getDeviceInfo = t.step_func(function(device) {
+        healthDevice = device;
+        try {
+            healthProfileHandler.connectToSource(healthDevice, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    getDeviceError = t.step_func(function(e) {
+        assert_unreached("getDeviceError:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, getDeviceInfo, getDeviceError);
+    });
+
+    healthRegisterError = t.step_func(function(e) {
+        assert_unreached("healthRegisterError should not be invoked");
+    });
+
+    onPowered = t.step_func(function() {
+        try {
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, healthRegisterSuccess, healthRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    try {        
+        setPowered (t, adapter, onPowered);
+    } catch(e) {
+        assert_unreached("setPowered exception:" + e.message);
+    }
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener.html
new file mode 100755 (executable)
index 0000000..951db35
--- /dev/null
@@ -0,0 +1,109 @@
+<!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:
+        Lei Tang <lei312.tang@samsung.com>
+
+-->
+
+<html>
+<head>
+<title>BluetoothHealthChannel_setListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_setListener
+//==== LABEL Check if BluetoothHealthChannel::setListener() method work property.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:setListener M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MR
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthDevice,
+    healthProfileHandler, healthConnectSuccess, healthConnectError, getDeviceInfo, getDeviceError,
+    healthRegisterSuccess, healthRegisterError, onPowered, returnvalue= null, channelCallback;
+
+t.step(function() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    try {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    } catch(e) {
+        assert_unreached("getBluetoothProfileHandler has error: " + e.message);
+        return;
+    }
+
+    channelCallback = {
+        onmessage: t.step_func(function(data) {
+            assert_equals(returnvalue, undefined, "setListener returns wrong value");
+            t.done();
+        },
+        onclose: t.step_func(function() {}
+    };
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        returnvalue = channel.setListener(channelCallback);
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    getDeviceInfo = t.step_func(function(device) {
+        healthDevice = device;
+        try {
+            healthProfileHandler.connectToSource(healthDevice, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    getDeviceError = t.step_func(function(e) {
+        assert_unreached("getDeviceError:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, getDeviceInfo, getDeviceError);
+    });
+
+    healthRegisterError = t.step_func(function(e) {
+        assert_unreached("healthRegisterError should not be invoked");
+    });
+
+    onPowered = t.step_func(function() {
+        try {
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, healthRegisterSuccess, healthRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+    try {
+        setPowered(t, adapter, onPowered);
+    } catch(e) {
+        assert_unreached("setPowered exception:" + e.message);
+    }
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener_exist.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener_exist.html
new file mode 100755 (executable)
index 0000000..7058fbd
--- /dev/null
@@ -0,0 +1,102 @@
+<!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:
+        Lei Tang <lei312.tang@samsung.com>
+
+-->
+
+<html>
+<head>
+<title>BluetoothHealthChannel_setListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_setListener_exist
+//==== LABEL Check if BluetoothHealthChannel::setListener() method is exist.
+//==== PRIORITY P0
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:setListener M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA ME
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthDevice,
+    healthProfileHandler, healthConnectSuccess, healthConnectError, getDeviceInfo, getDeviceError,
+    healthRegisterSuccess, healthRegisterError, onPowered;
+
+t.step(function() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    try {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    } catch(e) {
+        assert_unreached("getBluetoothProfileHandler has error: " + e.message);
+        return;
+    }
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        check_method_exists(channel, "setListener");
+        t.done();
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    getDeviceInfo = t.step_func(function(device) {
+        healthDevice = device;
+        try {
+            healthProfileHandler.connectToSource(healthDevice, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    getDeviceError = t.step_func(function(e) {
+        assert_unreached("getDeviceError:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, getDeviceInfo, getDeviceError);
+    });
+
+    healthRegisterError = t.step_func(function(e) {
+        assert_unreached("healthRegisterError should not be invoked");
+    });
+
+    onPowered = t.step_func(function() {
+        try {
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, healthRegisterSuccess, healthRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+    try {
+        setPowered(t, adapter, onPowered);
+    } catch(e) {
+        assert_unreached("setPowered exception:" + e.message);
+    }
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener_listener_TypeMismatch.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener_listener_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..4ed1682
--- /dev/null
@@ -0,0 +1,104 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan<jingbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_setListener_listener_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_setListener_listener_TypeMismatch
+//==== LABEL Check BluetoothHealthChannel::setListener() method with typeMismatch listener.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:setListener M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MC
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, i, healthProfileHandler,
+    bluetoothDevice, conversionTable, typMismatchListener, exceptionName, powerOnSuccess, onRegisterSucc,
+    onRegisterError, onGetDeviceSucc, onGetDeviceError, onHealthConnectSucc, onHealthConnectError;
+
+t.step(function() {
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        conversionTable = getTypeConversionExceptions("Object", false);
+        for(i = 0; i < conversionTable.length; i++) {
+            typMismatchListener = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+
+            assert_throws({name: exceptionName},
+                function () {
+                    channel.setListener(typMismatchListener);
+                }, exceptionName + "Given incorrect listener.");
+        }
+        channel.close();
+        t.done();
+    });
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("connectToSource has error" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(bluetoothDevice, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener_misarg.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener_misarg.html
new file mode 100755 (executable)
index 0000000..c61be16
--- /dev/null
@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_setListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_setListener_misarg
+//==== LABEL Check if BluetoothHealthChannel::setListener() method without argument.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:setListener M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MMA
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthDevice,
+    healthProfileHandler, healthConnectSuccess, healthConnectError, getDeviceInfo, getDeviceError,
+    healthRegisterSuccess, healthRegisterError, onPowered, onPoweredError;
+
+t.step(function() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    try {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    } catch(e) {
+        assert_unreached("getBluetoothProfileHandler has error: " + e.message);
+        return;
+    }
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        assert_throws(TYPE_MISMATCH_EXCEPTION, function() {
+            channel.setListener();
+        }, "Should throw type mismatch exception");
+        t.done();
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    getDeviceInfo = t.step_func(function(device) {
+        healthDevice = device;
+        try {
+            healthProfileHandler.connectToSource(healthDevice, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    getDeviceError = t.step_func(function(e) {
+        assert_unreached("getDeviceError:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, getDeviceInfo, getDeviceError);
+    });
+
+    healthRegisterError = t.step_func(function(e) {
+        assert_unreached("healthRegisterError should not be invoked");
+    });
+
+    onPowered = t.step_func(function() {
+        try {
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, healthRegisterSuccess, healthRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+    try {
+        setPowered(t, adapter, onPowered);
+    } catch(e) {
+        assert_unreached("setPowered exception:" + e.message);
+    }
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_unsetListener.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_unsetListener.html
new file mode 100755 (executable)
index 0000000..ae3d7ba
--- /dev/null
@@ -0,0 +1,111 @@
+<!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:
+        Lei Tang <lei312.tang@samsung.com>
+
+-->
+
+<html>
+<head>
+<title>BluetoothHealthChannel_unsetListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_unsetListener
+//==== LABEL Check if BluetoothHealthChannel::unsetListener() method work property.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:unsetListener M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MR
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthDevice,
+    healthProfileHandler, healthConnectSuccess, healthConnectError, getDeviceInfo, getDeviceError, connectedChannel,
+    healthRegisterSuccess, healthRegisterError, onPowered, returnvalue= null, channelCallback;
+
+t.step(function() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    try {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    } catch(e) {
+        assert_unreached("getBluetoothProfileHandler has error: " + e.message);
+        return;
+    }
+
+    channelCallback = {
+        onmessage: t.step_func(function(data) {
+            returnvalue = connectedChannel.unsetListener();
+            assert_equals(returnvalue, undefined, "unsetListener returns wrong value");
+            t.done();
+        },
+        onclose: t.step_func(function() {}
+    };
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        connectedChannel = channel;
+        connectedChannel.setListener(channelCallback);
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    getDeviceInfo = t.step_func(function(device) {
+        healthDevice = device;
+        try {
+            healthProfileHandler.connectToSource(healthDevice, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    getDeviceError = t.step_func(function(e) {
+        assert_unreached("getDeviceError:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, getDeviceInfo, getDeviceError);
+    });
+
+    healthRegisterError = t.step_func(function(e) {
+        assert_unreached("healthRegisterError should not be invoked");
+    });
+
+    onPowered = t.step_func(function() {
+        try {
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, healthRegisterSuccess, healthRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+    try {
+        setPowered(t, adapter, onPowered);
+    } catch(e) {
+        assert_unreached("setPowered exception:" + e.message);
+    }
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_unsetListener_exist.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_unsetListener_exist.html
new file mode 100755 (executable)
index 0000000..76e0a73
--- /dev/null
@@ -0,0 +1,116 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_unsetListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_unsetListener_exist
+//==== LABEL Check if BluetoothHealthChannel::unsetListener method with invalid param.
+//==== PRIORITY P0
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:unsetListener M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA ME
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthDevice,
+    channelCallback, healthConnectSuccess, healthConnectError, getDeviceInfo, getDeviceError,
+    healthRegisterSuccess, healthRegisterError, onPoweredError, onPowered, healthProfileHandler;
+
+t.step(function() {
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    try {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    } catch (e) {
+        assert_unreached("getBluetoothProfileHandler has error: " + e.message);
+        return;
+    }
+
+    channelCallback = {
+        onmessage: t.step_func(function(data) {
+            assert_unreached("onmessage should not be invoked");
+        }),
+        onclose: t.step_func(function() {
+            assert_unreached("onclose should not be invoked");
+        })
+    };
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        check_method_exists(channel, "unsetListener");
+        t.done();
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    getDeviceInfo = t.step_func(function(device) {
+        healthDevice = device;
+        try {
+            healthProfileHandler.connectToSource(healthDevice, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch (e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    getDeviceError = t.step_func(function(e) {
+        assert_unreached("getDeviceError:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, getDeviceInfo, getDeviceError);
+    });
+
+    healthRegisterError = t.step_func(function(e) {
+        assert_unreached("healthRegisterError should not be invoked");
+    });
+
+    onPowered = t.step_func(function() {
+        try {
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, healthRegisterSuccess, healthRegisterError);
+        } catch (e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    onPoweredError = t.step_func(function(e) {
+        assert_unreached("setPowered exception:" + e.message);
+    });
+
+    try {
+        setPowered (t, adapter, onPowered);
+    } catch (e) {
+        assert_unreached("setPowered exception:" + e.message);
+    }
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_unsetListener_extra_argument.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_unsetListener_extra_argument.html
new file mode 100755 (executable)
index 0000000..b7f32cc
--- /dev/null
@@ -0,0 +1,110 @@
+<!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:
+        Lei Tang <lei312.tang@samsung.com>
+
+-->
+
+<html>
+<head>
+<title>BluetoothHealthChannel_unsetListener_extra_argument</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_unsetListener_extra_argument
+//==== LABEL Check if method close of unsetListener accepts extra argument
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:unsetListener M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MNAEX
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthDevice,
+    healthProfileHandler, healthConnectSuccess, healthConnectError, getDeviceInfo, getDeviceError, connectedChannel,
+    healthRegisterSuccess, healthRegisterError, onPowered, returnvalue= null, channelCallback;
+
+t.step(function() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    try {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    } catch(e) {
+        assert_unreached("getBluetoothProfileHandler has error: " + e.message);
+        return;
+    }
+
+    channelCallback = {
+        onmessage: t.step_func(function(data) {
+            checkExtraArgument(connectedChannel, "unsetListener");
+            t.done();
+        },
+        onclose: t.step_func(function() {}
+    };
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        connectedChannel = channel;
+        connectedChannel.setListener(channelCallback);
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    getDeviceInfo = t.step_func(function(device) {
+        healthDevice = device;
+        try {
+            healthProfileHandler.connectToSource(healthDevice, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    getDeviceError = t.step_func(function(e) {
+        assert_unreached("getDeviceError:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, getDeviceInfo, getDeviceError);
+    });
+
+    healthRegisterError = t.step_func(function(e) {
+        assert_unreached("healthRegisterError should not be invoked");
+    });
+
+    onPowered = t.step_func(function() {
+        try {
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, healthRegisterSuccess, healthRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+    try {
+        setPowered(t, adapter, onPowered);
+    } catch(e) {
+        assert_unreached("setPowered exception:" + e.message);
+    }
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource.html
new file mode 100755 (executable)
index 0000000..530ea4d
--- /dev/null
@@ -0,0 +1,94 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan<jingbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthProfileHandler_connectToSource
+//==== LABEL Check BluetoothHealthProfileHandler::connectToSource() method with all params.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MOA MR
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler, bluetoothDevice,
+    powerOnSuccess, onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError, onHealthConnectSucc, onHealthConnectError, ret;
+
+t.step(function() {
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        assert_equals(channel.peer.name, bluetoothDevice.name, "name should be equals.");
+        t.done();
+    });
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("connectToSource has error" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            ret = healthProfileHandler.connectToSource(bluetoothDevice, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+            assert_equals(ret, undefined, "connectToSource should return void");
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_application_TypeMismatch.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_application_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..5dd6c88
--- /dev/null
@@ -0,0 +1,98 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan<jingbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_application_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthProfileHandler_connectToSource_application_TypeMismatch
+//==== LABEL Check BluetoothHealthProfileHandler::connectToSource with mismatch application.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MC
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler, bluetoothDevice, conversionTable, incorrectPeerDevice,
+    i, invalidApp, exceptionName, powerOnSuccess, onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError, onHealthConnectSucc, onHealthConnectError;
+
+t.step(function() {
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        assert_unreached("should not be success");
+    });
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("should not be involked:" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        conversionTable = getTypeConversionExceptions("object", false);
+        for(i = 0; i < conversionTable.length; i++) {
+            invalidApp = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+
+            assert_throws({name: exceptionName},
+                function () {
+                    healthProfileHandler.connectToSource(device, invalidApp, onHealthConnectSucc, onHealthConnectError);
+                }, exceptionName + "Given incorrect application.");
+        }
+        t.done();
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_errorCallback_TypeMismatch.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_errorCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..ad1f1e0
--- /dev/null
@@ -0,0 +1,95 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_errorCallback_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthProfileHandler_connectToSource_errorCallback_TypeMismatch
+//==== LABEL Check BluetoothHealthProfileHandler::exception is thrown when connectToSource is called with a type-mismatch errorCallback.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MC
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler,
+    bluetoothDevice, conversionTable, exceptionName, powerOnSuccess, onRegisterSucc, onRegisterError,
+    onGetDeviceSucc, onGetDeviceError, onHealthConnectSucc, onHealthConnectError, i;
+
+t.step(function() {
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        assert_unreached("should not be success");
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        conversionTable = getTypeConversionExceptions("functionObject", true);
+        for(i = 0; i < conversionTable.length; i++) {
+            onHealthConnectError = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+
+            assert_throws({name: exceptionName},
+                function () {
+                    healthProfileHandler.connectToSource(bluetoothDevice, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+                }, exceptionName + "Given incorrect onHealthConnectError.");
+        }
+        t.done();
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("onGetDeviceError:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_errorCallback_invoked.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_errorCallback_invoked.html
new file mode 100755 (executable)
index 0000000..31f940b
--- /dev/null
@@ -0,0 +1,93 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_errorCallback_invoked</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthProfileHandler_connectToSource_errorCallback_invoked
+//==== LABEL Check BluetoothHealthProfileHandler::connectToSource() method error callback is invoked when connectToSource is called.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MERRCB
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler, bluetoothDevice,
+    powerOnSuccess, onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError, healthConnectSuccess, healthConnectError;
+
+t.step(function() {
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        assert_unreached("should not be success");
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        checkErrType(0, "InvalidValuesError", e, "should throw InvalidValuesError");
+        t.done();
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(device, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("onGetDeviceError:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, "com.tizen.test.health", onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_exist.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_exist.html
new file mode 100755 (executable)
index 0000000..0e0bd7c
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_exist</title>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_connectToSource_exist
+//==== LABEL Check if connectToSource method exists
+//==== PRIORITY P0
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA ME
+
+var adapter, healthProfileHandler;
+test(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+
+    assert_true("connectToSource" in  healthProfileHandler, "Method connectToSource does not exist in bluetooth adapter.");
+    check_method_exists(healthProfileHandler, "connectToSource");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_invalid_obj.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_invalid_obj.html
new file mode 100755 (executable)
index 0000000..ad74d90
--- /dev/null
@@ -0,0 +1,96 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_invalid_obj</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthProfileHandler_connectToSource_invalid_obj
+//==== LABEL Check BluetoothHealthProfileHandler::connectToSource() method with invalid object.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices.
+//==== TEST_CRITERIA MTO
+
+setup({timeout: 60000});
+
+var t = async_test(document.title, {timeout: 60000}), powerOnSuccess, onRegisterSucc, illegalHealthApp, onHealthConnectSucc, onHealthConnectError,
+    adapter, healthProfileHandler, registerHealthApp, onRegisterError, onGetDeviceSucc, onGetDeviceError;
+
+t.step(function () {
+
+    illegalHealthApp = {
+        'dataType': 4100,
+        'name': "com.tizen.test.health"
+    };
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        assert_unreached("onHealthConnectSucc should not be invoked.");
+    });
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("connectToSource has error" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+            healthProfileHandler.connectToSource(device, illegalHealthApp, onHealthConnectSucc, onHealthConnectError);
+        }, "should throw exception");
+
+        t.done();
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_missarg.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_missarg.html
new file mode 100755 (executable)
index 0000000..28eed91
--- /dev/null
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_missarg</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_connectToSource_missarg
+//==== LABEL Check connectToSource with missing non-optional argument
+//==== PRIORITY P2
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MMA
+
+var adapter, healthProfileHandler;
+test(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    assert_throws ({name:"TypeMismatchError"},
+        function () {
+            healthProfileHandler.connectToSource();
+        }, "Method with non optional argument.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_peer_TypeMismatch.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_peer_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..aeb6cb5
--- /dev/null
@@ -0,0 +1,98 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan<jingbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_peer_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthProfileHandler_connectToSource_peer_TypeMismatch
+//==== LABEL Check BluetoothHealthProfileHandler::connectToSource with mismatch type.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MC
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler, bluetoothDevice, conversionTable, incorrectPeerDevice,
+    exceptionName, powerOnSuccess, onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError, onHealthConnectSucc, onHealthConnectError, i;
+
+t.step(function() {
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        assert_unreached("should not be success");
+    });
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("should not be involked:" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        conversionTable = getTypeConversionExceptions("object", true);
+        for(i = 0; i < conversionTable.length; i++) {
+            incorrectPeerDevice = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+
+            assert_throws({name: exceptionName},
+                function () {
+                    healthProfileHandler.connectToSource(incorrectPeerDevice, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+                }, exceptionName + "Given incorrect application.");
+        }
+        t.done();
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_succCallback_invalid_cb.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_succCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..b52a415
--- /dev/null
@@ -0,0 +1,89 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_succCallback_invalid_cb</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthProfileHandler_connectToSource_succCallback_invalid_cb
+//==== LABEL Check if BluetoothHealthProfileHandler::connectToSource with invalid success callback.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices.
+//==== TEST_CRITERIA MTCB
+
+setup({timeout: 60000});
+
+var t = async_test(document.title, {timeout: 60000}), powerOnSuccess, onRegisterSucc, onRegisterError,
+    adapter, onGetDeviceSucc, onGetDeviceError, onConnectSucc, onConnectError, healthProfileHandler, healthApp;
+
+t.step(function() {
+
+    onConnectSucc = {
+        'onsuccess': t.step_func(function(channel) {
+            assert_unreached("should not be success");
+        })
+    };
+
+    onConnectError = t.step_func(function(err) {
+        assert_unreached("onConnectError error: " + err.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        assert_throws(TYPE_MISMATCH_EXCEPTION, function() {
+            healthProfileHandler.connectToSource(device, healthApp, onConnectSucc, onConnectError);
+        }, "should throw exception");
+        t.done();
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        healthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(err) {
+        assert_unreached("registerSinkApplication error: " + err.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(4100, testSinkApp,
+            onRegisterSucc, onRegisterError);
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_successCallback_TypeMismatch.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_successCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..72e65aa
--- /dev/null
@@ -0,0 +1,95 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_successCallback_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthProfileHandler_connectToSource_successCallback_TypeMismatch
+//==== LABEL Check BluetoothHealthProfileHandler::connectToSource() method exception is thrown called with a type-mismatch successCallback.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MC
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, i,
+    healthProfileHandler, bluetoothDevice, conversionTable, exceptionName, powerOnSuccess,
+    onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError, onHealthConnectSucc, onHealthConnectError;
+
+t.step(function() {
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("should not be invoked:" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        conversionTable = getTypeConversionExceptions("functionObject", true);
+        for(i = 0; i < conversionTable.length; i++) {
+            onHealthConnectSucc = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+
+            assert_throws({name: exceptionName},
+                function () {
+                    healthProfileHandler.connectToSource(bluetoothDevice, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+                }, exceptionName + "Given incorrect onHealthConnectSucc.");
+        }
+        t.done();
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_with_succCallback.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_with_succCallback.html
new file mode 100755 (executable)
index 0000000..9f80a50
--- /dev/null
@@ -0,0 +1,89 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_with_succCallback</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthProfileHandler_connectToSource_with_succCallback
+//==== LABEL Check BluetoothHealthProfileHandler::connectToSource() method without error callback.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MMINA
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler, bluetoothDevice,
+    powerOnSuccess, onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError, healthConnectSuccess;
+
+t.step(function() {
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        channel.close();
+        t.done();
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(device, registerHealthApp, healthConnectSuccess);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("onGetDeviceError:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_extend.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_extend.html
new file mode 100755 (executable)
index 0000000..8a7a426
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_extend</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_extend
+//==== LABEL Test whether the object BluetoothHealthProfileHandler can have new properties added it
+//==== PRIORITY P3
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:BluetoothHealthProfileHandler U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA OBX
+var adapter, healthProfileHandler;
+test(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+
+    check_extensibility(healthProfileHandler);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_notexist.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_notexist.html
new file mode 100755 (executable)
index 0000000..b8620e4
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_notexist</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_notexist
+//==== LABEL Check if is possible to call BluetoothHealthProfileHandler in new expresion
+//==== PRIORITY P3
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:BluetoothHealthProfileHandler U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA NIO
+test(function () {
+    check_no_interface_object("BluetoothHealthProfileHandler");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication.html
new file mode 100755 (executable)
index 0000000..395a4fb
--- /dev/null
@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_registerSinkApplication</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_registerSinkApplication
+//==== LABEL Check with non optional arguments registerSinkApplication
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:registerSinkApplication M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MMINA MAST MR
+setup({timeout:180000, explicit_done:true});
+var adapter, t = async_test(document.title, {timeout: 180000}), healthProfileHandler,
+    powerOnSuccess, healthRegisterSuccess, retValue = null;
+t.step(function () {
+
+    healthRegisterSuccess = t.step_func(function (app) {
+        setBluetoothHandlerCleanup(app);
+        assert_type(app, "object", "argument app has wrong type");
+        assert_equals(retValue, undefined, "registerSinkApplication returns wrong value");
+
+        t.done();
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        retValue = healthProfileHandler.registerSinkApplication(4100, "testSinkApp", healthRegisterSuccess);
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_callback_error.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_callback_error.html
new file mode 100755 (executable)
index 0000000..0831af8
--- /dev/null
@@ -0,0 +1,69 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_registerSinkApplication_callback_error</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_registerSinkApplication_callback_error
+//==== LABEL Check if error callback of registerSinkApplication method invoked
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:registerSinkApplication M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MERRCB
+
+setup({timeout: 180000});
+
+var adapter, t = async_test(document.title, {timeout: 180000}), healthProfileHandler,
+    powerOffSuccess, healthRegisterSuccess, healthRegisterError;
+t.step(function () {
+
+    healthRegisterSuccess = t.step_func(function (app) {
+        assert_unreached("invalid successCallback invoked");
+    });
+
+    healthRegisterError = t.step_func(function (error) {
+        assert_equals(error.name, "ServiceNotAvailableError", "expected another error");
+
+        t.done();
+    });
+
+    powerOffSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(4100, "testSinkApp", healthRegisterSuccess, healthRegisterError);
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setUnpowered(t, adapter, powerOffSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_TypeMismatch.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..3a605aa
--- /dev/null
@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_TypeMismatch</title>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_TypeMismatch
+//==== LABEL Check whether registerSinkApplication() method called with invalid errorCallback argument throws an exception
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:registerSinkApplication M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MC
+
+setup({timeout: 180000});
+
+var adapter, healthProfileHandler, errorCallback, exceptionName, i, conversionTable = getTypeConversionExceptions("functionObject", true),
+    successCallback, t = async_test(document.title, {timeout: 180000});
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+
+    successCallback = t.step_func(function (app) {
+        assert_unreached("Method registerSinkApplication shouldn't end successfully.");
+    });
+
+    for(i = 0; i < conversionTable.length; i++) {
+        errorCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+
+        assert_throws({name: exceptionName},
+            function () {
+                healthProfileHandler.registerSinkApplication(4100, "testSinkApp", successCallback, errorCallback);
+            }, "Given incorrect errorCallback.");
+        t.done();
+    }
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_invalid_cb.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..6d5680b
--- /dev/null
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_invalid_cb</title>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_invalid_cb
+//==== LABEL Check argument registerSinkApplication() errorCallback validation
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:registerSinkApplication M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MTCB
+
+setup({timeout: 180000});
+
+var adapter, t = async_test(document.title, {timeout: 180000}),
+    incorrectCallback, successCallback, healthProfileHandler, exceptionName = "TypeMismatchError";
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+
+    incorrectCallback = {
+        onerror: t.step_func(function (error) {
+            assert_unreached("Invalid errorCallback invoked: " + error.name + ": " + error.message);
+        })
+    };
+
+    successCallback = t.step_func(function () {
+        assert_unreached("Method registerSinkApplication shouldn't end successfully.");
+    });
+
+    assert_throws({name: exceptionName},
+        function () {
+            healthProfileHandler.registerSinkApplication(4100, "testSinkApp", successCallback, incorrectCallback);
+        }, "Given incorrect errorCallback.");
+
+    t.done();
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_exist.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_exist.html
new file mode 100755 (executable)
index 0000000..83084e2
--- /dev/null
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_registerSinkApplication_exist</title>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_registerSinkApplication_exist
+//==== LABEL Check if registerSinkApplication method exists
+//==== PRIORITY P0
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:registerSinkApplication M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA ME
+
+var adapter, healthProfileHandler;
+test(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+
+    assert_true("registerSinkApplication" in  healthProfileHandler, "Method registerSinkApplication does not exist in bluetooth adapter.");
+
+    check_method_exists(healthProfileHandler, "registerSinkApplication");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_missarg.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_missarg.html
new file mode 100755 (executable)
index 0000000..8e83021
--- /dev/null
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_registerSinkApplication_missarg</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_registerSinkApplication_missarg
+//==== LABEL Check registerSinkApplication with missing non-optional argument
+//==== PRIORITY P2
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:registerSinkApplication M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MMA
+
+var adapter, healthProfileHandler;
+test(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    assert_throws ({name:"TypeMismatchError"},
+        function () {
+            healthProfileHandler.registerSinkApplication();
+        }, "Method with non optional argument.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_TypeMismatch.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..65e5a65
--- /dev/null
@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_registerSinkApplication_successCallback_TypeMismatch</title>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_registerSinkApplication_successCallback_TypeMismatch
+//==== LABEL Check whether registerSinkApplication() method called with invalid successCallback argument throws an exception
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:registerSinkApplication M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MC
+
+setup({timeout: 180000});
+
+var adapter, healthProfileHandler, successCallback, exceptionName, i, conversionTable = getTypeConversionExceptions("functionObject", false),
+errorCallback, t = async_test(document.title, {timeout: 180000});
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+
+    errorCallback = t.step_func(function (e) {
+        assert_unreached("healthRegisterError - Shouldn't be here");
+    });
+
+    for(i = 0; i < conversionTable.length; i++) {
+        successCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+
+        assert_throws({name: exceptionName},
+            function () {
+                healthProfileHandler.registerSinkApplication(4100, "testSinkApp", successCallback, errorCallback);
+            }, "Given incorrect successCallback.");
+        t.done();
+    }
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_invalid_cb.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..67df2fb
--- /dev/null
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_registerSinkApplication_successCallback_invalid_cb</title>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_registerSinkApplication_successCallback_invalid_cb
+//==== LABEL Check argument registerSinkApplication() successCallback validation
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:registerSinkApplication M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MTCB
+
+setup({timeout: 180000});
+
+var adapter, t = async_test(document.title), exceptionName = "TypeMismatchError",
+    incorrectCallback, errorCallback, healthProfileHandler;
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+
+    incorrectCallback = {
+        onsuccess: t.step_func(function () {
+            assert_unreached("Method registerSinkApplication shouldn't end successfully.");
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+        assert_unreached("Invalid errorCallback invoked: " + error.name + ": " + error.message);
+    });
+
+    assert_throws({name: exceptionName},
+        function () {
+            healthProfileHandler.registerSinkApplication(4100, "testSinkApp", incorrectCallback, errorCallback);
+        }, "Given incorrect successCallback.");
+
+    t.done();
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_with_errorCallback.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_with_errorCallback.html
new file mode 100755 (executable)
index 0000000..ffd1e45
--- /dev/null
@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_registerSinkApplication_with_errorCallback</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_registerSinkApplication_with_errorCallback
+//==== LABEL Check registerSinkApplication with valid optional arguments
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:registerSinkApplication M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MOA MAST
+
+setup({timeout: 180000, explicit_done:true});
+
+var adapter, t = async_test(document.title, {timeout: 180000}), healthProfileHandler,
+    powerOnSuccess, healthRegisterSuccess, healthRegisterError;
+t.step(function () {
+
+    healthRegisterSuccess = t.step_func(function (app) {
+        setBluetoothHandlerCleanup(app);
+        assert_type(app, "object", "argument app has wrong type");
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("gotDeviceError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(4100, "testSinkApp", healthRegisterSuccess);
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothProfileHandler_extend.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothProfileHandler_extend.html
new file mode 100755 (executable)
index 0000000..6ff3566
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothProfileHandler_extend</title>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothProfileHandler_extend
+//==== LABEL Test whether the object can have new properties added for BluetoothProfileHandler
+//==== PRIORITY P3
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothProfileHandler:BluetoothProfileHandler U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA OBX
+
+var adapter, healthProfileHandler, profileType = "HEALTH";
+test(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler(profileType);
+    check_extensibility(healthProfileHandler);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothProfileHandler_notexist.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothProfileHandler_notexist.html
new file mode 100755 (executable)
index 0000000..76c52ae
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothProfileHandler_notexist</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothProfileHandler_notexist
+//==== LABEL Check if is possible to call BluetoothProfileHandler in new expresion
+//==== PRIORITY P3
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothProfileHandler:BluetoothProfileHandler U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA NIO
+test(function () {
+    check_no_interface_object("BluetoothProfileHandler");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothProfileHandler_profileType_attribute.html b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothProfileHandler_profileType_attribute.html
new file mode 100755 (executable)
index 0000000..b302643
--- /dev/null
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothProfileHandler_profileType_attribute</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothProfileHandler_profileType_attribute
+//==== LABEL Check if profileType attribute exists in BluetoothProfileHandler
+//==== PRIORITY P1
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothProfileHandler:profileType A
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA AE AT ARO
+
+var adapter, healthProfileHandler, profileType = "HEALTH";
+test(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler(profileType);
+
+    assert_own_property(healthProfileHandler, "profileType", "BluetoothProfileHandler does not own profileType property.");
+    check_readonly(healthProfileHandler, "profileType", healthProfileHandler.profileType, "string", "Tizen");
+    assert_in_array(healthProfileHandler.profileType, BLUETOOTH_PROFILE_TYPE, "healthProfileHandler profileType has wrong value");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/support/bluetooth_common.js b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/support/bluetooth_common.js
new file mode 100755 (executable)
index 0000000..28af0a1
--- /dev/null
@@ -0,0 +1,373 @@
+/*
+
+Copyright (c) 2013 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:
+
+*/
+
+var globalBluetoothAdapter;
+
+var UNKNOWN_ERR         = "UnknownError";
+var TYPE_MISMATCH_ERR   = "TypeMismatchError";
+var IO_ERR              = "IOError";
+var INVALID_VALUES_ERR  = "InvalidValuesError";
+var SECURITY_ERR        = "SecurityError";
+var NOT_FOUND_ERR       = "NotFoundError";
+var NOT_SUPPORT_ERR     = "NotSupportedError";
+var INVALID_STATE_ERR = "InvalidStateError";
+
+var BLUETOOTH_PROFILE_TYPE = ["HEALTH"];
+
+var bluetooth = null;
+var btdevice = null;
+var ret = false;
+var REMOTE_DEVICE_ADDRESS = "00:02:95:46:58:D1"; //  nanjing-->00:02:95:46:58:D1 Num19-->00:02:96:63:C3:6A Z2-->C4:50:06:73:B1:DA Z5-->C4:50:06:73:B2:DA Z3-->E4:12:1D:99:F9:69
+var REMOTE_DEVICE_NAME = "SamsungZ-3";
+var REMOTE_HEALTH_DEVICE_ADDRESS = "00:02:95:46:58:D1";
+var REMOTE_HEALTH_DEVICE_NAME = "SamsungZ-3";
+
+var TEST_WRONG_UUID = "00001101-0000-0000-0000-111111111111";
+var CHAT_SERVICE_UUID = "5BCE9431-6C75-32AB-AFE0-2EC108A30860";
+var btAdapter = null;
+var REMOTE_HEALTH_DEVICE_TYPE = 4100;
+
+var g_writeContent = "Hello World!";
+var testSinkApp = "com.tizen";
+var dataToSend = [255,255,255,255];
+
+
+function setUnpowered (t, adapter, powerOfSuccess) {
+    var powerOffError = t.step_func(function (error) {
+        assert_unreached("Launch Settings page error: " + error.name);
+    });
+
+    if (adapter.powered)
+        alert("Please turn off bluetooth. ");
+    powerOfSuccess();
+}
+
+function setPowered (t, adapter, powerOnSuccess) {
+    // var powerOnError = t.step_func(function (error) {
+    //     assert_unreached("Launch Settings page error: " + error.name);
+    // });
+
+    // if (!adapter.powered)
+    //     alert("Please turn on bluetooth and set visible always");
+    powerOnSuccess();
+}
+
+function stopDiscovery (t, adapter, stopDiscoverySuccess) {
+    var stopDiscoveryError = t.step_func(function (e) {
+         assert_unreached("stopDiscoveryError exception:" + e.message);
+    });
+
+    var powerOnSuccess = t.step_func(function () {
+        adapter.stopDiscovery(stopDiscoverySuccess, stopDiscoveryError);
+    });
+    setPowered(t, adapter, powerOnSuccess);
+}
+
+function setBluetoothCleanup(obj, method) {
+     add_result_callback(function (res) {
+        if(obj && obj[method] && typeof obj[method] == "function") {
+            try {
+                obj[method](done,done);
+            } catch(e) {
+                done();
+            }
+        } else {
+            done();
+        }
+    });
+}
+
+function setBluetoothHandlerCleanup(handler) {
+    setBluetoothCleanup(handler, "unregister");
+}
+
+function setBluetoothDiscoveryCleanup(adapter) {
+    setBluetoothCleanup(adapter, "stopDiscovery");
+}
+
+function check_bluetooth_device(device) {
+    check_readonly(device, "name", device.name, "string", "new_name");
+    check_readonly(device, "address", device.address, "string", "new_address");
+
+    assert_true("deviceClass" in device, "No deviceClass in device");
+    assert_type(device.deviceClass, "object", "type of deviceClass is not an object");
+
+    device.deviceClass = undefined;
+    assert_not_equals(device.deviceClass, undefined, "deviceClass should be readonly");
+
+    check_readonly(device.deviceClass, "major", device.deviceClass.major, "number", (device.deviceClass.major + 1)%8);
+    check_readonly(device.deviceClass, "minor", device.deviceClass.minor, "number", (device.deviceClass.minor + 1)%8);
+
+    assert_true("services" in device.deviceClass, "No services in deviceClass");
+    assert_type(device.deviceClass.services, "array", "type of services is not an array");
+
+    device.deviceClass.services = undefined;
+    assert_not_equals(device.deviceClass.services, undefined, "services should be readonly");
+
+    assert_type(device.deviceClass.hasService, "function", "Device deviceClass.hasService type check:");
+    assert_type(device.deviceClass.hasService(0), "boolean", "Device deviceClass.hasService return type check:");
+
+    check_readonly(device, "isBonded", device.isBonded, "boolean", !(device.isBonded));
+    check_readonly(device, "isTrusted", device.isTrusted, "boolean", !(device.isTrusted));
+    check_readonly(device, "isConnected", device.isConnected, "boolean", !(device.isConnected));
+
+    assert_true("uuids" in device, "No uuids in device");
+    assert_type(device.uuids, "array", "type of uuids is not an array");
+    device.uuids = undefined;
+    assert_not_equals(device.uuids, undefined, "uuids should be readonly");
+
+    assert_type(device.connectToServiceByUUID, "function", "Method connectToServiceByUUID does not exist.");
+}
+
+function check_bluetooth_device_array(devices) {
+    assert_type(devices, "array", "Devices has wrong type.");
+    assert_greater_than(devices.length, 0, "Bluetooth devices not found.");
+}
+
+function onloaded() {
+    try {
+        //var manager = document.getElementById('bt_plugin');
+        //bluetooth = manager.createAPIObjectByFeature("http://tizen.org/apis/bluetooth");
+        if(bluetooth == null) {
+            bluetooth = tizen.bluetooth;
+        }
+        if(btAdapter == null) {
+        //    btAdapter = bluetooth.adapter;
+            btAdapter = bluetooth.getDefaultAdapter();
+            console.log("Hello web bluetooth.adapter..." + btAdapter.address);
+        }
+    } catch(e) {
+        //alert ("Exception : " + e.message);
+        console.log("tizen.bluetooth.adapter Exception. reason : " + e.message + "(" + e.code + ")");
+    }
+}
+
+/**********************************************
+* tizen.bluetooth.device.connectToServiceByUUID
+***********************************************/
+var clientSocket = null;
+
+function sendMessage(msg) {
+    //Validate socket state, if everything is ok.
+    if(clientSocket != null && clientSocket.state == "OPEN") {
+        //Send
+        clientSocket.writeData(msg);
+    }
+}
+
+var socketConnectListener = {
+    onMessage: function(socket) {
+        var data = socket.readData();
+        var recvmsg = "";
+        for(var i = 0; i < data.length; i ++) {
+            recvmsg += String.fromCharCode(data[i]);
+        }
+        console.log("server msg >> " + recvmsg);
+    },
+
+    onError: function(e, socket) {
+        console.log("Socket Error: " + e.message);
+    },
+
+    onClose: function(socket) {
+        console.log("socket disconnected.");
+    }
+};
+
+function onSocketConnected(socket) {
+    //Method to be invoked when socket is open.
+    clientSocket = socket;
+    socket.setSocketNotifyListener(socketConnectListener);
+    console.log("Opening socket success.");
+}
+
+function onDeviceReady(device) {
+    //Validate device and service uuid
+    if(device != null && device.uuids.indexOf(CHAT_SERVICE_UUID) != -1) {
+        device.connectToServiceByUUID(CHAT_SERVICE_UUID, onSocketConnected, function(e) {
+            console.log("Error connecting to service. Reason: " + e.message);
+        });
+    } else {
+        console.log("Char service is not supported by this device.");
+    }
+}
+
+function onSetPowered() {
+    tizen.bluetooth.adapter.getDevice(REMOTE_DEVICE_ADDRESS, onDeviceReady, function(e) {
+        console.log("Error: " + e.message);
+    });
+}
+
+/****************************************************
+* tizen.bluetooth.adapter.registerRFCOMMServiceBYUUID
+* tizen.bluetooth.adapter.unregisterRFCOMMService
+*****************************************************/
+var chatServiceHandler = null;
+
+ var socketRegListener = {
+   onMessage: function(socket) {
+       var data = socket.readData();
+       // handle message code goes here
+       //....
+   },
+   // Something went wrong
+   onError: function(e, socket) {
+       console.log('Error : ' + e.message);
+   },
+   // Expected close
+   onClose: function(socket) {
+       console.log('Socket colosed.');
+   }
+ };
+
+ var chatServiceSuccessCb = {
+    // Registration success handler
+    onSuccess: function() {
+       console.log("Chat service registration success!");
+    },
+
+    onConnect: function(socket) {
+        console.log("Client connected : " + socket.peer.name + "," + socket.peer.address);
+        // Message received from remote device
+        socket.setSocketNotifyListener(socketRegListener);
+    }
+};
+
+function publishChatService() {
+    var CHAT_SERVICE_UUID = "5bce9431-6c75-32ab-afe0-2ec108a30860";
+    chatServiceHandler = tizen.bluetooth.adapter.registerRFCOMMServiceByUUID(CHAT_SERVICE_UUID, "Chat service", chatServiceSuccessCb,
+      // Error handler
+      function(e) {
+           console.log( "Could not register service record, Error : " + e.message);
+      });
+}
+
+function unRegisterChatService() {
+    if(chatServiceHandler != null) {
+        tizen.bluetooth.adapter.unregisterRFCOMMService(chatServiceHandler, function() {
+            chatServiceHandler = null;
+            console.log("Chat service unregistered.");
+        }, function(e) {
+            console.log("Error : " + e.message);
+        });
+    }
+}
+
+/***************************************
+* tizen.bluetooth.adapter.discoverDevice
+****************************************/
+
+function startDiscovery() {
+
+  var discoverDevicesSuccessCallback = {
+//      onSuccess: function() {
+      onStarted: function() {
+          callback_flag = true;
+          console.log("Device discovery started...");
+      },
+
+//      onFound: function(device) {
+      onDeviceFound: function(device) {
+          onfound_flag = true;
+          console.log("Found device - Name: " + device.name + ", Address: " + device.address);
+          if(device.name != null)
+            foundname_flag = true;
+          if(device.address != null)
+            foundaddress_flag = true;
+      },
+
+//      onDisappear: function(address) {
+      onDeviceDisappeared: function(address) {
+          ondisappear_flag = true;
+          console.log("Device disappeared: " + address);
+      },
+
+//      onFinish: function(devices) {
+      onFinished: function(devices) {
+          onfinish_flag = true;
+          console.log("Device discovery finished...");
+
+          var msg = new String("Found Devices: \n");
+          if(devices.length == 0) {
+              msg += "Total: " + devices.length;
+              console.log(msg);
+              return;
+          }
+
+
+          for (i=0 ;i < devices.length; i++) {
+              msg += " Name: " + devices[i].name + ", Address: " + devices[i].address + "\n";
+          }
+          msg += "Total: " + devices.length;
+          console.log(msg);
+      }
+  };
+ // start searching for nearby devices, for 12 sec.
+  bluetooth.adapter.discoverDevices(discoverDevicesSuccessCallback, function(e){
+      onfound_flag = false;
+      console.log("Failed to search devices: " + e.message + "(" + e.code + ")");
+  });
+}
+
+function onSetPoweredError(e) {
+    console.log("Could not turn on device, reason: " + e.message + "(" + e.code + ")");
+}
+
+function cancelDiscovery() {
+    btAdapter.stopDiscovery(function() {
+        console.log("Stop discovery success.");
+    },
+    function(e) {
+        console.log("Error while stopDiscovery : " + e.message);
+    })
+}
+
+// change REMOTE_DEVICE_ADDRESS and REMOTE_DEVICE_NAME
+document.write('<script src="../webrunner/jquery-1.10.2.min.js"></script>');
+document.write('<script src="support/getJsonConf_ble.js"></script>');
+
+
+// Add common apis from Xi'an start
+function checkErrType(code, name, e, description) {
+    assert_equals(code, e.code, description);
+    assert_equals(name, e.name, description);
+}
+
+function assertTypeMismatch(t, e) {
+    var uagent = navigator.userAgent.toLowerCase();
+    if (uagent.search('tizen') != -1) {
+        if (e.code != undefined && e.code == e.TYPE_MISMATCH_ERR && e.name == "TypeMismatchError") {
+            t.done();
+        } else {
+            assert_unreached("TYPE_MISMATCH_ERR should be thrown, but:" + e.message);
+        }
+    } else if (uagent.search('android') != -1) {
+        if (e.code != undefined && e.code == e.TYPE_MISMATCH_ERR && e.name == "TypeMismatchError") {
+            t.done();
+        } else {
+            assert_unreached("TYPE_MISMATCH_ERR should be thrown, but:" + e.message);
+        }
+    } else {
+        assert_unreached("uagent search not found:" + e.message);
+    }
+}
+// Add common apis from Xi'an end
diff --git a/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/support/getJsonConf_ble.js b/mobile/tct-deprecatedapi-tizen-tests/deprecatedapi/support/getJsonConf_ble.js
new file mode 100755 (executable)
index 0000000..1e8ec37
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Li, Hao <haox.li@intel.com>
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+*/
+
+var RESOURCE_DIR;
+
+$.ajax({
+  url:"/opt/usr/home/owner/share/TCT_CONFIG",
+  data:{},
+  async:false,
+  success:function(data){
+    var regEx = /DEVICE_SUITE_TARGET_30=(.+)/i;
+    var path = regEx.exec(data);
+    RESOURCE_DIR = path[1];
+  }
+});
+
+$.ajax({
+  url:RESOURCE_DIR + "/tct/preconfigure.json",
+  dataType:"json",
+  data:{},
+  async:false,
+  success:function(data){
+    REMOTE_DEVICE_ADDRESS = data[0]["BT_REMOTE_DEVICE_ADDRESS"];
+    REMOTE_DEVICE_NAME = data[0]["BT_REMOTE_DEVICE_NAME"];
+    REMOTE_HEALTH_DEVICE_ADDRESS = data[0]["BT_REMOTE_HEALTH_DEVICE_ADDRESS"];
+    REMOTE_HEALTH_DEVICE_NAME = data[0]["BT_REMOTE_HEALTH_DEVICE_NAME"];
+    REMOTE_BLE_DEVICE_ADDRESS = data[0]["BT_REMOTE_BLE_DEVICE_ADDRESS"];
+  }
+})
index 8e24abe159bd835b1fc43e9502ac7dae3bedbddd..f920f3650cbc7107700de1143b17f9b23c5f598d 100755 (executable)
             "pkg-app": {
                 "sign-flag": "true"
             },
-            "subapp-list": { }
+            "subapp-list": {
+                "tct-bt-helper": {
+                    "app-name": "tct-bt-helper",
+                    "blacklist": [
+                        "manifest.json"
+                    ],
+                    "install-path": "apps",
+                    "sign-flag": "true"
+                }
+            }
         }
     },
     "pkg-name": "tct-deprecatedapi-tizen-tests"
diff --git a/mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/config.xml b/mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/config.xml
new file mode 100755 (executable)
index 0000000..602d54e
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<widget xmlns="http://www.w3.org/ns/widgets" xmlns:tizen="http://tizen.org/ns/widgets" id="http://yourdomain/tct-bt-helper" version="1.0.0" viewmodes="maximized">
+    <tizen:application id="ps2w1DxNKj.TctBtHelper" package="ps2w1DxNKj" required_version="3.0"/>
+    <content src="index.html"/>
+    <icon src="icon.png"/>
+    <name>tct-bt-helper</name>
+    <tizen:privilege name="http://tizen.org/privilege/bluetooth"/>
+    <tizen:privilege name="http://tizen.org/privilege/telephony"/>
+</widget>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/css/style.css b/mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/css/style.css
new file mode 100755 (executable)
index 0000000..b97eeb9
--- /dev/null
@@ -0,0 +1,86 @@
+/*
+
+Copyright (c) 2013 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:
+
+
+
+*/
+
+* {
+    font-family: Lucida Sans, Arial, Helvetica, sans-serif;
+}
+
+body {
+    margin: 0px auto;
+}
+
+header h1 {
+    font-size: 36px;
+    margin: 0px;
+}
+
+header h2 {
+    font-size: 18px;
+    margin: 0px;
+    color: #888;
+    font-style: italic;
+}
+
+article select {
+    width: 150px;
+}
+
+article p {
+    clear: both;
+}
+
+article > section form {
+    border: 1px solid #888;
+    -moz-border-radius: 10px;
+    -webkit-border-radius: 10px;
+    border-radius: 10px;    
+    -moz-box-shadow: 10px 10px 5px #888;
+    -webkit-box-shadow: 10px 10px 5px #888;
+    box-shadow: 10px 10px 5px #888;
+    background-color: #eee;
+    padding: 10px;
+    margin-bottom: 30px;
+}
+
+article > section label {
+    font-weight: bold;
+    font-size: 13px;
+}
+
+article > section input {
+    margin-bottom: 3px;
+    font-size: 13px;
+}
+
+#serviceTxt {
+    width: 300px;
+}
+
+footer p {
+    text-align: center;
+    font-size: 12px;
+    color: #888;
+    margin-top: 24px;
+}
+
diff --git a/mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/icon.png b/mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/icon.png
new file mode 100755 (executable)
index 0000000..c22cfa8
Binary files /dev/null and b/mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/icon.png differ
diff --git a/mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/images/tizen_32.png b/mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/images/tizen_32.png
new file mode 100755 (executable)
index 0000000..983c883
Binary files /dev/null and b/mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/images/tizen_32.png differ
diff --git a/mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/index.html b/mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/index.html
new file mode 100755 (executable)
index 0000000..841ce8e
--- /dev/null
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+    Karol Surma <k.surma@samsung.com>
+-->
+
+<html>
+<head>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
+    <meta name="description" content="Tizen basic template generated by Tizen Web IDE"/>
+
+    <title>tct-bt-helper</title>
+
+    <link rel="stylesheet" type="text/css" href="css/style.css"/>
+    <script src="js/main.js"></script>
+</head>
+
+<body>
+  <header>
+    <hgroup>
+      <h1>Bluetooth</h1>
+      <h2>tct-bt-helper</h2>
+    </hgroup>
+  </header>
+
+
+  <article>
+    <p>Service UUID</p>
+    <div id="serviceUUID">
+        <input type="text" id="serviceTxt" value="5BCE9431-6C75-32AB-AFE0-2EC108A30860">
+    </div>
+    <div id="registerSection">
+      <button onclick="registerService();">Register service</button>
+      &nbsp;&nbsp; 
+      <button onclick="unregisterService();">Unregister service</button>
+    </div>
+    <div id="discoverSection">
+      <p>Bluetooth device list</p>
+      <select id="devicesList" >
+      </select>
+      <button onclick="discover();">Search</button>
+    </div>    
+    <div id="connectService">
+      <p>Connect to service</p>
+      <button onclick="connectService();">Connect to service</button>
+    </div>
+  </article>
+
+  <footer>
+    <p>&copy; 2013 Samsung. All rights reserved.</p>
+  </footer>    
+</body>
+</html>
diff --git a/mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/js/main.js b/mobile/tct-deprecatedapi-tizen-tests/tct-bt-helper/js/main.js
new file mode 100755 (executable)
index 0000000..89d08bf
--- /dev/null
@@ -0,0 +1,137 @@
+/*
+
+Copyright (c) 2013 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:
+
+
+
+*/
+
+var serviceHandler = null;
+
+function discoverDevicesError() {
+    alert("Error discoverDevices");
+}
+
+function setPoweredError() {
+    alert("Error setPowered");
+}
+
+function startDiscoveryDevice() {
+    var length, k;
+    alert("searching - it's gona take about 10 seconds");
+    var discoverDevicesSuccessCallback = {
+            onstarted: function() {
+            },
+            ondevicefound: function(device) {
+            },
+            ondevicedisappeared: function(address) {
+            },
+            onfinished: function(devices) {
+                length = devices.length;
+                document.getElementById("devicesList").options.length = 0;
+                for (k = 0; k < length; k++) {
+                    document.getElementById("devicesList").options[k] = new Option(devices[k].address + " - " + devices[k].name, devices[k].address);
+                }
+                alert("search completed");
+            }
+        };
+    adapter.discoverDevices(discoverDevicesSuccessCallback, discoverDevicesError);
+}
+
+function registerServiceSuccessCallback(handler) {
+    serviceHandler = handler;
+    handler.onconnect = function(socket) {
+        var textmsg = "Test", sendtextmsg = [], length, i;
+        length = textmsg.length;
+        for (i = 0; i < length; i++) {
+            sendtextmsg[i] = textmsg.charCodeAt(i);
+        }
+        socket.writeData(sendtextmsg);
+    }
+    alert("service registered");
+}
+
+function registerServiceError() {
+    alert("Error registerService");
+}
+
+function startRegisterService() {
+    adapter.registerRFCOMMServiceByUUID(document.getElementById("serviceTxt").value,"Chat service",registerServiceSuccessCallback,registerServiceError);
+}
+
+function discover() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    adapter.setPowered(true, startDiscoveryDevice, setPoweredError)
+}
+
+function registerService() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    adapter.setPowered(true,startRegisterService,setPoweredError);
+}
+
+function unregisterServiceSuccessCallback() {
+    chatServiceHandler = null;
+    alert("Service is unregistered.");
+}
+
+function unregisterServiceError() {
+    alert("Error unregisterService");
+}
+
+function unregisterService() {
+    if (serviceHandler != null) {
+         serviceHandler.unregister(unregisterServiceSuccessCallback,unregisterServiceError);
+    }
+}
+
+function createBondingError() {
+    alert("Error createBonding");
+}
+
+function getDeviceError() {
+    alert("Error getDevice");
+}
+
+function connectError() {
+    alert("Error connectToServiceByUUID");
+}
+
+function connectCallback(device) {
+    if (device != null && device.uuids.indexOf(document.getElementById("serviceTxt").value) !== -1) {
+        // open socket
+            device.connectToServiceByUUID(document.getElementById("serviceTxt").value, function() {
+                alert("connected");
+            },connectError);
+    } else {
+        alert("device UUID is null");
+    }
+}
+
+function getDeviceCallback() {
+    adapter.getDevice(document.getElementById("devicesList").value, connectCallback, getDeviceError);
+}
+
+function createBondingCallback() {
+    adapter.createBonding(document.getElementById("devicesList").value, getDeviceCallback, createBondingError);
+}
+
+function connectService() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    adapter.setPowered(true, createBondingCallback, setPoweredError);
+}
index ded8b46b9c9110412ea1a288444c8217efa751e0..c1462e438aca631eabc444f2d44347294fa5d6e1 100644 (file)
         </specs>
       </testcase>
     </set>
+    <set name="deprecatedapi_bluetooth" type="js">
+      <capabilities>
+        <capability name="http://tizen.org/feature/network.bluetooth"/>
+      </capabilities>
+      <capabilities>
+        <capability name="http://tizen.org/feature/network.bluetooth.health"/>
+      </capabilities>
+      <testcase purpose="Check with non-optional arguments getBluetoothProfileHandler(valid_profileType)" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothAdapter_getBluetoothProfileHandler">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothAdapter_getBluetoothProfileHandler.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothAdapter" element_type="method" element_name="getBluetoothProfileHandler" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if getBluetoothProfileHandler method exists" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothAdapter_getBluetoothProfileHandler_exist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothAdapter_getBluetoothProfileHandler_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothAdapter" element_type="method" element_name="getBluetoothProfileHandler" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothAdapter::getBluetoothProfileHandler() method with miss argument." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothAdapter_getBluetoothProfileHandler_misarg">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothAdapter_getBluetoothProfileHandler_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothAdapter" element_type="method" element_name="getBluetoothProfileHandler" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothAdapter::getBluetoothProfileHandler() method called with invalid profileType argument throws an exception" type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothAdapter_getBluetoothProfileHandler_profileType_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothAdapter_getBluetoothProfileHandler_profileType_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothAdapter" element_type="method" element_name="getBluetoothProfileHandler" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if is possible to call BluetoothHealthApplicationSuccessCallback in new expresion" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P3" id="BluetoothHealthApplicationSuccessCallback_notexist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplicationSuccessCallback_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplicationSuccessCallback" usage="true" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthApplicationSuccessCallback callback is called with propriety arguments" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthApplicationSuccessCallback_onsuccess">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplicationSuccessCallback_onsuccess.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplicationSuccessCallback" element_type="method" element_name="onsuccess" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Test whether the dataType unsigned short exist in BluetoothHealthApplication has default value and its readonly" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthApplication_dataType_attribute">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_dataType_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="attribute" element_name="dataType" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Test whether the object BluetoothHealthApplication can have new properties added it" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P3" id="BluetoothHealthApplication_extend">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" usage="true" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Test whether the name string exist in BluetoothHealthApplication has default value and its readonly" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_name_attribute">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_name_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="attribute" element_name="name" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if is possible to call BluetoothHealthApplication in new expresion" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P3" id="BluetoothHealthApplication_notexist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" usage="true" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Test whether the onconnect in BluetoothHealthApplication has default value and it's writable" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_onconnect_attribute">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_onconnect_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="attribute" element_name="onconnect" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check unregister with non optional arguments" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_unregister">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="method" element_name="unregister" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if error callback of unregister method invoked" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_unregister_callback_onerror">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_callback_onerror.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="method" element_name="unregister" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check whether unregiste() method of the BluetoothHealthApplication called with invalid errorCallback argument throws an exception" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_unregister_errorCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_errorCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="method" element_name="unregister" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument unregister() errorCallback validation" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_unregister_errorCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_errorCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="method" element_name="unregister" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if unregister method exists in BluetoothHealthApplication" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_unregister_exist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="method" element_name="unregister" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check whether unregister() method called with invalid successCallback throws an exception" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_unregister_successCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_successCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="method" element_name="unregister" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument unregister() successCallback validation" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_unregister_successCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_successCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="method" element_name="unregister" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check unregister with successCallback and errorCallback" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_unregister_with_errorCallback">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_with_errorCallback.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="method" element_name="unregister" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check unregister with successCallback" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_unregister_with_successCallback">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_with_successCallback.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="method" element_name="unregister" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if is possible to call BluetoothHealthChannelChangeCallback in new expresion" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P3" id="BluetoothHealthChannelChangeCallback_notexist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannelChangeCallback_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannelChangeCallback" usage="true" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannelChangeCallback::onMessage() method callback is called with propriety arguments." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannelChangeCallback_onMessage">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannelChangeCallback_onMessage.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannelChangeCallback" element_type="method" element_name="onMessage" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if is possible to call BluetoothHealthChannelSuccessCallback in new expresion" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P3" id="BluetoothHealthChannelSuccessCallback_notexist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannelSuccessCallback_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannelSuccessCallback" usage="true" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthChannelSuccessCallback::onsuccess." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannelSuccessCallback_onsuccess">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannelSuccessCallback_onsuccess.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannelSuccessCallback" element_type="method" element_name="onsuccess" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel:attribute application legal." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannel_application_attribute">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_application_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="attribute" element_name="application" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel:attribute channelType legal." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannel_channelType_attribute">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_channelType_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="attribute" element_name="channelType" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthChannel::close() method with typeMismatch param." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P0" id="BluetoothHealthChannel_close_exist">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_close_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="close" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel:whether the object can have new properties added for BluetoothHealthChannel" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="manual" priority="P3" id="BluetoothHealthChannel_extend">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" usage="true" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel:attribute isConnected legal." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannel_isConnected_attribute">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_isConnected_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="attribute" element_name="isConnected" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if is possible to call BluetoothHealthChannel in new expresion" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P3" id="BluetoothHealthChannel_notexist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" usage="true" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel:attribute peer legal." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannel_peer_attribute">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_peer_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="attribute" element_name="peer" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthChannel::sendData() method" type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannel_sendData">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_sendData.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="sendData" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthChannel::sendData() method with typeMismatch param." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannel_sendData_data_TypeMismatch">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_sendData_data_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="sendData" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel::sendData() method with invalid param." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P0" id="BluetoothHealthChannel_sendData_exist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_sendData_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="sendData" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel::sendData() method miss argument" type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthChannel_sendData_misarg">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_sendData_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="sendData" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel::setListener() method work property" type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannel_setListener">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_setListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="setListener" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel::setListener() method is exist" type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P0" id="BluetoothHealthChannel_setListener_exist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_setListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="setListener" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel::unsetListener() method work property" type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannel_unsetListener">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_unsetListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="unsetListener" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if method close of unsetListener accepts extra argument" type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthChannel_unsetListener_extra_argument">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_unsetListener_extra_argument.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="unsetListener" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthChannel::setListener() method with typeMismatch listener." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthChannel_setListener_listener_TypeMismatch">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_setListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="setListener" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel::setListener() method without argument." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthChannel_setListener_misarg">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_setListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="setListener" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel::unsetListener method with invalid param." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P0" id="BluetoothHealthChannel_unsetListener_exist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_unsetListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="unsetListener" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthProfileHandler::connectToSource() method with all params." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthProfileHandler::connectToSource with mismatch application." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource_application_TypeMismatch">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_application_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthProfileHandler::exception is thrown when connectToSource is called with a type-mismatch errorCallback." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource_errorCallback_TypeMismatch">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_errorCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthProfileHandler::connectToSource() method error callback is invoked when connectToSource is called." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource_errorCallback_invoked">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_errorCallback_invoked.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if connectToSource method exists" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource_exist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthProfileHandler::connectToSource() method with invalid object." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource_invalid_obj">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_invalid_obj.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check connectToSource with missing non-optional argument" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource_missarg">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_missarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthProfileHandler::connectToSource with mismatch type." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource_peer_TypeMismatch">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_peer_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthProfileHandler::connectToSource with invalid success callback." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource_succCallback_invalid_cb">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_succCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthProfileHandler::connectToSource() method exception is thrown called with a type-mismatch successCallback." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource_successCallback_TypeMismatch">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_successCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthProfileHandler::connectToSource() method without error callback." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthProfileHandler_connectToSource_with_succCallback">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_with_succCallback.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Test whether the object BluetoothHealthProfileHandler can have new properties added it" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P3" id="BluetoothHealthProfileHandler_extend">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" usage="true" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if is possible to call BluetoothHealthProfileHandler in new expresion" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P3" id="BluetoothHealthProfileHandler_notexist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" usage="true" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check with non optional arguments registerSinkApplication" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthProfileHandler_registerSinkApplication">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="registerSinkApplication" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if error callback of registerSinkApplication method invoked" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthProfileHandler_registerSinkApplication_callback_error">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_callback_error.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="registerSinkApplication" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check whether registerSinkApplication() method called with invalid errorCallback argument throws an exception" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="registerSinkApplication" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument registerSinkApplication() errorCallback validation" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="registerSinkApplication" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if registerSinkApplication method exists" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_registerSinkApplication_exist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="registerSinkApplication" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check registerSinkApplication with missing non-optional argument" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_registerSinkApplication_missarg">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_missarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="registerSinkApplication" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check whether registerSinkApplication() method called with invalid successCallback argument throws an exception" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_registerSinkApplication_successCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="registerSinkApplication" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument registerSinkApplication() successCallback validation" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_registerSinkApplication_successCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="registerSinkApplication" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check registerSinkApplication with valid optional arguments" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthProfileHandler_registerSinkApplication_with_errorCallback">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_with_errorCallback.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="registerSinkApplication" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothSocket::writeData() method exception is thrown when called with a invalid param." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothSocket_writeData_data_TypeMismatch">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothSocket_writeData_data_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothSocket" element_type="method" element_name="writeData" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+    </set>
   </suite>
 </test_definition>
index 9a15743354329f18a0ca606f125dae507a53ad75..1de1a23d5805aafba962cf6a9520d93d3e79dfe4 100644 (file)
             </description>
          </testcase>
     </set>
-      <set name="deprecatedapi_Filesystem_camera">
-         <capabilities>
-            <capability name="http://tizen.org/feature/camera.back"/>
-         </capabilities>
-         <testcase purpose="Check if you can create a new file in Camera, copy it into Downloads, then request removing it" component="TizenAPI/IO/Filesystem" execution_type="auto" id="File_deleteFile_copyFile_camera" priority="P1">
-            <description>
-               <test_script_entry>/opt/tct-deprecatedapi-tizen-tests/deprecatedapi/File_deleteFile_copyFile_camera.html</test_script_entry>
-            </description>
-         </testcase>
-         <testcase purpose="Check if FileSystemManager::resolve() method works for camera virtual root" component="TizenAPI/IO/Filesystem" execution_type="auto" id="FileSystemManager_resolve_camera" priority="P2">
-            <description>
-               <test_script_entry>/opt/tct-deprecatedapi-tizen-tests/deprecatedapi/FileSystemManager_resolve_camera.html</test_script_entry>
-            </description>
-         </testcase>
-         <testcase purpose="Check if File::createDirectory() creates a new directory in Camera and File::deleteDirectory() removes it" component="TizenAPI/IO/Filesystem" execution_type="auto" id="File_deleteDirectory_createDir_camera" priority="P1">
-            <description>
-               <test_script_entry>/opt/tct-deprecatedapi-tizen-tests/deprecatedapi/File_deleteDirectory_createDir_camera.html</test_script_entry>
-            </description>
-         </testcase>
-      </set>
+    <set name="deprecatedapi_Filesystem_camera">
+      <capabilities>
+        <capability name="http://tizen.org/feature/camera.back"/>
+      </capabilities>
+      <testcase purpose="Check if you can create a new file in Camera, copy it into Downloads, then request removing it" component="TizenAPI/IO/Filesystem" execution_type="auto" id="File_deleteFile_copyFile_camera" priority="P1">
+        <description>
+          <test_script_entry>/opt/tct-deprecatedapi-tizen-tests/deprecatedapi/File_deleteFile_copyFile_camera.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if FileSystemManager::resolve() method works for camera virtual root" component="TizenAPI/IO/Filesystem" execution_type="auto" id="FileSystemManager_resolve_camera" priority="P2">
+        <description>
+          <test_script_entry>/opt/tct-deprecatedapi-tizen-tests/deprecatedapi/FileSystemManager_resolve_camera.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if File::createDirectory() creates a new directory in Camera and File::deleteDirectory() removes it" component="TizenAPI/IO/Filesystem" execution_type="auto" id="File_deleteDirectory_createDir_camera" priority="P1">
+        <description>
+          <test_script_entry>/opt/tct-deprecatedapi-tizen-tests/deprecatedapi/File_deleteDirectory_createDir_camera.html</test_script_entry>
+        </description>
+      </testcase>
+    </set>
+    <set name="deprecatedapi_bluetooth" type="js">
+      <capabilities>
+        <capability name="http://tizen.org/feature/profile"><value>MOBILE_FULL</value></capability>
+        <capability name="http://tizen.org/feature/network.bluetooth"/>
+        <capability name="http://tizen.org/feature/network.bluetooth.health"/>
+      </capabilities>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothProfileHandler_extend" priority="P3" purpose="Test whether the object can have new properties added for BluetoothProfileHandler">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothProfileHandler_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothProfileHandler_notexist" priority="P3" purpose="Check if is possible to call BluetoothProfileHandler in new expresion">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothProfileHandler_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothProfileHandler_profileType_attribute" priority="P1" purpose="Check if profileType attribute exists in BluetoothProfileHandler">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothProfileHandler_profileType_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothAdapter_getBluetoothProfileHandler" priority="P1" purpose="Check with non-optional arguments getBluetoothProfileHandler(valid_profileType)">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothAdapter_getBluetoothProfileHandler.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothAdapter_getBluetoothProfileHandler_exist" priority="P2" purpose="Check if getBluetoothProfileHandler method exists">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothAdapter_getBluetoothProfileHandler_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplicationSuccessCallback_notexist" priority="P3" purpose="Check if is possible to call BluetoothHealthApplicationSuccessCallback in new expresion">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplicationSuccessCallback_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplicationSuccessCallback_onsuccess" onload_delay="180" priority="P1" purpose="Check if BluetoothHealthApplicationSuccessCallback callback is called with propriety arguments">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplicationSuccessCallback_onsuccess.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_dataType_attribute" onload_delay="180" priority="P1" purpose="Test whether the dataType unsigned short exist in BluetoothHealthApplication has default value and its readonly">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_dataType_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_extend" onload_delay="180" priority="P3" purpose="Test whether the object BluetoothHealthApplication can have new properties added it">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_name_attribute" onload_delay="180" priority="P2" purpose="Test whether the name string exist in BluetoothHealthApplication has default value and its readonly">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_name_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_notexist" priority="P3" purpose="Check if is possible to call BluetoothHealthApplication in new expresion">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_onconnect_attribute" onload_delay="180" priority="P2" purpose="Test whether the onconnect in BluetoothHealthApplication has default value and it's writable">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_onconnect_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_unregister" onload_delay="180" priority="P2" purpose="Check unregister with non optional arguments">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_unregister_callback_onerror" onload_delay="180" priority="P2" purpose="Check if error callback of unregister method invoked">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_callback_onerror.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_unregister_errorCallback_TypeMismatch" onload_delay="180" priority="P2" purpose="Check whether unregiste() method of the BluetoothHealthApplication called with invalid errorCallback argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_errorCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_unregister_errorCallback_invalid_cb" onload_delay="180" priority="P2" purpose="Check argument unregister() errorCallback validation">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_errorCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_unregister_exist" onload_delay="180" priority="P2" purpose="Check if unregister method exists in BluetoothHealthApplication">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_unregister_successCallback_TypeMismatch" onload_delay="180" priority="P2" purpose="Check whether unregister() method called with invalid successCallback throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_successCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_unregister_successCallback_invalid_cb" onload_delay="180" priority="P2" purpose="Check argument unregister() successCallback validation">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_successCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_unregister_with_errorCallback" onload_delay="180" priority="P2" purpose="Check unregister with successCallback and errorCallback">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_with_errorCallback.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_unregister_with_successCallback" onload_delay="180" priority="P2" purpose="Check unregister with successCallback">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_with_successCallback.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannelChangeCallback_notexist" priority="P3" purpose="Check if is possible to call BluetoothHealthChannelChangeCallback in new expresion">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannelChangeCallback_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannelChangeCallback_onMessage" onload_delay="60" priority="P1" purpose="Check if BluetoothHealthChannelChangeCallback::onMessage() method callback is called with propriety arguments.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannelChangeCallback_onMessage.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannelSuccessCallback_notexist" priority="P3" purpose="Check if is possible to call BluetoothHealthChannelSuccessCallback in new expresion">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannelSuccessCallback_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannelSuccessCallback_onsuccess" onload_delay="60" priority="P1" purpose="Check BluetoothHealthChannelSuccessCallback::onsuccess.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannelSuccessCallback_onsuccess.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_application_attribute" onload_delay="60" priority="P1" purpose="Check if BluetoothHealthChannel:attribute application legal.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_application_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_channelType_attribute" onload_delay="60" priority="P1" purpose="Check if BluetoothHealthChannel:attribute channelType legal.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_channelType_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_close_exist" onload_delay="60" priority="P0" purpose="Check BluetoothHealthChannel::close() method with typeMismatch param.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_close_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="manual" id="BluetoothHealthChannel_extend" priority="P3" purpose="Check if BluetoothHealthChannel:whether the object can have new properties added for BluetoothHealthChannel">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_isConnected_attribute" onload_delay="60" priority="P1" purpose="Check if BluetoothHealthChannel:attribute isConnected legal.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_isConnected_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_notexist" priority="P3" purpose="Check if is possible to call BluetoothHealthChannel in new expresion">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_peer_attribute" onload_delay="60" priority="P1" purpose="Check if BluetoothHealthChannel:attribute peer legal.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_peer_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_sendData" onload_delay="60" priority="P1" purpose="Check BluetoothHealthChannel::sendData() method">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_sendData.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_sendData_data_TypeMismatch" onload_delay="60" priority="P1" purpose="Check BluetoothHealthChannel::sendData() method with typeMismatch param.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_sendData_data_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_sendData_exist" onload_delay="60" priority="P0" purpose="Check if BluetoothHealthChannel::sendData() method with invalid param.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_sendData_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_sendData_misarg" onload_delay="60" priority="P2" purpose="Check if BluetoothHealthChannel::sendData() method miss argument">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_sendData_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_setListener" onload_delay="60" priority="P1" purpose="Check if BluetoothHealthChannel::setListener() method work property">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_setListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_setListener_exist" onload_delay="60" priority="P0" purpose="Check if BluetoothHealthChannel::setListener() method is exist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_setListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_unsetListener" onload_delay="60" priority="P1" purpose="Check if BluetoothHealthChannel::unsetListener() method work property">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_unsetListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_unsetListener_extra_argument" onload_delay="60" priority="P1" purpose="Check if method close of unsetListener accepts extra argument">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_unsetListener_extra_argument.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_setListener_listener_TypeMismatch" onload_delay="60" priority="P2" purpose="Check BluetoothHealthChannel::setListener() method with typeMismatch listener.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_setListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_setListener_misarg" onload_delay="60" priority="P2" purpose="Check if BluetoothHealthChannel::setListener() method without argument.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_setListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_unsetListener_exist" onload_delay="60" priority="P0" purpose="Check if BluetoothHealthChannel::unsetListener method with invalid param.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_unsetListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource" onload_delay="60" priority="P2" purpose="Check BluetoothHealthProfileHandler::connectToSource() method with all params.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_application_TypeMismatch" onload_delay="60" priority="P2" purpose="Check BluetoothHealthProfileHandler::connectToSource with mismatch application.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_application_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_errorCallback_TypeMismatch" onload_delay="60" priority="P2" purpose="Check BluetoothHealthProfileHandler::exception is thrown when connectToSource is called with a type-mismatch errorCallback.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_errorCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_errorCallback_invoked" onload_delay="60" priority="P2" purpose="Check BluetoothHealthProfileHandler::connectToSource() method error callback is invoked when connectToSource is called.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_errorCallback_invoked.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_exist" priority="P2" purpose="Check if connectToSource method exists">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_invalid_obj" onload_delay="60" priority="P2" purpose="Check BluetoothHealthProfileHandler::connectToSource() method with invalid object.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_invalid_obj.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_missarg" priority="P2" purpose="Check connectToSource with missing non-optional argument">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_missarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_peer_TypeMismatch" onload_delay="60" priority="P2" purpose="Check BluetoothHealthProfileHandler::connectToSource with mismatch type.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_peer_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_succCallback_invalid_cb" onload_delay="60" priority="P2" purpose="Check if BluetoothHealthProfileHandler::connectToSource with invalid success callback.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_succCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_successCallback_TypeMismatch" onload_delay="60" priority="P2" purpose="Check BluetoothHealthProfileHandler::connectToSource() method exception is thrown called with a type-mismatch successCallback.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_successCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_with_succCallback" onload_delay="60" priority="P1" purpose="Check BluetoothHealthProfileHandler::connectToSource() method without error callback.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_with_succCallback.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_extend" priority="P3" purpose="Test whether the object BluetoothHealthProfileHandler can have new properties added it">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_notexist" priority="P3" purpose="Check if is possible to call BluetoothHealthProfileHandler in new expresion">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_registerSinkApplication" onload_delay="180" priority="P1" purpose="Check with non optional arguments registerSinkApplication">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_registerSinkApplication_callback_error" onload_delay="180" priority="P1" purpose="Check if error callback of registerSinkApplication method invoked">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_callback_error.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_TypeMismatch" onload_delay="180" priority="P2" purpose="Check whether registerSinkApplication() method called with invalid errorCallback argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_invalid_cb" onload_delay="180" priority="P2" purpose="Check argument registerSinkApplication() errorCallback validation">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_registerSinkApplication_exist" priority="P2" purpose="Check if registerSinkApplication method exists">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_registerSinkApplication_missarg" priority="P2" purpose="Check registerSinkApplication with missing non-optional argument">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_missarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_registerSinkApplication_successCallback_TypeMismatch" onload_delay="180" priority="P2" purpose="Check whether registerSinkApplication() method called with invalid successCallback argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_registerSinkApplication_successCallback_invalid_cb" onload_delay="180" priority="P2" purpose="Check argument registerSinkApplication() successCallback validation">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_registerSinkApplication_with_errorCallback" onload_delay="180" priority="P1" purpose="Check registerSinkApplication with valid optional arguments">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_with_errorCallback.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothAdapter_getBluetoothProfileHandler_profileType_TypeMismatch" onload_delay="60" priority="P2" purpose="Check if BluetoothAdapter::getBluetoothProfileHandler() method called with invalid profileType argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothAdapter_getBluetoothProfileHandler_profileType_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothAdapter_getBluetoothProfileHandler_misarg" onload_delay="60" priority="P2" purpose="Check if BluetoothAdapter::getBluetoothProfileHandler() method with miss argument.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothAdapter_getBluetoothProfileHandler_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+    </set>
   </suite>
 </test_definition>
index ba53d920857d5fb72d7df5cb9678d75dbe0fa004..c66a158d8377b244a8ee368053ce26a51b18b879 100755 (executable)
@@ -3,6 +3,7 @@
   <name>tct-deprecatedapi-tizen-tests</name>
   <tizen:privilege name="http://tizen.org/privilege/filesystem.read"/>
   <tizen:privilege name="http://tizen.org/privilege/filesystem.write"/>
+  <tizen:privilege name="http://tizen.org/privilege/bluetooth"/>
   <tizen:privilege name="http://tizen.org/privilege/externalstorage"/>
   <tizen:privilege name="http://tizen.org/privilege/mediastorage"/>
   <icon src="icon.png" height="117" width="117"/>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler.html
new file mode 100755 (executable)
index 0000000..3238f43
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothAdapter_getBluetoothProfileHandler</title>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothAdapter_getBluetoothProfileHandler
+//==== LABEL Check with non-optional arguments getBluetoothProfileHandler(valid_profileType)
+//==== PRIORITY P1
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothAdapter:getBluetoothProfileHandler M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MMINA MR
+
+var adapter, healthProfileHandler, profileType = "HEALTH";
+test(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler(profileType);
+
+    assert_equals(healthProfileHandler.profileType, profileType, "healthProfileHandler profileType has wrong value or type");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler_exist.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler_exist.html
new file mode 100755 (executable)
index 0000000..df95e26
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothAdapter_getBluetoothProfileHandler_exist</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothAdapter_getBluetoothProfileHandler_exist
+//==== LABEL Check if getBluetoothProfileHandler method exists
+//==== PRIORITY P2
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothAdapter:getBluetoothProfileHandler M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA ME
+
+var adapter;
+test(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    assert_true("getBluetoothProfileHandler" in adapter, "Method getBluetoothProfileHandler does not exist in bluetooth adapter.");
+    check_method_exists(adapter, "getBluetoothProfileHandler");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler_misarg.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler_misarg.html
new file mode 100755 (executable)
index 0000000..8e9bb92
--- /dev/null
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Xun Guo <xun.guo@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothAdapter_getBluetoothProfileHandler_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothAdapter_getBluetoothProfileHandler_misarg
+//==== LABEL Check if BluetoothAdapter::getBluetoothProfileHandler() method with miss argument.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothAdapter:getBluetoothProfileHandler M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MMA
+
+setup({timeout: 60000});
+
+var adapter;
+
+test(function() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function() {
+        adapter.getBluetoothProfileHandler();
+    }, "should throw exception.");
+}, document.title);
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler_profileType_TypeMismatch.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothAdapter_getBluetoothProfileHandler_profileType_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..f189e49
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothAdapter_getBluetoothProfileHandler_profileType_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothAdapter_getBluetoothProfileHandler_profileType_TypeMismatch
+//==== LABEL Check if BluetoothAdapter::getBluetoothProfileHandler() method called with invalid profileType argument throws an exception
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothAdapter:getBluetoothProfileHandler M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MC
+
+setup({timeout: 60000});
+
+var t = async_test(document.title), adapter, conversionTable, param, exceptionName, i;
+
+t.step(function() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    conversionTable = getTypeConversionExceptions("object", true);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        param = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({
+            name: exceptionName
+        }, function() {
+            adapter.getBluetoothProfileHandler(param);
+        }, exceptionName + "Given incorrect param.");
+    }
+    t.done();
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplicationSuccessCallback_notexist.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplicationSuccessCallback_notexist.html
new file mode 100755 (executable)
index 0000000..9f688ec
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplicationSuccessCallback_notexist</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplicationSuccessCallback_notexist
+//==== LABEL Check if is possible to call BluetoothHealthApplicationSuccessCallback in new expresion
+//==== PRIORITY P3
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplicationSuccessCallback:BluetoothHealthApplicationSuccessCallback U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA CBNIO
+test(function () {
+    check_no_interface_object("BluetoothHealthApplicationSuccessCallback");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplicationSuccessCallback_onsuccess.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplicationSuccessCallback_onsuccess.html
new file mode 100755 (executable)
index 0000000..4a41b62
--- /dev/null
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+
+<html>
+<head>
+<title>BluetoothHealthApplicationSuccessCallback_onsuccess</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplicationSuccessCallback_onsuccess
+//==== LABEL Check if BluetoothHealthApplicationSuccessCallback callback is called with propriety arguments
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplicationSuccessCallback:onsuccess M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA CBT CBOA
+
+setup({timeout: 180000, explicit_done:true});
+
+var adapter, t = async_test(document.title, {timeout: 180000}), healthProfileHandler,
+    powerOnSuccess, healthRegisterSuccess;
+t.step(function () {
+
+    healthRegisterSuccess = t.step_func(function (app) {
+        setBluetoothHandlerCleanup(app);
+        assert_type(app, "object", "argument app has wrong type");
+
+        assert_true("dataType" in app, "no dataType attribute in BluetoothHealthApplication");
+        assert_type(app.dataType, "unsigned short", "dataType of BluetoothHealthApplication has wrong type");
+
+        assert_true("name" in app, "no name attribute in BluetoothHealthApplication");
+        assert_type(app.name, "string", "name of BluetoothHealthApplication has wrong type");
+
+        assert_true("onconnect" in app, "no onconnect attribute in BluetoothHealthApplication");
+        assert_equals(app.onconnect, null, "onconnect attribute of BluetoothHealthApplication has wrong value");
+
+        t.done();
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(4100, "testSinkApp", healthRegisterSuccess);
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_dataType_attribute.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_dataType_attribute.html
new file mode 100755 (executable)
index 0000000..c44f5b7
--- /dev/null
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_dataType_attribute</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_dataType_attribute
+//==== LABEL Test whether the dataType unsigned short exist in BluetoothHealthApplication has default value and its readonly
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:dataType A
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA AE AT ARO
+
+setup({timeout:180000, explicit_done:true});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp";
+
+t.step(function () {
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    healthRegisterSuccess = t.step_func(function (healthApp) {
+        setBluetoothHandlerCleanup(healthApp);
+        assert_equals(healthApp.dataType, REMOTE_HEALTH_DEVICE_TYPE, "dataType in BluetoothHealthApplication has wrong value");
+        assert_type(healthApp.dataType, "unsigned short", "dataType in BluetoothHealthApplication has wrong type");
+
+        healthApp.dataType = 4103;
+        assert_equals(healthApp.dataType, REMOTE_HEALTH_DEVICE_TYPE, "dataType in BluetoothHealthApplication is writable");
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_extend.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_extend.html
new file mode 100755 (executable)
index 0000000..ef679f4
--- /dev/null
@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_extend</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_extend
+//==== LABEL Test whether the object BluetoothHealthApplication can have new properties added it
+//==== PRIORITY P3
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:BluetoothHealthApplication U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA OBX
+
+setup({timeout:180000, explicit_done:true});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000});
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    healthRegisterSuccess = t.step_func(function (healthApp) {
+        setBluetoothHandlerCleanup(healthApp);
+        check_extensibility(healthApp);
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, "testSinkApp", healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_name_attribute.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_name_attribute.html
new file mode 100755 (executable)
index 0000000..b2802de
--- /dev/null
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_name_attribute</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_name_attribute
+//==== LABEL Test whether the name string exist in BluetoothHealthApplication has default value and its readonly
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:name A
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA AE AT ARO
+
+setup({timeout:180000, explicit_done:true});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp";
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    healthRegisterSuccess = t.step_func(function (healthApp) {
+        setBluetoothHandlerCleanup(healthApp);
+        assert_equals(healthApp.name, appName, "name in BluetoothHealthApplication has wrong value");
+        assert_type(healthApp.name, "string", "name in BluetoothHealthApplication has wrong type");
+
+        healthApp.name = "testName";
+        assert_equals(healthApp.name, appName, "name in BluetoothHealthApplication is writable");
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_notexist.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_notexist.html
new file mode 100755 (executable)
index 0000000..f9bba6d
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_notexist</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_notexist
+//==== LABEL Check if is possible to call BluetoothHealthApplication in new expresion
+//==== PRIORITY P3
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:BluetoothHealthApplication U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA NIO
+test(function () {
+    check_no_interface_object("BluetoothHealthApplication");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_onconnect_attribute.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_onconnect_attribute.html
new file mode 100755 (executable)
index 0000000..432a1e6
--- /dev/null
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_onconnect_attribute</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_onconnect_attribute
+//==== LABEL Test whether the onconnect in BluetoothHealthApplication has default value and it's writable
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:onconnect A
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA AE ADV ASG AT
+
+setup({timeout:180000, explicit_done:true});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError, testOnconnect,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp";
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    healthRegisterSuccess = t.step_func(function (healthApp) {
+        setBluetoothHandlerCleanup(healthApp);
+        assert_equals(healthApp.onconnect, null, "onconnect in BluetoothHealthApplication has wrong default value");
+
+        testOnconnect = function () {};
+        healthApp.onconnect = testOnconnect;
+        assert_equals(healthApp.onconnect, testOnconnect, "onconnect in BluetoothHealthApplication is not writable");
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister.html
new file mode 100755 (executable)
index 0000000..2e47855
--- /dev/null
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_unregister</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_unregister
+//==== LABEL Check unregister with non optional arguments
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:unregister M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MMINA MR
+
+setup({timeout:180000, explicit_done:true});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp", retValue = null;
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    healthRegisterSuccess = t.step_func(function (registerHealthApp) {
+        setBluetoothHandlerCleanup(registerHealthApp);
+        retValue = registerHealthApp.unregister();
+
+        assert_equals(retValue, undefined, "unregister returns wrong value");
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_callback_onerror.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_callback_onerror.html
new file mode 100755 (executable)
index 0000000..33f958e
--- /dev/null
@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_unregister_callback_onerror</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_unregister_callback_onerror
+//==== LABEL Check if error callback of unregister method invoked
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:unregister M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MERRCB
+
+setup({timeout: 180000});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}),
+    appName = "testSinkApp", errorCallback, successCallback, registerHealthAppCp, powerOffSuccess,
+    successCallback;
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    errorCallback = t.step_func(function (error) {
+        assert_equals(error.name, "ServiceNotAvailableError", "expected another error");
+
+        t.done();
+    });
+
+    successCallback = t.step_func(function () {
+        assert_unreached("invalid successCallback invoked");
+    });
+
+    powerOffSuccess = t.step_func(function () {
+        registerHealthAppCp.unregister(successCallback, errorCallback);
+    });
+
+    healthRegisterSuccess = t.step_func(function (registerHealthApp) {
+        registerHealthAppCp = registerHealthApp;
+        setUnpowered(t, adapter, powerOffSuccess);
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_errorCallback_TypeMismatch.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_errorCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..0ab2b89
--- /dev/null
@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_unregister_errorCallback_TypeMismatch</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_unregister_errorCallback_TypeMismatch
+//==== LABEL Check whether unregiste() method of the BluetoothHealthApplication called with invalid errorCallback argument throws an exception
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:unregister M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MC
+
+setup({timeout:180000, explicit_done:true});
+var adapter, healthProfileHandler, powerOnSuccess , healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp",
+    errorCallback, exceptionName, i, conversionTable = getTypeConversionExceptions("functionObject", true), successCallback;
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    successCallback = t.step_func(function () {
+        assert_unreached("Method unregister shouldn't end successfully.");
+    });
+
+    healthRegisterSuccess = t.step_func(function (registerHealthApp) {
+        setBluetoothHandlerCleanup(registerHealthApp);
+        for(i = 0; i < conversionTable.length; i++) {
+            errorCallback = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+
+            assert_throws({name: exceptionName},
+                function () {
+                    registerHealthApp.unregister(successCallback, errorCallback);
+                }, "Given incorrect errorCallback.");
+        }
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_errorCallback_invalid_cb.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_errorCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..053ae1b
--- /dev/null
@@ -0,0 +1,84 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_unregister_errorCallback_invalid_cb</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_unregister_errorCallback_invalid_cb
+//==== LABEL Check argument unregister() errorCallback validation
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:unregister M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MTCB
+
+setup({timeout:180000, explicit_done:true});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp",
+    incorrectCallback, exceptionName = "TypeMismatchError", successCallback;
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    incorrectCallback = {
+        onerror: t.step_func(function (error) {
+            assert_unreached("Invalid successCallback invoked: " + error.name + ": " + error.message);
+        })
+    };
+
+    successCallback = t.step_func(function () {
+        assert_unreached("Method unregister shouldn't end successfully.");
+    });
+
+    healthRegisterSuccess = t.step_func(function (registerHealthApp) {
+        setBluetoothHandlerCleanup(registerHealthApp);
+        assert_throws({name: exceptionName},
+            function () {
+                registerHealthApp.unregister(successCallback, incorrectCallback);
+            }, "Given incorrect errorCallback.");
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_exist.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_exist.html
new file mode 100755 (executable)
index 0000000..8554771
--- /dev/null
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_unregister_exist</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_unregister_exist
+//==== LABEL Check if unregister method exists in BluetoothHealthApplication
+//==== PRIORITY P0
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:unregister M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA ME
+
+setup({timeout:180000, explicit_done:true});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp";
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    healthRegisterSuccess = t.step_func(function (healthApp) {
+        setBluetoothHandlerCleanup(healthApp);
+        assert_true("unregister" in  healthApp, "Method unregister does not exist in BluetoothHealthApplication.");
+        check_method_exists(healthApp, "unregister");
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_successCallback_TypeMismatch.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_successCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..327492f
--- /dev/null
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_unregister_successCallback_TypeMismatch</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_unregister_successCallback_TypeMismatch
+//==== LABEL Check whether unregister() method called with invalid successCallback throws an exception
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:unregister M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MC
+
+setup({timeout:180000, explicit_done:true});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp",
+    successCallback, exceptionName, i, conversionTable = getTypeConversionExceptions("functionObject", true);
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    healthRegisterSuccess = t.step_func(function (registerHealthApp) {
+        setBluetoothHandlerCleanup(registerHealthApp);
+        for(i = 0; i < conversionTable.length; i++) {
+            successCallback = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+
+            assert_throws({name: exceptionName},
+                function () {
+                    registerHealthApp.unregister(successCallback);
+                }, "Given incorrect successCallback.");
+        }
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_successCallback_invalid_cb.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_successCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..2d4a2b6
--- /dev/null
@@ -0,0 +1,81 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_unregister_successCallback_invalid_cb</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_unregister_successCallback_invalid_cb
+//==== LABEL Check argument unregister() successCallback validation
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:unregister M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MTCB
+
+setup({timeout: 180000});
+var adapter, healthProfileHandler, powerOnSuccess , healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp",
+    incorrectCallback, exceptionName = "TypeMismatchError";
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    incorrectCallback = {
+        onsuccess: t.step_func(function (error) {
+            assert_unreached("Invalid successCallback invoked: " + error.name + ": " + error.message);
+        })
+    };
+
+    healthRegisterSuccess = t.step_func(function (registerHealthApp) {
+        assert_throws({name: exceptionName},
+            function () {
+                registerHealthApp.unregister(incorrectCallback);
+            }, "Given incorrect successCallback.");
+
+        registerHealthApp.unregister();
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_with_errorCallback.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_with_errorCallback.html
new file mode 100755 (executable)
index 0000000..1cb4ce5
--- /dev/null
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_unregister_with_errorCallback</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_unregister_with_errorCallback
+//==== LABEL Check unregister with successCallback and errorCallback
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:unregister M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MOA MAST
+
+setup({timeout: 180000});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp",
+    successCallback, errorCallback;
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    successCallback = t.step_func(function () {
+        t.done();
+    });
+
+    errorCallback = t.step_func(function (e) {
+        assert_unreached("unregister error:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function (registerHealthApp) {
+        registerHealthApp.unregister(successCallback, errorCallback);
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_with_successCallback.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthApplication_unregister_with_successCallback.html
new file mode 100755 (executable)
index 0000000..0fb64a5
--- /dev/null
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthApplication_unregister_with_successCallback</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthApplication_unregister_with_successCallback
+//==== LABEL Check unregister with successCallback
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthApplication:unregister M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MOA MAST
+
+setup({timeout: 180000});
+var adapter, healthProfileHandler, powerOnSuccess, healthRegisterSuccess, healthRegisterError,
+    t = async_test(document.title, {timeout: 180000}), appName = "testSinkApp",
+    successCallback;
+
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+
+    successCallback = t.step_func(function () {
+        t.done();
+    });
+
+    healthRegisterSuccess = t.step_func(function (registerHealthApp) {
+        registerHealthApp.unregister(successCallback);
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(REMOTE_HEALTH_DEVICE_TYPE, appName, healthRegisterSuccess, healthRegisterError);
+    });
+
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelChangeCallback_notexist.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelChangeCallback_notexist.html
new file mode 100755 (executable)
index 0000000..3e595de
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannelChangeCallback_notexist</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthChannelChangeCallback_notexist
+//==== LABEL Check if is possible to call BluetoothHealthChannelChangeCallback in new expresion
+//==== PRIORITY P3
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannelChangeCallback:BluetoothHealthChannelChangeCallback U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA CBNIO
+test(function () {
+    check_no_interface_object("BluetoothHealthChannelChangeCallback");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelChangeCallback_onMessage.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelChangeCallback_onMessage.html
new file mode 100755 (executable)
index 0000000..13b7f19
--- /dev/null
@@ -0,0 +1,104 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan<jingbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannelChangeCallback_onMessage</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannelChangeCallback_onMessage
+//==== LABEL Check if BluetoothHealthChannelChangeCallback::onMessage() method callback is called with propriety arguments.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannelChangeCallback:onMessage M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA CBT CBOA
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler,
+    bluetoothDevice, channelCallback, powerOnSuccess, onRegisterSucc, onRegisterError, onGetDeviceSucc,
+    onGetDeviceError, onHealthConnectSucc, onHealthConnectError;
+
+t.step(function() {
+    channelCallback = {
+        onmessage: t.step_func(function(data) {
+            assert_not_equals(data, null, "data should not be null");
+            assert_not_equals(data, undefined, "data should not be undefined");
+            assert_type(data, "array", "data isn't array");
+            t.done();
+        }),
+        onclose: t.step_func(function() {
+        })
+    };
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        channel.setListener(channelCallback);
+        channel.sendData(dataToSend);
+    });
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("connectToSource has error" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(bluetoothDevice, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelSuccessCallback_notexist.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelSuccessCallback_notexist.html
new file mode 100755 (executable)
index 0000000..c47c403
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannelSuccessCallback_notexist</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthChannelSuccessCallback_notexist
+//==== LABEL Check if is possible to call BluetoothHealthChannelSuccessCallback in new expresion
+//==== PRIORITY P3
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannelSuccessCallback:BluetoothHealthChannelSuccessCallback U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA CBNIO
+test(function () {
+    check_no_interface_object("BluetoothHealthChannelSuccessCallback");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelSuccessCallback_onsuccess.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannelSuccessCallback_onsuccess.html
new file mode 100755 (executable)
index 0000000..f6bd7a4
--- /dev/null
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannelSuccessCallback_onsuccess</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannelSuccessCallback_onsuccess
+//==== LABEL Check BluetoothHealthChannelSuccessCallback::onsuccess.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannelSuccessCallback:onsuccess M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA CBT CBOA
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler, bluetoothDevice, conversionTable,
+    exceptionName, powerOnSuccess, onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError, onHealthConnectSucc, onHealthConnectError;
+
+t.step(function() {
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        assert_not_equals(channel, undefined, "channel should not be empty");
+        assert_type(channel, "object", "channel should be object");
+
+        t.done();
+    });
+
+    onHealthConnectError = t.step_func(function (err) {
+        assert_unreached("connectToSource error");
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        healthProfileHandler.connectToSource(device, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("onGetDeviceError:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_application_attribute.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_application_attribute.html
new file mode 100755 (executable)
index 0000000..b1843d4
--- /dev/null
@@ -0,0 +1,93 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan <jinbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_application_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_application_attribute
+//==== LABEL Check if BluetoothHealthChannel:attribute application legal.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:application A
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA AE AT ARO
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp,
+    healthProfileHandler, powerOnSuccess, onRegisterSucc, onRegisterError,
+    onGetDeviceSucc, onGetDeviceError, healthConnectSuccess, healthConnectError;
+
+t.step(function() {
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        check_readonly(channel, "application", channel.application, "BluetoothHealthApplication", registerHealthApp);
+        t.done();
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        try {
+            healthProfileHandler.connectToSource(device, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_channelType_attribute.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_channelType_attribute.html
new file mode 100755 (executable)
index 0000000..dc576d9
--- /dev/null
@@ -0,0 +1,94 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan <jinbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_channelType_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_channelType_attribute
+//==== LABEL Check if BluetoothHealthChannel:attribute channelType legal.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:channelType A
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA AE AT ARO
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp,
+    healthProfileHandler, bluetoothDevice, powerOnSuccess, onRegisterSucc, onRegisterError,
+    onGetDeviceSucc, onGetDeviceError, healthConnectSuccess, healthConnectError;
+
+t.step(function() {
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        check_readonly(channel, "channelType", channel.channelType, "String", "RELIABLE");
+        t.done();
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(device, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_close_exist.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_close_exist.html
new file mode 100755 (executable)
index 0000000..15f019a
--- /dev/null
@@ -0,0 +1,94 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan<jingbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_close_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_close_exist
+//==== LABEL Check BluetoothHealthChannel::close() method with typeMismatch param.
+//==== PRIORITY P0
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:close M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA ME
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), i, registerHealthApp, healthProfileHandler,
+    bluetoothDevice, powerOnSuccess, onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError,
+    onHealthConnectSucc, onHealthConnectError;
+
+t.step(function() {
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        check_method_exists(channel, "close");
+        t.done();
+    });
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("connectToSource has error" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(bluetoothDevice, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_extend.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_extend.html
new file mode 100755 (executable)
index 0000000..ed49357
--- /dev/null
@@ -0,0 +1,85 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_extend
+//==== LABEL Check if BluetoothHealthChannel:whether the object can have new properties added for BluetoothHealthChannel
+//==== PRIORITY P3
+//==== EXECUTION_TYPE manual
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:BluetoothHealthChannel U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA OBX
+
+setup({timeout: 60000})
+var t = async_test(document.title, {timeout: 60000}), connectToSourceSuccess, connectToSourceError,
+    healthRegisterSuccess, healthRegisterError, onDeviceInfo, onError, pairDevice,
+    powerOnSuccess, healthProfileHandler;
+
+t.step(function() {
+    alert("The remote device MUST register the service by pushing [Register service] button on tct-bt-helper firstly.");
+
+    connectToSourceSuccess = t.step_func(function(channel) {
+        //  setBluetoothHandlerCleanup(channel);
+        check_extensibility(channel);
+        t.done();
+    });
+
+    connectToSourceError = t.step_func(function(e) {
+        assert_unreached("connectToSourceError error:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function (app) {
+        healthProfileHandler.connectToSource(pairDevice, app, connectToSourceSuccess, connectToSourceError);
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("healthRegisterError: " + e.message);
+    });
+
+    onDeviceInfo = t.step_func(function(device) {
+        pairDevice = device;
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(4100, "testSinkApp", healthRegisterSuccess, healthRegisterError);
+    });
+
+    onError = t.step_func(function (e){
+        assert_unreached("createBonding error: " + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onDeviceInfo, onError);
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered(t, adapter, powerOnSuccess);
+});
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_isConnected_attribute.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_isConnected_attribute.html
new file mode 100755 (executable)
index 0000000..ed8a848
--- /dev/null
@@ -0,0 +1,94 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan <jinbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_isConnected_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_isConnected_attribute
+//==== LABEL Check if BluetoothHealthChannel:attribute isConnected legal.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:isConnected A
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA AE AT ARO
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler,
+    bluetoothDevice, powerOnSuccess, onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError,
+    healthConnectSuccess, healthConnectError;
+
+t.step(function() {
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        check_readonly(channel, "isConnected", channel.isConnected, "boolean", !(channel.isConnected));
+        t.done();
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(device, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_notexist.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_notexist.html
new file mode 100755 (executable)
index 0000000..bf8979a
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Piotr Szydelko <p.szydelko@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_notexist</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthChannel_notexist
+//==== LABEL Check if is possible to call BluetoothHealthChannel in new expresion
+//==== PRIORITY P3
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:BluetoothHealthChannel U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA NIO
+test(function () {
+    check_no_interface_object("BluetoothHealthChannel");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_peer_attribute.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_peer_attribute.html
new file mode 100755 (executable)
index 0000000..941fec5
--- /dev/null
@@ -0,0 +1,95 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan <jinbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_peer_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_peer_attribute
+//==== LABEL Check if BluetoothHealthChannel:attribute peer legal.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:peer A
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA AE AT ARO
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler,
+    bluetoothDevice, powerOnSuccess,onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError,
+    healthConnectSuccess, healthConnectError;
+
+t.step(function() {
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        check_bluetooth_device(channel.peer);
+        check_readonly(channel, "peer", channel.peer, "BluetoothDevice", bluetoothDevice);
+        t.done();
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(device, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData.html
new file mode 100755 (executable)
index 0000000..d998948
--- /dev/null
@@ -0,0 +1,102 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan<jingbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_sendData</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_sendData
+//==== LABEL Check BluetoothHealthChannel::sendData() method
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:sendData M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MAST MR
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp,
+    healthProfileHandler, bluetoothDevice, powerOnSuccess, onRegisterSucc, onRegisterError,
+    onGetDeviceSucc, onGetDeviceError, onHealthConnectSucc, onHealthConnectError;
+
+t.step(function() {
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        try {
+            var sendDataLength = channel.sendData(dataToSend);
+            if (sendDataLength == 4) {
+                t.done();
+            } else {
+                assert_unreached("fail");
+            }
+        } catch(e) {
+            assert_unreached("sendData has error: " + e.message);
+        }
+    });
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("connectToSource has error" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(bluetoothDevice, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData_data_TypeMismatch.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData_data_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..4e75bdc
--- /dev/null
@@ -0,0 +1,104 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan<jingbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_sendData_data_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_sendData_data_TypeMismatch
+//==== LABEL Check BluetoothHealthChannel::sendData() method with typeMismatch param.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel::sendData M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MC
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler,
+    bluetoothDevice, conversionTable, typMismatchData, exceptionName, powerOnSuccess, onRegisterSucc, i,
+    onRegisterError, onGetDeviceSucc, onGetDeviceError, onHealthConnectSucc, onHealthConnectError;
+
+t.step(function() {
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        conversionTable = getTypeConversionExceptions("Object", false);
+        for(i = 0; i < conversionTable.length; i++) {
+            typMismatchData = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+
+            assert_throws({name: exceptionName},
+                function () {
+                    channel.sendData(typMismatchData);
+                }, exceptionName + "Given incorrect data to send.");
+        }
+        channel.close();
+        t.done();
+    });
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("connectToSource has error" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(bluetoothDevice, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData_exist.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData_exist.html
new file mode 100755 (executable)
index 0000000..9c81c25
--- /dev/null
@@ -0,0 +1,106 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_sendData_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_sendData_exist
+//==== LABEL Check if BluetoothHealthChannel::sendData() method with invalid param.
+//==== PRIORITY P0
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:sendData M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA ME
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthDevice,
+    healthProfileHandler, healthConnectSuccess, healthConnectError, getDeviceInfo, getDeviceError,
+    healthRegisterSuccess, healthRegisterError, onPowered, onPoweredError;
+
+t.step(function() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    try {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    } catch(e) {
+        assert_unreached("getBluetoothProfileHandler has error: " + e.message);
+        return;
+    }
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        check_method_exists(channel, "sendData");
+        t.done();
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    getDeviceInfo = t.step_func(function(device) {
+        healthDevice = device;
+        try {
+            healthProfileHandler.connectToSource(healthDevice, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    getDeviceError = t.step_func(function(e) {
+        assert_unreached("getDeviceError:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, getDeviceInfo, getDeviceError);
+    });
+
+    healthRegisterError = t.step_func(function(e) {
+        assert_unreached("healthRegisterError should not be invoked");
+    });
+
+    onPowered = t.step_func(function() {
+        try {
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, healthRegisterSuccess, healthRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    onPoweredError = t.step_func(function(e) {
+        assert_unreached("setPowered exception:" + e.message);
+    });
+
+    try {
+        setPowered(t, adapter, onPowered);
+    } catch(e) {
+        assert_unreached("setPowered exception:" + e.message);
+    }
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData_misarg.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_sendData_misarg.html
new file mode 100755 (executable)
index 0000000..26b3c5c
--- /dev/null
@@ -0,0 +1,104 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_sendData_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_sendData_misarg
+//==== LABEL Check if BluetoothHealthChannel::sendData() method miss argument
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:sendData M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MMA
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthDevice,
+    healthProfileHandler, healthConnectSuccess, healthConnectError, getDeviceInfo, getDeviceError,
+    healthRegisterSuccess, healthRegisterError, onPowered, onPoweredError;
+
+t.step(function() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    try {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    } catch(e) {
+        assert_unreached("getBluetoothProfileHandler has error: " + e.message);
+        return;
+    }
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        assert_throws(TYPE_MISMATCH_EXCEPTION, function() {
+            channel.sendData();
+        }, "Should throw type mismatch exception");
+        t.done();
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    getDeviceInfo = t.step_func(function(device) {
+        healthDevice = device;
+        try {
+            healthProfileHandler.connectToSource(healthDevice, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    getDeviceError = t.step_func(function(e) {
+        assert_unreached("getDeviceError:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, getDeviceInfo, getDeviceError);
+    });
+
+    healthRegisterError = t.step_func(function(e) {
+        assert_unreached("healthRegisterError should not be invoked");
+    });
+
+    onPowered = t.step_func(function() {
+        try {
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, healthRegisterSuccess, healthRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    try {        
+        setPowered (t, adapter, onPowered);
+    } catch(e) {
+        assert_unreached("setPowered exception:" + e.message);
+    }
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener.html
new file mode 100755 (executable)
index 0000000..951db35
--- /dev/null
@@ -0,0 +1,109 @@
+<!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:
+        Lei Tang <lei312.tang@samsung.com>
+
+-->
+
+<html>
+<head>
+<title>BluetoothHealthChannel_setListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_setListener
+//==== LABEL Check if BluetoothHealthChannel::setListener() method work property.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:setListener M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MR
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthDevice,
+    healthProfileHandler, healthConnectSuccess, healthConnectError, getDeviceInfo, getDeviceError,
+    healthRegisterSuccess, healthRegisterError, onPowered, returnvalue= null, channelCallback;
+
+t.step(function() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    try {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    } catch(e) {
+        assert_unreached("getBluetoothProfileHandler has error: " + e.message);
+        return;
+    }
+
+    channelCallback = {
+        onmessage: t.step_func(function(data) {
+            assert_equals(returnvalue, undefined, "setListener returns wrong value");
+            t.done();
+        },
+        onclose: t.step_func(function() {}
+    };
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        returnvalue = channel.setListener(channelCallback);
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    getDeviceInfo = t.step_func(function(device) {
+        healthDevice = device;
+        try {
+            healthProfileHandler.connectToSource(healthDevice, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    getDeviceError = t.step_func(function(e) {
+        assert_unreached("getDeviceError:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, getDeviceInfo, getDeviceError);
+    });
+
+    healthRegisterError = t.step_func(function(e) {
+        assert_unreached("healthRegisterError should not be invoked");
+    });
+
+    onPowered = t.step_func(function() {
+        try {
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, healthRegisterSuccess, healthRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+    try {
+        setPowered(t, adapter, onPowered);
+    } catch(e) {
+        assert_unreached("setPowered exception:" + e.message);
+    }
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener_exist.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener_exist.html
new file mode 100755 (executable)
index 0000000..7058fbd
--- /dev/null
@@ -0,0 +1,102 @@
+<!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:
+        Lei Tang <lei312.tang@samsung.com>
+
+-->
+
+<html>
+<head>
+<title>BluetoothHealthChannel_setListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_setListener_exist
+//==== LABEL Check if BluetoothHealthChannel::setListener() method is exist.
+//==== PRIORITY P0
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:setListener M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA ME
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthDevice,
+    healthProfileHandler, healthConnectSuccess, healthConnectError, getDeviceInfo, getDeviceError,
+    healthRegisterSuccess, healthRegisterError, onPowered;
+
+t.step(function() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    try {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    } catch(e) {
+        assert_unreached("getBluetoothProfileHandler has error: " + e.message);
+        return;
+    }
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        check_method_exists(channel, "setListener");
+        t.done();
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    getDeviceInfo = t.step_func(function(device) {
+        healthDevice = device;
+        try {
+            healthProfileHandler.connectToSource(healthDevice, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    getDeviceError = t.step_func(function(e) {
+        assert_unreached("getDeviceError:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, getDeviceInfo, getDeviceError);
+    });
+
+    healthRegisterError = t.step_func(function(e) {
+        assert_unreached("healthRegisterError should not be invoked");
+    });
+
+    onPowered = t.step_func(function() {
+        try {
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, healthRegisterSuccess, healthRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+    try {
+        setPowered(t, adapter, onPowered);
+    } catch(e) {
+        assert_unreached("setPowered exception:" + e.message);
+    }
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener_listener_TypeMismatch.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener_listener_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..4ed1682
--- /dev/null
@@ -0,0 +1,104 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan<jingbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_setListener_listener_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_setListener_listener_TypeMismatch
+//==== LABEL Check BluetoothHealthChannel::setListener() method with typeMismatch listener.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:setListener M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MC
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, i, healthProfileHandler,
+    bluetoothDevice, conversionTable, typMismatchListener, exceptionName, powerOnSuccess, onRegisterSucc,
+    onRegisterError, onGetDeviceSucc, onGetDeviceError, onHealthConnectSucc, onHealthConnectError;
+
+t.step(function() {
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        conversionTable = getTypeConversionExceptions("Object", false);
+        for(i = 0; i < conversionTable.length; i++) {
+            typMismatchListener = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+
+            assert_throws({name: exceptionName},
+                function () {
+                    channel.setListener(typMismatchListener);
+                }, exceptionName + "Given incorrect listener.");
+        }
+        channel.close();
+        t.done();
+    });
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("connectToSource has error" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(bluetoothDevice, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener_misarg.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_setListener_misarg.html
new file mode 100755 (executable)
index 0000000..c61be16
--- /dev/null
@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_setListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_setListener_misarg
+//==== LABEL Check if BluetoothHealthChannel::setListener() method without argument.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:setListener M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MMA
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthDevice,
+    healthProfileHandler, healthConnectSuccess, healthConnectError, getDeviceInfo, getDeviceError,
+    healthRegisterSuccess, healthRegisterError, onPowered, onPoweredError;
+
+t.step(function() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    try {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    } catch(e) {
+        assert_unreached("getBluetoothProfileHandler has error: " + e.message);
+        return;
+    }
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        assert_throws(TYPE_MISMATCH_EXCEPTION, function() {
+            channel.setListener();
+        }, "Should throw type mismatch exception");
+        t.done();
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    getDeviceInfo = t.step_func(function(device) {
+        healthDevice = device;
+        try {
+            healthProfileHandler.connectToSource(healthDevice, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    getDeviceError = t.step_func(function(e) {
+        assert_unreached("getDeviceError:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, getDeviceInfo, getDeviceError);
+    });
+
+    healthRegisterError = t.step_func(function(e) {
+        assert_unreached("healthRegisterError should not be invoked");
+    });
+
+    onPowered = t.step_func(function() {
+        try {
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, healthRegisterSuccess, healthRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+    try {
+        setPowered(t, adapter, onPowered);
+    } catch(e) {
+        assert_unreached("setPowered exception:" + e.message);
+    }
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_unsetListener.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_unsetListener.html
new file mode 100755 (executable)
index 0000000..ae3d7ba
--- /dev/null
@@ -0,0 +1,111 @@
+<!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:
+        Lei Tang <lei312.tang@samsung.com>
+
+-->
+
+<html>
+<head>
+<title>BluetoothHealthChannel_unsetListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_unsetListener
+//==== LABEL Check if BluetoothHealthChannel::unsetListener() method work property.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:unsetListener M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MR
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthDevice,
+    healthProfileHandler, healthConnectSuccess, healthConnectError, getDeviceInfo, getDeviceError, connectedChannel,
+    healthRegisterSuccess, healthRegisterError, onPowered, returnvalue= null, channelCallback;
+
+t.step(function() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    try {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    } catch(e) {
+        assert_unreached("getBluetoothProfileHandler has error: " + e.message);
+        return;
+    }
+
+    channelCallback = {
+        onmessage: t.step_func(function(data) {
+            returnvalue = connectedChannel.unsetListener();
+            assert_equals(returnvalue, undefined, "unsetListener returns wrong value");
+            t.done();
+        },
+        onclose: t.step_func(function() {}
+    };
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        connectedChannel = channel;
+        connectedChannel.setListener(channelCallback);
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    getDeviceInfo = t.step_func(function(device) {
+        healthDevice = device;
+        try {
+            healthProfileHandler.connectToSource(healthDevice, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    getDeviceError = t.step_func(function(e) {
+        assert_unreached("getDeviceError:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, getDeviceInfo, getDeviceError);
+    });
+
+    healthRegisterError = t.step_func(function(e) {
+        assert_unreached("healthRegisterError should not be invoked");
+    });
+
+    onPowered = t.step_func(function() {
+        try {
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, healthRegisterSuccess, healthRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+    try {
+        setPowered(t, adapter, onPowered);
+    } catch(e) {
+        assert_unreached("setPowered exception:" + e.message);
+    }
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_unsetListener_exist.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_unsetListener_exist.html
new file mode 100755 (executable)
index 0000000..76e0a73
--- /dev/null
@@ -0,0 +1,116 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthChannel_unsetListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_unsetListener_exist
+//==== LABEL Check if BluetoothHealthChannel::unsetListener method with invalid param.
+//==== PRIORITY P0
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:unsetListener M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA ME
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthDevice,
+    channelCallback, healthConnectSuccess, healthConnectError, getDeviceInfo, getDeviceError,
+    healthRegisterSuccess, healthRegisterError, onPoweredError, onPowered, healthProfileHandler;
+
+t.step(function() {
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    try {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    } catch (e) {
+        assert_unreached("getBluetoothProfileHandler has error: " + e.message);
+        return;
+    }
+
+    channelCallback = {
+        onmessage: t.step_func(function(data) {
+            assert_unreached("onmessage should not be invoked");
+        }),
+        onclose: t.step_func(function() {
+            assert_unreached("onclose should not be invoked");
+        })
+    };
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        check_method_exists(channel, "unsetListener");
+        t.done();
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    getDeviceInfo = t.step_func(function(device) {
+        healthDevice = device;
+        try {
+            healthProfileHandler.connectToSource(healthDevice, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch (e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    getDeviceError = t.step_func(function(e) {
+        assert_unreached("getDeviceError:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, getDeviceInfo, getDeviceError);
+    });
+
+    healthRegisterError = t.step_func(function(e) {
+        assert_unreached("healthRegisterError should not be invoked");
+    });
+
+    onPowered = t.step_func(function() {
+        try {
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, healthRegisterSuccess, healthRegisterError);
+        } catch (e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    onPoweredError = t.step_func(function(e) {
+        assert_unreached("setPowered exception:" + e.message);
+    });
+
+    try {
+        setPowered (t, adapter, onPowered);
+    } catch (e) {
+        assert_unreached("setPowered exception:" + e.message);
+    }
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_unsetListener_extra_argument.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthChannel_unsetListener_extra_argument.html
new file mode 100755 (executable)
index 0000000..b7f32cc
--- /dev/null
@@ -0,0 +1,110 @@
+<!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:
+        Lei Tang <lei312.tang@samsung.com>
+
+-->
+
+<html>
+<head>
+<title>BluetoothHealthChannel_unsetListener_extra_argument</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthChannel_unsetListener_extra_argument
+//==== LABEL Check if method close of unsetListener accepts extra argument
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthChannel:unsetListener M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MNAEX
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthDevice,
+    healthProfileHandler, healthConnectSuccess, healthConnectError, getDeviceInfo, getDeviceError, connectedChannel,
+    healthRegisterSuccess, healthRegisterError, onPowered, returnvalue= null, channelCallback;
+
+t.step(function() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    try {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    } catch(e) {
+        assert_unreached("getBluetoothProfileHandler has error: " + e.message);
+        return;
+    }
+
+    channelCallback = {
+        onmessage: t.step_func(function(data) {
+            checkExtraArgument(connectedChannel, "unsetListener");
+            t.done();
+        },
+        onclose: t.step_func(function() {}
+    };
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        connectedChannel = channel;
+        connectedChannel.setListener(channelCallback);
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        assert_unreached("healthConnectError should not be invoked:" + e.message);
+    });
+
+    getDeviceInfo = t.step_func(function(device) {
+        healthDevice = device;
+        try {
+            healthProfileHandler.connectToSource(healthDevice, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    getDeviceError = t.step_func(function(e) {
+        assert_unreached("getDeviceError:" + e.message);
+    });
+
+    healthRegisterSuccess = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, getDeviceInfo, getDeviceError);
+    });
+
+    healthRegisterError = t.step_func(function(e) {
+        assert_unreached("healthRegisterError should not be invoked");
+    });
+
+    onPowered = t.step_func(function() {
+        try {
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, healthRegisterSuccess, healthRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+    try {
+        setPowered(t, adapter, onPowered);
+    } catch(e) {
+        assert_unreached("setPowered exception:" + e.message);
+    }
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource.html
new file mode 100755 (executable)
index 0000000..530ea4d
--- /dev/null
@@ -0,0 +1,94 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan<jingbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthProfileHandler_connectToSource
+//==== LABEL Check BluetoothHealthProfileHandler::connectToSource() method with all params.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MOA MR
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler, bluetoothDevice,
+    powerOnSuccess, onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError, onHealthConnectSucc, onHealthConnectError, ret;
+
+t.step(function() {
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        assert_equals(channel.peer.name, bluetoothDevice.name, "name should be equals.");
+        t.done();
+    });
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("connectToSource has error" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            ret = healthProfileHandler.connectToSource(bluetoothDevice, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+            assert_equals(ret, undefined, "connectToSource should return void");
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_application_TypeMismatch.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_application_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..5dd6c88
--- /dev/null
@@ -0,0 +1,98 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan<jingbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_application_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthProfileHandler_connectToSource_application_TypeMismatch
+//==== LABEL Check BluetoothHealthProfileHandler::connectToSource with mismatch application.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MC
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler, bluetoothDevice, conversionTable, incorrectPeerDevice,
+    i, invalidApp, exceptionName, powerOnSuccess, onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError, onHealthConnectSucc, onHealthConnectError;
+
+t.step(function() {
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        assert_unreached("should not be success");
+    });
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("should not be involked:" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        conversionTable = getTypeConversionExceptions("object", false);
+        for(i = 0; i < conversionTable.length; i++) {
+            invalidApp = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+
+            assert_throws({name: exceptionName},
+                function () {
+                    healthProfileHandler.connectToSource(device, invalidApp, onHealthConnectSucc, onHealthConnectError);
+                }, exceptionName + "Given incorrect application.");
+        }
+        t.done();
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_errorCallback_TypeMismatch.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_errorCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..ad1f1e0
--- /dev/null
@@ -0,0 +1,95 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_errorCallback_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthProfileHandler_connectToSource_errorCallback_TypeMismatch
+//==== LABEL Check BluetoothHealthProfileHandler::exception is thrown when connectToSource is called with a type-mismatch errorCallback.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MC
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler,
+    bluetoothDevice, conversionTable, exceptionName, powerOnSuccess, onRegisterSucc, onRegisterError,
+    onGetDeviceSucc, onGetDeviceError, onHealthConnectSucc, onHealthConnectError, i;
+
+t.step(function() {
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        assert_unreached("should not be success");
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        conversionTable = getTypeConversionExceptions("functionObject", true);
+        for(i = 0; i < conversionTable.length; i++) {
+            onHealthConnectError = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+
+            assert_throws({name: exceptionName},
+                function () {
+                    healthProfileHandler.connectToSource(bluetoothDevice, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+                }, exceptionName + "Given incorrect onHealthConnectError.");
+        }
+        t.done();
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("onGetDeviceError:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_errorCallback_invoked.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_errorCallback_invoked.html
new file mode 100755 (executable)
index 0000000..31f940b
--- /dev/null
@@ -0,0 +1,93 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_errorCallback_invoked</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthProfileHandler_connectToSource_errorCallback_invoked
+//==== LABEL Check BluetoothHealthProfileHandler::connectToSource() method error callback is invoked when connectToSource is called.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MERRCB
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler, bluetoothDevice,
+    powerOnSuccess, onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError, healthConnectSuccess, healthConnectError;
+
+t.step(function() {
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        assert_unreached("should not be success");
+    });
+
+    healthConnectError = t.step_func(function(e) {
+        checkErrType(0, "InvalidValuesError", e, "should throw InvalidValuesError");
+        t.done();
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(device, registerHealthApp, healthConnectSuccess, healthConnectError);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("onGetDeviceError:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, "com.tizen.test.health", onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_exist.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_exist.html
new file mode 100755 (executable)
index 0000000..0e0bd7c
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_exist</title>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_connectToSource_exist
+//==== LABEL Check if connectToSource method exists
+//==== PRIORITY P0
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA ME
+
+var adapter, healthProfileHandler;
+test(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+
+    assert_true("connectToSource" in  healthProfileHandler, "Method connectToSource does not exist in bluetooth adapter.");
+    check_method_exists(healthProfileHandler, "connectToSource");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_invalid_obj.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_invalid_obj.html
new file mode 100755 (executable)
index 0000000..ad74d90
--- /dev/null
@@ -0,0 +1,96 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_invalid_obj</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthProfileHandler_connectToSource_invalid_obj
+//==== LABEL Check BluetoothHealthProfileHandler::connectToSource() method with invalid object.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices.
+//==== TEST_CRITERIA MTO
+
+setup({timeout: 60000});
+
+var t = async_test(document.title, {timeout: 60000}), powerOnSuccess, onRegisterSucc, illegalHealthApp, onHealthConnectSucc, onHealthConnectError,
+    adapter, healthProfileHandler, registerHealthApp, onRegisterError, onGetDeviceSucc, onGetDeviceError;
+
+t.step(function () {
+
+    illegalHealthApp = {
+        'dataType': 4100,
+        'name': "com.tizen.test.health"
+    };
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        assert_unreached("onHealthConnectSucc should not be invoked.");
+    });
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("connectToSource has error" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+            healthProfileHandler.connectToSource(device, illegalHealthApp, onHealthConnectSucc, onHealthConnectError);
+        }, "should throw exception");
+
+        t.done();
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_missarg.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_missarg.html
new file mode 100755 (executable)
index 0000000..28eed91
--- /dev/null
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_missarg</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_connectToSource_missarg
+//==== LABEL Check connectToSource with missing non-optional argument
+//==== PRIORITY P2
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MMA
+
+var adapter, healthProfileHandler;
+test(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    assert_throws ({name:"TypeMismatchError"},
+        function () {
+            healthProfileHandler.connectToSource();
+        }, "Method with non optional argument.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_peer_TypeMismatch.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_peer_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..aeb6cb5
--- /dev/null
@@ -0,0 +1,98 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Jingbiao Nan<jingbiao.nan@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_peer_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthProfileHandler_connectToSource_peer_TypeMismatch
+//==== LABEL Check BluetoothHealthProfileHandler::connectToSource with mismatch type.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MC
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler, bluetoothDevice, conversionTable, incorrectPeerDevice,
+    exceptionName, powerOnSuccess, onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError, onHealthConnectSucc, onHealthConnectError, i;
+
+t.step(function() {
+
+    onHealthConnectSucc = t.step_func(function(channel) {
+        assert_unreached("should not be success");
+    });
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("should not be involked:" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        conversionTable = getTypeConversionExceptions("object", true);
+        for(i = 0; i < conversionTable.length; i++) {
+            incorrectPeerDevice = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+
+            assert_throws({name: exceptionName},
+                function () {
+                    healthProfileHandler.connectToSource(incorrectPeerDevice, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+                }, exceptionName + "Given incorrect application.");
+        }
+        t.done();
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_succCallback_invalid_cb.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_succCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..b52a415
--- /dev/null
@@ -0,0 +1,89 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_succCallback_invalid_cb</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthProfileHandler_connectToSource_succCallback_invalid_cb
+//==== LABEL Check if BluetoothHealthProfileHandler::connectToSource with invalid success callback.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices.
+//==== TEST_CRITERIA MTCB
+
+setup({timeout: 60000});
+
+var t = async_test(document.title, {timeout: 60000}), powerOnSuccess, onRegisterSucc, onRegisterError,
+    adapter, onGetDeviceSucc, onGetDeviceError, onConnectSucc, onConnectError, healthProfileHandler, healthApp;
+
+t.step(function() {
+
+    onConnectSucc = {
+        'onsuccess': t.step_func(function(channel) {
+            assert_unreached("should not be success");
+        })
+    };
+
+    onConnectError = t.step_func(function(err) {
+        assert_unreached("onConnectError error: " + err.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        assert_throws(TYPE_MISMATCH_EXCEPTION, function() {
+            healthProfileHandler.connectToSource(device, healthApp, onConnectSucc, onConnectError);
+        }, "should throw exception");
+        t.done();
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        healthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(err) {
+        assert_unreached("registerSinkApplication error: " + err.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(4100, testSinkApp,
+            onRegisterSucc, onRegisterError);
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_successCallback_TypeMismatch.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_successCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..72e65aa
--- /dev/null
@@ -0,0 +1,95 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_successCallback_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthProfileHandler_connectToSource_successCallback_TypeMismatch
+//==== LABEL Check BluetoothHealthProfileHandler::connectToSource() method exception is thrown called with a type-mismatch successCallback.
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MC
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, i,
+    healthProfileHandler, bluetoothDevice, conversionTable, exceptionName, powerOnSuccess,
+    onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError, onHealthConnectSucc, onHealthConnectError;
+
+t.step(function() {
+
+    onHealthConnectError = t.step_func(function(e) {
+        assert_unreached("should not be invoked:" + e.message);
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        conversionTable = getTypeConversionExceptions("functionObject", true);
+        for(i = 0; i < conversionTable.length; i++) {
+            onHealthConnectSucc = conversionTable[i][0];
+            exceptionName = conversionTable[i][1];
+
+            assert_throws({name: exceptionName},
+                function () {
+                    healthProfileHandler.connectToSource(bluetoothDevice, registerHealthApp, onHealthConnectSucc, onHealthConnectError);
+                }, exceptionName + "Given incorrect onHealthConnectSucc.");
+        }
+        t.done();
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("createBonding error:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.createBonding(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_with_succCallback.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_connectToSource_with_succCallback.html
new file mode 100755 (executable)
index 0000000..9f80a50
--- /dev/null
@@ -0,0 +1,89 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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:
+        Huimei Xiong<hm86.xiong@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_connectToSource_with_succCallback</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST:BluetoothHealthProfileHandler_connectToSource_with_succCallback
+//==== LABEL Check BluetoothHealthProfileHandler::connectToSource() method without error callback.
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 60
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:connectToSource M
+//==== SPEC_URL https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== PRE The bluetooth of the remote/test device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.
+//==== TEST_CRITERIA MMINA
+
+setup({timeout: 60000});
+
+var adapter = null, t = async_test(document.title, {timeout: 60000}), registerHealthApp, healthProfileHandler, bluetoothDevice,
+    powerOnSuccess, onRegisterSucc, onRegisterError, onGetDeviceSucc, onGetDeviceError, healthConnectSuccess;
+
+t.step(function() {
+
+    healthConnectSuccess = t.step_func(function(channel) {
+        channel.close();
+        t.done();
+    });
+
+    onGetDeviceSucc = t.step_func(function(device) {
+        bluetoothDevice = device;
+        try {
+            healthProfileHandler.connectToSource(device, registerHealthApp, healthConnectSuccess);
+        } catch(e) {
+            assert_unreached("connectToSource has error" + e.message);
+        }
+    });
+
+    onGetDeviceError = t.step_func(function(e) {
+        assert_unreached("onGetDeviceError:" + e.message);
+    });
+
+    onRegisterSucc = t.step_func(function(app) {
+        registerHealthApp = app;
+        adapter.getDevice(REMOTE_HEALTH_DEVICE_ADDRESS, onGetDeviceSucc, onGetDeviceError);
+    });
+
+    onRegisterError = t.step_func(function(e) {
+        assert_unreached("onRegisterError should not be invoked:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function() {
+        try {
+            healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+            healthProfileHandler.registerSinkApplication(4100, testSinkApp, onRegisterSucc, onRegisterError);
+        } catch(e) {
+            assert_unreached("registerSinkApplication has error: " + e.message);
+        }
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered (t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_extend.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_extend.html
new file mode 100755 (executable)
index 0000000..8a7a426
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_extend</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_extend
+//==== LABEL Test whether the object BluetoothHealthProfileHandler can have new properties added it
+//==== PRIORITY P3
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:BluetoothHealthProfileHandler U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA OBX
+var adapter, healthProfileHandler;
+test(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+
+    check_extensibility(healthProfileHandler);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_notexist.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_notexist.html
new file mode 100755 (executable)
index 0000000..b8620e4
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_notexist</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_notexist
+//==== LABEL Check if is possible to call BluetoothHealthProfileHandler in new expresion
+//==== PRIORITY P3
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:BluetoothHealthProfileHandler U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA NIO
+test(function () {
+    check_no_interface_object("BluetoothHealthProfileHandler");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication.html
new file mode 100755 (executable)
index 0000000..395a4fb
--- /dev/null
@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_registerSinkApplication</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_registerSinkApplication
+//==== LABEL Check with non optional arguments registerSinkApplication
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:registerSinkApplication M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MMINA MAST MR
+setup({timeout:180000, explicit_done:true});
+var adapter, t = async_test(document.title, {timeout: 180000}), healthProfileHandler,
+    powerOnSuccess, healthRegisterSuccess, retValue = null;
+t.step(function () {
+
+    healthRegisterSuccess = t.step_func(function (app) {
+        setBluetoothHandlerCleanup(app);
+        assert_type(app, "object", "argument app has wrong type");
+        assert_equals(retValue, undefined, "registerSinkApplication returns wrong value");
+
+        t.done();
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        retValue = healthProfileHandler.registerSinkApplication(4100, "testSinkApp", healthRegisterSuccess);
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_callback_error.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_callback_error.html
new file mode 100755 (executable)
index 0000000..0831af8
--- /dev/null
@@ -0,0 +1,69 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_registerSinkApplication_callback_error</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_registerSinkApplication_callback_error
+//==== LABEL Check if error callback of registerSinkApplication method invoked
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:registerSinkApplication M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MERRCB
+
+setup({timeout: 180000});
+
+var adapter, t = async_test(document.title, {timeout: 180000}), healthProfileHandler,
+    powerOffSuccess, healthRegisterSuccess, healthRegisterError;
+t.step(function () {
+
+    healthRegisterSuccess = t.step_func(function (app) {
+        assert_unreached("invalid successCallback invoked");
+    });
+
+    healthRegisterError = t.step_func(function (error) {
+        assert_equals(error.name, "ServiceNotAvailableError", "expected another error");
+
+        t.done();
+    });
+
+    powerOffSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(4100, "testSinkApp", healthRegisterSuccess, healthRegisterError);
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setUnpowered(t, adapter, powerOffSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_TypeMismatch.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..3a605aa
--- /dev/null
@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_TypeMismatch</title>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_TypeMismatch
+//==== LABEL Check whether registerSinkApplication() method called with invalid errorCallback argument throws an exception
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:registerSinkApplication M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MC
+
+setup({timeout: 180000});
+
+var adapter, healthProfileHandler, errorCallback, exceptionName, i, conversionTable = getTypeConversionExceptions("functionObject", true),
+    successCallback, t = async_test(document.title, {timeout: 180000});
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+
+    successCallback = t.step_func(function (app) {
+        assert_unreached("Method registerSinkApplication shouldn't end successfully.");
+    });
+
+    for(i = 0; i < conversionTable.length; i++) {
+        errorCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+
+        assert_throws({name: exceptionName},
+            function () {
+                healthProfileHandler.registerSinkApplication(4100, "testSinkApp", successCallback, errorCallback);
+            }, "Given incorrect errorCallback.");
+        t.done();
+    }
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_invalid_cb.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..6d5680b
--- /dev/null
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_invalid_cb</title>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_invalid_cb
+//==== LABEL Check argument registerSinkApplication() errorCallback validation
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:registerSinkApplication M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MTCB
+
+setup({timeout: 180000});
+
+var adapter, t = async_test(document.title, {timeout: 180000}),
+    incorrectCallback, successCallback, healthProfileHandler, exceptionName = "TypeMismatchError";
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+
+    incorrectCallback = {
+        onerror: t.step_func(function (error) {
+            assert_unreached("Invalid errorCallback invoked: " + error.name + ": " + error.message);
+        })
+    };
+
+    successCallback = t.step_func(function () {
+        assert_unreached("Method registerSinkApplication shouldn't end successfully.");
+    });
+
+    assert_throws({name: exceptionName},
+        function () {
+            healthProfileHandler.registerSinkApplication(4100, "testSinkApp", successCallback, incorrectCallback);
+        }, "Given incorrect errorCallback.");
+
+    t.done();
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_exist.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_exist.html
new file mode 100755 (executable)
index 0000000..83084e2
--- /dev/null
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_registerSinkApplication_exist</title>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_registerSinkApplication_exist
+//==== LABEL Check if registerSinkApplication method exists
+//==== PRIORITY P0
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:registerSinkApplication M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA ME
+
+var adapter, healthProfileHandler;
+test(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+
+    assert_true("registerSinkApplication" in  healthProfileHandler, "Method registerSinkApplication does not exist in bluetooth adapter.");
+
+    check_method_exists(healthProfileHandler, "registerSinkApplication");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_missarg.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_missarg.html
new file mode 100755 (executable)
index 0000000..8e83021
--- /dev/null
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_registerSinkApplication_missarg</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_registerSinkApplication_missarg
+//==== LABEL Check registerSinkApplication with missing non-optional argument
+//==== PRIORITY P2
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:registerSinkApplication M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MMA
+
+var adapter, healthProfileHandler;
+test(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+    assert_throws ({name:"TypeMismatchError"},
+        function () {
+            healthProfileHandler.registerSinkApplication();
+        }, "Method with non optional argument.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_TypeMismatch.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..65e5a65
--- /dev/null
@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_registerSinkApplication_successCallback_TypeMismatch</title>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_registerSinkApplication_successCallback_TypeMismatch
+//==== LABEL Check whether registerSinkApplication() method called with invalid successCallback argument throws an exception
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:registerSinkApplication M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MC
+
+setup({timeout: 180000});
+
+var adapter, healthProfileHandler, successCallback, exceptionName, i, conversionTable = getTypeConversionExceptions("functionObject", false),
+errorCallback, t = async_test(document.title, {timeout: 180000});
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+
+    errorCallback = t.step_func(function (e) {
+        assert_unreached("healthRegisterError - Shouldn't be here");
+    });
+
+    for(i = 0; i < conversionTable.length; i++) {
+        successCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+
+        assert_throws({name: exceptionName},
+            function () {
+                healthProfileHandler.registerSinkApplication(4100, "testSinkApp", successCallback, errorCallback);
+            }, "Given incorrect successCallback.");
+        t.done();
+    }
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_invalid_cb.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..67df2fb
--- /dev/null
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+-->
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_registerSinkApplication_successCallback_invalid_cb</title>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_registerSinkApplication_successCallback_invalid_cb
+//==== LABEL Check argument registerSinkApplication() successCallback validation
+//==== PRIORITY P2
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:registerSinkApplication M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MTCB
+
+setup({timeout: 180000});
+
+var adapter, t = async_test(document.title), exceptionName = "TypeMismatchError",
+    incorrectCallback, errorCallback, healthProfileHandler;
+t.step(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+
+    incorrectCallback = {
+        onsuccess: t.step_func(function () {
+            assert_unreached("Method registerSinkApplication shouldn't end successfully.");
+        })
+    };
+
+    errorCallback = t.step_func(function (error) {
+        assert_unreached("Invalid errorCallback invoked: " + error.name + ": " + error.message);
+    });
+
+    assert_throws({name: exceptionName},
+        function () {
+            healthProfileHandler.registerSinkApplication(4100, "testSinkApp", incorrectCallback, errorCallback);
+        }, "Given incorrect successCallback.");
+
+    t.done();
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_with_errorCallback.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothHealthProfileHandler_registerSinkApplication_with_errorCallback.html
new file mode 100755 (executable)
index 0000000..ffd1e45
--- /dev/null
@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+
+<html>
+<head>
+<title>BluetoothHealthProfileHandler_registerSinkApplication_with_errorCallback</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothHealthProfileHandler_registerSinkApplication_with_errorCallback
+//==== LABEL Check registerSinkApplication with valid optional arguments
+//==== PRIORITY P1
+//==== ONLOAD_DELAY 180
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothHealthProfileHandler:registerSinkApplication M
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA MOA MAST
+
+setup({timeout: 180000, explicit_done:true});
+
+var adapter, t = async_test(document.title, {timeout: 180000}), healthProfileHandler,
+    powerOnSuccess, healthRegisterSuccess, healthRegisterError;
+t.step(function () {
+
+    healthRegisterSuccess = t.step_func(function (app) {
+        setBluetoothHandlerCleanup(app);
+        assert_type(app, "object", "argument app has wrong type");
+
+        t.done();
+    });
+
+    healthRegisterError = t.step_func(function (e) {
+        assert_unreached("gotDeviceError exception:" + e.message);
+    });
+
+    powerOnSuccess = t.step_func(function () {
+        healthProfileHandler = adapter.getBluetoothProfileHandler("HEALTH");
+        healthProfileHandler.registerSinkApplication(4100, "testSinkApp", healthRegisterSuccess);
+    });
+
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    setPowered(t, adapter, powerOnSuccess);
+});
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothProfileHandler_extend.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothProfileHandler_extend.html
new file mode 100755 (executable)
index 0000000..6ff3566
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothProfileHandler_extend</title>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothProfileHandler_extend
+//==== LABEL Test whether the object can have new properties added for BluetoothProfileHandler
+//==== PRIORITY P3
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothProfileHandler:BluetoothProfileHandler U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA OBX
+
+var adapter, healthProfileHandler, profileType = "HEALTH";
+test(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler(profileType);
+    check_extensibility(healthProfileHandler);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothProfileHandler_notexist.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothProfileHandler_notexist.html
new file mode 100755 (executable)
index 0000000..76c52ae
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothProfileHandler_notexist</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothProfileHandler_notexist
+//==== LABEL Check if is possible to call BluetoothProfileHandler in new expresion
+//==== PRIORITY P3
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothProfileHandler:BluetoothProfileHandler U
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA NIO
+test(function () {
+    check_no_interface_object("BluetoothProfileHandler");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothProfileHandler_profileType_attribute.html b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/BluetoothProfileHandler_profileType_attribute.html
new file mode 100755 (executable)
index 0000000..b302643
--- /dev/null
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+        Witold Choinkowski <w.choinkowsk@samsung.com>
+
+-->
+<html>
+<head>
+<title>BluetoothProfileHandler_profileType_attribute</title>
+<script src="support/unitcommon.js"></script>
+<script src="support/bluetooth_common.js"></script>
+</head>
+<body>
+
+<div id="log"></div>
+<script>
+//==== TEST: BluetoothProfileHandler_profileType_attribute
+//==== LABEL Check if profileType attribute exists in BluetoothProfileHandler
+//==== PRIORITY P1
+//==== SPEC Tizen Web API:Communication:Bluetooth:BluetoothProfileHandler:profileType A
+//==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html
+//==== TEST_CRITERIA AE AT ARO
+
+var adapter, healthProfileHandler, profileType = "HEALTH";
+test(function () {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    healthProfileHandler = adapter.getBluetoothProfileHandler(profileType);
+
+    assert_own_property(healthProfileHandler, "profileType", "BluetoothProfileHandler does not own profileType property.");
+    check_readonly(healthProfileHandler, "profileType", healthProfileHandler.profileType, "string", "Tizen");
+    assert_in_array(healthProfileHandler.profileType, BLUETOOTH_PROFILE_TYPE, "healthProfileHandler profileType has wrong value");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/support/bluetooth_common.js b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/support/bluetooth_common.js
new file mode 100755 (executable)
index 0000000..28af0a1
--- /dev/null
@@ -0,0 +1,373 @@
+/*
+
+Copyright (c) 2013 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:
+
+*/
+
+var globalBluetoothAdapter;
+
+var UNKNOWN_ERR         = "UnknownError";
+var TYPE_MISMATCH_ERR   = "TypeMismatchError";
+var IO_ERR              = "IOError";
+var INVALID_VALUES_ERR  = "InvalidValuesError";
+var SECURITY_ERR        = "SecurityError";
+var NOT_FOUND_ERR       = "NotFoundError";
+var NOT_SUPPORT_ERR     = "NotSupportedError";
+var INVALID_STATE_ERR = "InvalidStateError";
+
+var BLUETOOTH_PROFILE_TYPE = ["HEALTH"];
+
+var bluetooth = null;
+var btdevice = null;
+var ret = false;
+var REMOTE_DEVICE_ADDRESS = "00:02:95:46:58:D1"; //  nanjing-->00:02:95:46:58:D1 Num19-->00:02:96:63:C3:6A Z2-->C4:50:06:73:B1:DA Z5-->C4:50:06:73:B2:DA Z3-->E4:12:1D:99:F9:69
+var REMOTE_DEVICE_NAME = "SamsungZ-3";
+var REMOTE_HEALTH_DEVICE_ADDRESS = "00:02:95:46:58:D1";
+var REMOTE_HEALTH_DEVICE_NAME = "SamsungZ-3";
+
+var TEST_WRONG_UUID = "00001101-0000-0000-0000-111111111111";
+var CHAT_SERVICE_UUID = "5BCE9431-6C75-32AB-AFE0-2EC108A30860";
+var btAdapter = null;
+var REMOTE_HEALTH_DEVICE_TYPE = 4100;
+
+var g_writeContent = "Hello World!";
+var testSinkApp = "com.tizen";
+var dataToSend = [255,255,255,255];
+
+
+function setUnpowered (t, adapter, powerOfSuccess) {
+    var powerOffError = t.step_func(function (error) {
+        assert_unreached("Launch Settings page error: " + error.name);
+    });
+
+    if (adapter.powered)
+        alert("Please turn off bluetooth. ");
+    powerOfSuccess();
+}
+
+function setPowered (t, adapter, powerOnSuccess) {
+    // var powerOnError = t.step_func(function (error) {
+    //     assert_unreached("Launch Settings page error: " + error.name);
+    // });
+
+    // if (!adapter.powered)
+    //     alert("Please turn on bluetooth and set visible always");
+    powerOnSuccess();
+}
+
+function stopDiscovery (t, adapter, stopDiscoverySuccess) {
+    var stopDiscoveryError = t.step_func(function (e) {
+         assert_unreached("stopDiscoveryError exception:" + e.message);
+    });
+
+    var powerOnSuccess = t.step_func(function () {
+        adapter.stopDiscovery(stopDiscoverySuccess, stopDiscoveryError);
+    });
+    setPowered(t, adapter, powerOnSuccess);
+}
+
+function setBluetoothCleanup(obj, method) {
+     add_result_callback(function (res) {
+        if(obj && obj[method] && typeof obj[method] == "function") {
+            try {
+                obj[method](done,done);
+            } catch(e) {
+                done();
+            }
+        } else {
+            done();
+        }
+    });
+}
+
+function setBluetoothHandlerCleanup(handler) {
+    setBluetoothCleanup(handler, "unregister");
+}
+
+function setBluetoothDiscoveryCleanup(adapter) {
+    setBluetoothCleanup(adapter, "stopDiscovery");
+}
+
+function check_bluetooth_device(device) {
+    check_readonly(device, "name", device.name, "string", "new_name");
+    check_readonly(device, "address", device.address, "string", "new_address");
+
+    assert_true("deviceClass" in device, "No deviceClass in device");
+    assert_type(device.deviceClass, "object", "type of deviceClass is not an object");
+
+    device.deviceClass = undefined;
+    assert_not_equals(device.deviceClass, undefined, "deviceClass should be readonly");
+
+    check_readonly(device.deviceClass, "major", device.deviceClass.major, "number", (device.deviceClass.major + 1)%8);
+    check_readonly(device.deviceClass, "minor", device.deviceClass.minor, "number", (device.deviceClass.minor + 1)%8);
+
+    assert_true("services" in device.deviceClass, "No services in deviceClass");
+    assert_type(device.deviceClass.services, "array", "type of services is not an array");
+
+    device.deviceClass.services = undefined;
+    assert_not_equals(device.deviceClass.services, undefined, "services should be readonly");
+
+    assert_type(device.deviceClass.hasService, "function", "Device deviceClass.hasService type check:");
+    assert_type(device.deviceClass.hasService(0), "boolean", "Device deviceClass.hasService return type check:");
+
+    check_readonly(device, "isBonded", device.isBonded, "boolean", !(device.isBonded));
+    check_readonly(device, "isTrusted", device.isTrusted, "boolean", !(device.isTrusted));
+    check_readonly(device, "isConnected", device.isConnected, "boolean", !(device.isConnected));
+
+    assert_true("uuids" in device, "No uuids in device");
+    assert_type(device.uuids, "array", "type of uuids is not an array");
+    device.uuids = undefined;
+    assert_not_equals(device.uuids, undefined, "uuids should be readonly");
+
+    assert_type(device.connectToServiceByUUID, "function", "Method connectToServiceByUUID does not exist.");
+}
+
+function check_bluetooth_device_array(devices) {
+    assert_type(devices, "array", "Devices has wrong type.");
+    assert_greater_than(devices.length, 0, "Bluetooth devices not found.");
+}
+
+function onloaded() {
+    try {
+        //var manager = document.getElementById('bt_plugin');
+        //bluetooth = manager.createAPIObjectByFeature("http://tizen.org/apis/bluetooth");
+        if(bluetooth == null) {
+            bluetooth = tizen.bluetooth;
+        }
+        if(btAdapter == null) {
+        //    btAdapter = bluetooth.adapter;
+            btAdapter = bluetooth.getDefaultAdapter();
+            console.log("Hello web bluetooth.adapter..." + btAdapter.address);
+        }
+    } catch(e) {
+        //alert ("Exception : " + e.message);
+        console.log("tizen.bluetooth.adapter Exception. reason : " + e.message + "(" + e.code + ")");
+    }
+}
+
+/**********************************************
+* tizen.bluetooth.device.connectToServiceByUUID
+***********************************************/
+var clientSocket = null;
+
+function sendMessage(msg) {
+    //Validate socket state, if everything is ok.
+    if(clientSocket != null && clientSocket.state == "OPEN") {
+        //Send
+        clientSocket.writeData(msg);
+    }
+}
+
+var socketConnectListener = {
+    onMessage: function(socket) {
+        var data = socket.readData();
+        var recvmsg = "";
+        for(var i = 0; i < data.length; i ++) {
+            recvmsg += String.fromCharCode(data[i]);
+        }
+        console.log("server msg >> " + recvmsg);
+    },
+
+    onError: function(e, socket) {
+        console.log("Socket Error: " + e.message);
+    },
+
+    onClose: function(socket) {
+        console.log("socket disconnected.");
+    }
+};
+
+function onSocketConnected(socket) {
+    //Method to be invoked when socket is open.
+    clientSocket = socket;
+    socket.setSocketNotifyListener(socketConnectListener);
+    console.log("Opening socket success.");
+}
+
+function onDeviceReady(device) {
+    //Validate device and service uuid
+    if(device != null && device.uuids.indexOf(CHAT_SERVICE_UUID) != -1) {
+        device.connectToServiceByUUID(CHAT_SERVICE_UUID, onSocketConnected, function(e) {
+            console.log("Error connecting to service. Reason: " + e.message);
+        });
+    } else {
+        console.log("Char service is not supported by this device.");
+    }
+}
+
+function onSetPowered() {
+    tizen.bluetooth.adapter.getDevice(REMOTE_DEVICE_ADDRESS, onDeviceReady, function(e) {
+        console.log("Error: " + e.message);
+    });
+}
+
+/****************************************************
+* tizen.bluetooth.adapter.registerRFCOMMServiceBYUUID
+* tizen.bluetooth.adapter.unregisterRFCOMMService
+*****************************************************/
+var chatServiceHandler = null;
+
+ var socketRegListener = {
+   onMessage: function(socket) {
+       var data = socket.readData();
+       // handle message code goes here
+       //....
+   },
+   // Something went wrong
+   onError: function(e, socket) {
+       console.log('Error : ' + e.message);
+   },
+   // Expected close
+   onClose: function(socket) {
+       console.log('Socket colosed.');
+   }
+ };
+
+ var chatServiceSuccessCb = {
+    // Registration success handler
+    onSuccess: function() {
+       console.log("Chat service registration success!");
+    },
+
+    onConnect: function(socket) {
+        console.log("Client connected : " + socket.peer.name + "," + socket.peer.address);
+        // Message received from remote device
+        socket.setSocketNotifyListener(socketRegListener);
+    }
+};
+
+function publishChatService() {
+    var CHAT_SERVICE_UUID = "5bce9431-6c75-32ab-afe0-2ec108a30860";
+    chatServiceHandler = tizen.bluetooth.adapter.registerRFCOMMServiceByUUID(CHAT_SERVICE_UUID, "Chat service", chatServiceSuccessCb,
+      // Error handler
+      function(e) {
+           console.log( "Could not register service record, Error : " + e.message);
+      });
+}
+
+function unRegisterChatService() {
+    if(chatServiceHandler != null) {
+        tizen.bluetooth.adapter.unregisterRFCOMMService(chatServiceHandler, function() {
+            chatServiceHandler = null;
+            console.log("Chat service unregistered.");
+        }, function(e) {
+            console.log("Error : " + e.message);
+        });
+    }
+}
+
+/***************************************
+* tizen.bluetooth.adapter.discoverDevice
+****************************************/
+
+function startDiscovery() {
+
+  var discoverDevicesSuccessCallback = {
+//      onSuccess: function() {
+      onStarted: function() {
+          callback_flag = true;
+          console.log("Device discovery started...");
+      },
+
+//      onFound: function(device) {
+      onDeviceFound: function(device) {
+          onfound_flag = true;
+          console.log("Found device - Name: " + device.name + ", Address: " + device.address);
+          if(device.name != null)
+            foundname_flag = true;
+          if(device.address != null)
+            foundaddress_flag = true;
+      },
+
+//      onDisappear: function(address) {
+      onDeviceDisappeared: function(address) {
+          ondisappear_flag = true;
+          console.log("Device disappeared: " + address);
+      },
+
+//      onFinish: function(devices) {
+      onFinished: function(devices) {
+          onfinish_flag = true;
+          console.log("Device discovery finished...");
+
+          var msg = new String("Found Devices: \n");
+          if(devices.length == 0) {
+              msg += "Total: " + devices.length;
+              console.log(msg);
+              return;
+          }
+
+
+          for (i=0 ;i < devices.length; i++) {
+              msg += " Name: " + devices[i].name + ", Address: " + devices[i].address + "\n";
+          }
+          msg += "Total: " + devices.length;
+          console.log(msg);
+      }
+  };
+ // start searching for nearby devices, for 12 sec.
+  bluetooth.adapter.discoverDevices(discoverDevicesSuccessCallback, function(e){
+      onfound_flag = false;
+      console.log("Failed to search devices: " + e.message + "(" + e.code + ")");
+  });
+}
+
+function onSetPoweredError(e) {
+    console.log("Could not turn on device, reason: " + e.message + "(" + e.code + ")");
+}
+
+function cancelDiscovery() {
+    btAdapter.stopDiscovery(function() {
+        console.log("Stop discovery success.");
+    },
+    function(e) {
+        console.log("Error while stopDiscovery : " + e.message);
+    })
+}
+
+// change REMOTE_DEVICE_ADDRESS and REMOTE_DEVICE_NAME
+document.write('<script src="../webrunner/jquery-1.10.2.min.js"></script>');
+document.write('<script src="support/getJsonConf_ble.js"></script>');
+
+
+// Add common apis from Xi'an start
+function checkErrType(code, name, e, description) {
+    assert_equals(code, e.code, description);
+    assert_equals(name, e.name, description);
+}
+
+function assertTypeMismatch(t, e) {
+    var uagent = navigator.userAgent.toLowerCase();
+    if (uagent.search('tizen') != -1) {
+        if (e.code != undefined && e.code == e.TYPE_MISMATCH_ERR && e.name == "TypeMismatchError") {
+            t.done();
+        } else {
+            assert_unreached("TYPE_MISMATCH_ERR should be thrown, but:" + e.message);
+        }
+    } else if (uagent.search('android') != -1) {
+        if (e.code != undefined && e.code == e.TYPE_MISMATCH_ERR && e.name == "TypeMismatchError") {
+            t.done();
+        } else {
+            assert_unreached("TYPE_MISMATCH_ERR should be thrown, but:" + e.message);
+        }
+    } else {
+        assert_unreached("uagent search not found:" + e.message);
+    }
+}
+// Add common apis from Xi'an end
diff --git a/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/support/getJsonConf_ble.js b/wearable/tct-deprecatedapi-tizen-tests/deprecatedapi/support/getJsonConf_ble.js
new file mode 100755 (executable)
index 0000000..1e8ec37
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+Copyright (c) 2013 Intel Corporation.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of works must retain the original copyright notice, this list
+  of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the original copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors
+  may be used to endorse or promote products derived from this work without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Authors:
+        Li, Hao <haox.li@intel.com>
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+*/
+
+var RESOURCE_DIR;
+
+$.ajax({
+  url:"/opt/usr/home/owner/share/TCT_CONFIG",
+  data:{},
+  async:false,
+  success:function(data){
+    var regEx = /DEVICE_SUITE_TARGET_30=(.+)/i;
+    var path = regEx.exec(data);
+    RESOURCE_DIR = path[1];
+  }
+});
+
+$.ajax({
+  url:RESOURCE_DIR + "/tct/preconfigure.json",
+  dataType:"json",
+  data:{},
+  async:false,
+  success:function(data){
+    REMOTE_DEVICE_ADDRESS = data[0]["BT_REMOTE_DEVICE_ADDRESS"];
+    REMOTE_DEVICE_NAME = data[0]["BT_REMOTE_DEVICE_NAME"];
+    REMOTE_HEALTH_DEVICE_ADDRESS = data[0]["BT_REMOTE_HEALTH_DEVICE_ADDRESS"];
+    REMOTE_HEALTH_DEVICE_NAME = data[0]["BT_REMOTE_HEALTH_DEVICE_NAME"];
+    REMOTE_BLE_DEVICE_ADDRESS = data[0]["BT_REMOTE_BLE_DEVICE_ADDRESS"];
+  }
+})
index 8e24abe159bd835b1fc43e9502ac7dae3bedbddd..f920f3650cbc7107700de1143b17f9b23c5f598d 100755 (executable)
             "pkg-app": {
                 "sign-flag": "true"
             },
-            "subapp-list": { }
+            "subapp-list": {
+                "tct-bt-helper": {
+                    "app-name": "tct-bt-helper",
+                    "blacklist": [
+                        "manifest.json"
+                    ],
+                    "install-path": "apps",
+                    "sign-flag": "true"
+                }
+            }
         }
     },
     "pkg-name": "tct-deprecatedapi-tizen-tests"
diff --git a/wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/config.xml b/wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/config.xml
new file mode 100755 (executable)
index 0000000..602d54e
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<widget xmlns="http://www.w3.org/ns/widgets" xmlns:tizen="http://tizen.org/ns/widgets" id="http://yourdomain/tct-bt-helper" version="1.0.0" viewmodes="maximized">
+    <tizen:application id="ps2w1DxNKj.TctBtHelper" package="ps2w1DxNKj" required_version="3.0"/>
+    <content src="index.html"/>
+    <icon src="icon.png"/>
+    <name>tct-bt-helper</name>
+    <tizen:privilege name="http://tizen.org/privilege/bluetooth"/>
+    <tizen:privilege name="http://tizen.org/privilege/telephony"/>
+</widget>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/css/style.css b/wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/css/style.css
new file mode 100755 (executable)
index 0000000..b97eeb9
--- /dev/null
@@ -0,0 +1,86 @@
+/*
+
+Copyright (c) 2013 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:
+
+
+
+*/
+
+* {
+    font-family: Lucida Sans, Arial, Helvetica, sans-serif;
+}
+
+body {
+    margin: 0px auto;
+}
+
+header h1 {
+    font-size: 36px;
+    margin: 0px;
+}
+
+header h2 {
+    font-size: 18px;
+    margin: 0px;
+    color: #888;
+    font-style: italic;
+}
+
+article select {
+    width: 150px;
+}
+
+article p {
+    clear: both;
+}
+
+article > section form {
+    border: 1px solid #888;
+    -moz-border-radius: 10px;
+    -webkit-border-radius: 10px;
+    border-radius: 10px;    
+    -moz-box-shadow: 10px 10px 5px #888;
+    -webkit-box-shadow: 10px 10px 5px #888;
+    box-shadow: 10px 10px 5px #888;
+    background-color: #eee;
+    padding: 10px;
+    margin-bottom: 30px;
+}
+
+article > section label {
+    font-weight: bold;
+    font-size: 13px;
+}
+
+article > section input {
+    margin-bottom: 3px;
+    font-size: 13px;
+}
+
+#serviceTxt {
+    width: 300px;
+}
+
+footer p {
+    text-align: center;
+    font-size: 12px;
+    color: #888;
+    margin-top: 24px;
+}
+
diff --git a/wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/icon.png b/wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/icon.png
new file mode 100755 (executable)
index 0000000..c22cfa8
Binary files /dev/null and b/wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/icon.png differ
diff --git a/wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/images/tizen_32.png b/wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/images/tizen_32.png
new file mode 100755 (executable)
index 0000000..983c883
Binary files /dev/null and b/wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/images/tizen_32.png differ
diff --git a/wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/index.html b/wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/index.html
new file mode 100755 (executable)
index 0000000..841ce8e
--- /dev/null
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<!--
+
+Copyright (c) 2013 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:
+    Karol Surma <k.surma@samsung.com>
+-->
+
+<html>
+<head>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
+    <meta name="description" content="Tizen basic template generated by Tizen Web IDE"/>
+
+    <title>tct-bt-helper</title>
+
+    <link rel="stylesheet" type="text/css" href="css/style.css"/>
+    <script src="js/main.js"></script>
+</head>
+
+<body>
+  <header>
+    <hgroup>
+      <h1>Bluetooth</h1>
+      <h2>tct-bt-helper</h2>
+    </hgroup>
+  </header>
+
+
+  <article>
+    <p>Service UUID</p>
+    <div id="serviceUUID">
+        <input type="text" id="serviceTxt" value="5BCE9431-6C75-32AB-AFE0-2EC108A30860">
+    </div>
+    <div id="registerSection">
+      <button onclick="registerService();">Register service</button>
+      &nbsp;&nbsp; 
+      <button onclick="unregisterService();">Unregister service</button>
+    </div>
+    <div id="discoverSection">
+      <p>Bluetooth device list</p>
+      <select id="devicesList" >
+      </select>
+      <button onclick="discover();">Search</button>
+    </div>    
+    <div id="connectService">
+      <p>Connect to service</p>
+      <button onclick="connectService();">Connect to service</button>
+    </div>
+  </article>
+
+  <footer>
+    <p>&copy; 2013 Samsung. All rights reserved.</p>
+  </footer>    
+</body>
+</html>
diff --git a/wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/js/main.js b/wearable/tct-deprecatedapi-tizen-tests/tct-bt-helper/js/main.js
new file mode 100755 (executable)
index 0000000..89d08bf
--- /dev/null
@@ -0,0 +1,137 @@
+/*
+
+Copyright (c) 2013 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:
+
+
+
+*/
+
+var serviceHandler = null;
+
+function discoverDevicesError() {
+    alert("Error discoverDevices");
+}
+
+function setPoweredError() {
+    alert("Error setPowered");
+}
+
+function startDiscoveryDevice() {
+    var length, k;
+    alert("searching - it's gona take about 10 seconds");
+    var discoverDevicesSuccessCallback = {
+            onstarted: function() {
+            },
+            ondevicefound: function(device) {
+            },
+            ondevicedisappeared: function(address) {
+            },
+            onfinished: function(devices) {
+                length = devices.length;
+                document.getElementById("devicesList").options.length = 0;
+                for (k = 0; k < length; k++) {
+                    document.getElementById("devicesList").options[k] = new Option(devices[k].address + " - " + devices[k].name, devices[k].address);
+                }
+                alert("search completed");
+            }
+        };
+    adapter.discoverDevices(discoverDevicesSuccessCallback, discoverDevicesError);
+}
+
+function registerServiceSuccessCallback(handler) {
+    serviceHandler = handler;
+    handler.onconnect = function(socket) {
+        var textmsg = "Test", sendtextmsg = [], length, i;
+        length = textmsg.length;
+        for (i = 0; i < length; i++) {
+            sendtextmsg[i] = textmsg.charCodeAt(i);
+        }
+        socket.writeData(sendtextmsg);
+    }
+    alert("service registered");
+}
+
+function registerServiceError() {
+    alert("Error registerService");
+}
+
+function startRegisterService() {
+    adapter.registerRFCOMMServiceByUUID(document.getElementById("serviceTxt").value,"Chat service",registerServiceSuccessCallback,registerServiceError);
+}
+
+function discover() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    adapter.setPowered(true, startDiscoveryDevice, setPoweredError)
+}
+
+function registerService() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    adapter.setPowered(true,startRegisterService,setPoweredError);
+}
+
+function unregisterServiceSuccessCallback() {
+    chatServiceHandler = null;
+    alert("Service is unregistered.");
+}
+
+function unregisterServiceError() {
+    alert("Error unregisterService");
+}
+
+function unregisterService() {
+    if (serviceHandler != null) {
+         serviceHandler.unregister(unregisterServiceSuccessCallback,unregisterServiceError);
+    }
+}
+
+function createBondingError() {
+    alert("Error createBonding");
+}
+
+function getDeviceError() {
+    alert("Error getDevice");
+}
+
+function connectError() {
+    alert("Error connectToServiceByUUID");
+}
+
+function connectCallback(device) {
+    if (device != null && device.uuids.indexOf(document.getElementById("serviceTxt").value) !== -1) {
+        // open socket
+            device.connectToServiceByUUID(document.getElementById("serviceTxt").value, function() {
+                alert("connected");
+            },connectError);
+    } else {
+        alert("device UUID is null");
+    }
+}
+
+function getDeviceCallback() {
+    adapter.getDevice(document.getElementById("devicesList").value, connectCallback, getDeviceError);
+}
+
+function createBondingCallback() {
+    adapter.createBonding(document.getElementById("devicesList").value, getDeviceCallback, createBondingError);
+}
+
+function connectService() {
+    adapter = tizen.bluetooth.getDefaultAdapter();
+    adapter.setPowered(true, createBondingCallback, setPoweredError);
+}
index ded8b46b9c9110412ea1a288444c8217efa751e0..c1462e438aca631eabc444f2d44347294fa5d6e1 100755 (executable)
         </specs>
       </testcase>
     </set>
+    <set name="deprecatedapi_bluetooth" type="js">
+      <capabilities>
+        <capability name="http://tizen.org/feature/network.bluetooth"/>
+      </capabilities>
+      <capabilities>
+        <capability name="http://tizen.org/feature/network.bluetooth.health"/>
+      </capabilities>
+      <testcase purpose="Check with non-optional arguments getBluetoothProfileHandler(valid_profileType)" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothAdapter_getBluetoothProfileHandler">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothAdapter_getBluetoothProfileHandler.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothAdapter" element_type="method" element_name="getBluetoothProfileHandler" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if getBluetoothProfileHandler method exists" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothAdapter_getBluetoothProfileHandler_exist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothAdapter_getBluetoothProfileHandler_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothAdapter" element_type="method" element_name="getBluetoothProfileHandler" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothAdapter::getBluetoothProfileHandler() method with miss argument." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothAdapter_getBluetoothProfileHandler_misarg">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothAdapter_getBluetoothProfileHandler_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothAdapter" element_type="method" element_name="getBluetoothProfileHandler" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothAdapter::getBluetoothProfileHandler() method called with invalid profileType argument throws an exception" type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothAdapter_getBluetoothProfileHandler_profileType_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothAdapter_getBluetoothProfileHandler_profileType_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothAdapter" element_type="method" element_name="getBluetoothProfileHandler" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if is possible to call BluetoothHealthApplicationSuccessCallback in new expresion" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P3" id="BluetoothHealthApplicationSuccessCallback_notexist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplicationSuccessCallback_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplicationSuccessCallback" usage="true" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthApplicationSuccessCallback callback is called with propriety arguments" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthApplicationSuccessCallback_onsuccess">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplicationSuccessCallback_onsuccess.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplicationSuccessCallback" element_type="method" element_name="onsuccess" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Test whether the dataType unsigned short exist in BluetoothHealthApplication has default value and its readonly" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthApplication_dataType_attribute">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_dataType_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="attribute" element_name="dataType" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Test whether the object BluetoothHealthApplication can have new properties added it" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P3" id="BluetoothHealthApplication_extend">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" usage="true" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Test whether the name string exist in BluetoothHealthApplication has default value and its readonly" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_name_attribute">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_name_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="attribute" element_name="name" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if is possible to call BluetoothHealthApplication in new expresion" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P3" id="BluetoothHealthApplication_notexist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" usage="true" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Test whether the onconnect in BluetoothHealthApplication has default value and it's writable" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_onconnect_attribute">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_onconnect_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="attribute" element_name="onconnect" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check unregister with non optional arguments" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_unregister">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="method" element_name="unregister" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if error callback of unregister method invoked" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_unregister_callback_onerror">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_callback_onerror.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="method" element_name="unregister" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check whether unregiste() method of the BluetoothHealthApplication called with invalid errorCallback argument throws an exception" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_unregister_errorCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_errorCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="method" element_name="unregister" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument unregister() errorCallback validation" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_unregister_errorCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_errorCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="method" element_name="unregister" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if unregister method exists in BluetoothHealthApplication" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_unregister_exist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="method" element_name="unregister" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check whether unregister() method called with invalid successCallback throws an exception" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_unregister_successCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_successCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="method" element_name="unregister" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument unregister() successCallback validation" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_unregister_successCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_successCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="method" element_name="unregister" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check unregister with successCallback and errorCallback" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_unregister_with_errorCallback">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_with_errorCallback.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="method" element_name="unregister" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check unregister with successCallback" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthApplication_unregister_with_successCallback">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_with_successCallback.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthApplication" element_type="method" element_name="unregister" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if is possible to call BluetoothHealthChannelChangeCallback in new expresion" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P3" id="BluetoothHealthChannelChangeCallback_notexist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannelChangeCallback_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannelChangeCallback" usage="true" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannelChangeCallback::onMessage() method callback is called with propriety arguments." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannelChangeCallback_onMessage">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannelChangeCallback_onMessage.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannelChangeCallback" element_type="method" element_name="onMessage" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if is possible to call BluetoothHealthChannelSuccessCallback in new expresion" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P3" id="BluetoothHealthChannelSuccessCallback_notexist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannelSuccessCallback_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannelSuccessCallback" usage="true" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthChannelSuccessCallback::onsuccess." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannelSuccessCallback_onsuccess">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannelSuccessCallback_onsuccess.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannelSuccessCallback" element_type="method" element_name="onsuccess" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel:attribute application legal." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannel_application_attribute">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_application_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="attribute" element_name="application" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel:attribute channelType legal." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannel_channelType_attribute">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_channelType_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="attribute" element_name="channelType" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthChannel::close() method with typeMismatch param." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P0" id="BluetoothHealthChannel_close_exist">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_close_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="close" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel:whether the object can have new properties added for BluetoothHealthChannel" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="manual" priority="P3" id="BluetoothHealthChannel_extend">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" usage="true" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel:attribute isConnected legal." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannel_isConnected_attribute">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_isConnected_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="attribute" element_name="isConnected" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if is possible to call BluetoothHealthChannel in new expresion" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P3" id="BluetoothHealthChannel_notexist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" usage="true" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel:attribute peer legal." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannel_peer_attribute">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_peer_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="attribute" element_name="peer" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthChannel::sendData() method" type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannel_sendData">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_sendData.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="sendData" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthChannel::sendData() method with typeMismatch param." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannel_sendData_data_TypeMismatch">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_sendData_data_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="sendData" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel::sendData() method with invalid param." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P0" id="BluetoothHealthChannel_sendData_exist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_sendData_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="sendData" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel::sendData() method miss argument" type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthChannel_sendData_misarg">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_sendData_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="sendData" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel::setListener() method work property" type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannel_setListener">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_setListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="setListener" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel::setListener() method is exist" type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P0" id="BluetoothHealthChannel_setListener_exist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_setListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="setListener" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel::unsetListener() method work property" type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthChannel_unsetListener">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_unsetListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="unsetListener" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if method close of unsetListener accepts extra argument" type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthChannel_unsetListener_extra_argument">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_unsetListener_extra_argument.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="unsetListener" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthChannel::setListener() method with typeMismatch listener." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthChannel_setListener_listener_TypeMismatch">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_setListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="setListener" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel::setListener() method without argument." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthChannel_setListener_misarg">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_setListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="setListener" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthChannel::unsetListener method with invalid param." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P0" id="BluetoothHealthChannel_unsetListener_exist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_unsetListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthChannel" element_type="method" element_name="unsetListener" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthProfileHandler::connectToSource() method with all params." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthProfileHandler::connectToSource with mismatch application." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource_application_TypeMismatch">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_application_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthProfileHandler::exception is thrown when connectToSource is called with a type-mismatch errorCallback." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource_errorCallback_TypeMismatch">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_errorCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthProfileHandler::connectToSource() method error callback is invoked when connectToSource is called." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource_errorCallback_invoked">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_errorCallback_invoked.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if connectToSource method exists" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource_exist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthProfileHandler::connectToSource() method with invalid object." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource_invalid_obj">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_invalid_obj.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check connectToSource with missing non-optional argument" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource_missarg">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_missarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthProfileHandler::connectToSource with mismatch type." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource_peer_TypeMismatch">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_peer_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if BluetoothHealthProfileHandler::connectToSource with invalid success callback." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource_succCallback_invalid_cb">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_succCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthProfileHandler::connectToSource() method exception is thrown called with a type-mismatch successCallback." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_connectToSource_successCallback_TypeMismatch">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_successCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothHealthProfileHandler::connectToSource() method without error callback." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthProfileHandler_connectToSource_with_succCallback">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_with_succCallback.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="connectToSource" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Test whether the object BluetoothHealthProfileHandler can have new properties added it" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P3" id="BluetoothHealthProfileHandler_extend">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" usage="true" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if is possible to call BluetoothHealthProfileHandler in new expresion" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P3" id="BluetoothHealthProfileHandler_notexist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" usage="true" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check with non optional arguments registerSinkApplication" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthProfileHandler_registerSinkApplication">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="registerSinkApplication" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if error callback of registerSinkApplication method invoked" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthProfileHandler_registerSinkApplication_callback_error">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_callback_error.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="registerSinkApplication" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check whether registerSinkApplication() method called with invalid errorCallback argument throws an exception" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="registerSinkApplication" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument registerSinkApplication() errorCallback validation" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="registerSinkApplication" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if registerSinkApplication method exists" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_registerSinkApplication_exist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="registerSinkApplication" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check registerSinkApplication with missing non-optional argument" type="compliance" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_registerSinkApplication_missarg">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_missarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="registerSinkApplication" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check whether registerSinkApplication() method called with invalid successCallback argument throws an exception" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_registerSinkApplication_successCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="registerSinkApplication" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument registerSinkApplication() successCallback validation" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothHealthProfileHandler_registerSinkApplication_successCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="registerSinkApplication" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check registerSinkApplication with valid optional arguments" type="compliance" onload_delay="180" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P1" id="BluetoothHealthProfileHandler_registerSinkApplication_with_errorCallback">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_with_errorCallback.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothHealthProfileHandler" element_type="method" element_name="registerSinkApplication" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check BluetoothSocket::writeData() method exception is thrown when called with a invalid param." type="compliance" onload_delay="60" status="approved" component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" priority="P2" id="BluetoothSocket_writeData_data_TypeMismatch">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothSocket_writeData_data_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="BluetoothSocket" element_type="method" element_name="writeData" specification="Bluetooth" section="Communication" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+    </set>
   </suite>
 </test_definition>
index 9a15743354329f18a0ca606f125dae507a53ad75..1de1a23d5805aafba962cf6a9520d93d3e79dfe4 100755 (executable)
             </description>
          </testcase>
     </set>
-      <set name="deprecatedapi_Filesystem_camera">
-         <capabilities>
-            <capability name="http://tizen.org/feature/camera.back"/>
-         </capabilities>
-         <testcase purpose="Check if you can create a new file in Camera, copy it into Downloads, then request removing it" component="TizenAPI/IO/Filesystem" execution_type="auto" id="File_deleteFile_copyFile_camera" priority="P1">
-            <description>
-               <test_script_entry>/opt/tct-deprecatedapi-tizen-tests/deprecatedapi/File_deleteFile_copyFile_camera.html</test_script_entry>
-            </description>
-         </testcase>
-         <testcase purpose="Check if FileSystemManager::resolve() method works for camera virtual root" component="TizenAPI/IO/Filesystem" execution_type="auto" id="FileSystemManager_resolve_camera" priority="P2">
-            <description>
-               <test_script_entry>/opt/tct-deprecatedapi-tizen-tests/deprecatedapi/FileSystemManager_resolve_camera.html</test_script_entry>
-            </description>
-         </testcase>
-         <testcase purpose="Check if File::createDirectory() creates a new directory in Camera and File::deleteDirectory() removes it" component="TizenAPI/IO/Filesystem" execution_type="auto" id="File_deleteDirectory_createDir_camera" priority="P1">
-            <description>
-               <test_script_entry>/opt/tct-deprecatedapi-tizen-tests/deprecatedapi/File_deleteDirectory_createDir_camera.html</test_script_entry>
-            </description>
-         </testcase>
-      </set>
+    <set name="deprecatedapi_Filesystem_camera">
+      <capabilities>
+        <capability name="http://tizen.org/feature/camera.back"/>
+      </capabilities>
+      <testcase purpose="Check if you can create a new file in Camera, copy it into Downloads, then request removing it" component="TizenAPI/IO/Filesystem" execution_type="auto" id="File_deleteFile_copyFile_camera" priority="P1">
+        <description>
+          <test_script_entry>/opt/tct-deprecatedapi-tizen-tests/deprecatedapi/File_deleteFile_copyFile_camera.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if FileSystemManager::resolve() method works for camera virtual root" component="TizenAPI/IO/Filesystem" execution_type="auto" id="FileSystemManager_resolve_camera" priority="P2">
+        <description>
+          <test_script_entry>/opt/tct-deprecatedapi-tizen-tests/deprecatedapi/FileSystemManager_resolve_camera.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase purpose="Check if File::createDirectory() creates a new directory in Camera and File::deleteDirectory() removes it" component="TizenAPI/IO/Filesystem" execution_type="auto" id="File_deleteDirectory_createDir_camera" priority="P1">
+        <description>
+          <test_script_entry>/opt/tct-deprecatedapi-tizen-tests/deprecatedapi/File_deleteDirectory_createDir_camera.html</test_script_entry>
+        </description>
+      </testcase>
+    </set>
+    <set name="deprecatedapi_bluetooth" type="js">
+      <capabilities>
+        <capability name="http://tizen.org/feature/profile"><value>MOBILE_FULL</value></capability>
+        <capability name="http://tizen.org/feature/network.bluetooth"/>
+        <capability name="http://tizen.org/feature/network.bluetooth.health"/>
+      </capabilities>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothProfileHandler_extend" priority="P3" purpose="Test whether the object can have new properties added for BluetoothProfileHandler">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothProfileHandler_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothProfileHandler_notexist" priority="P3" purpose="Check if is possible to call BluetoothProfileHandler in new expresion">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothProfileHandler_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothProfileHandler_profileType_attribute" priority="P1" purpose="Check if profileType attribute exists in BluetoothProfileHandler">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothProfileHandler_profileType_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothAdapter_getBluetoothProfileHandler" priority="P1" purpose="Check with non-optional arguments getBluetoothProfileHandler(valid_profileType)">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothAdapter_getBluetoothProfileHandler.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothAdapter_getBluetoothProfileHandler_exist" priority="P2" purpose="Check if getBluetoothProfileHandler method exists">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothAdapter_getBluetoothProfileHandler_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplicationSuccessCallback_notexist" priority="P3" purpose="Check if is possible to call BluetoothHealthApplicationSuccessCallback in new expresion">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplicationSuccessCallback_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplicationSuccessCallback_onsuccess" onload_delay="180" priority="P1" purpose="Check if BluetoothHealthApplicationSuccessCallback callback is called with propriety arguments">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplicationSuccessCallback_onsuccess.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_dataType_attribute" onload_delay="180" priority="P1" purpose="Test whether the dataType unsigned short exist in BluetoothHealthApplication has default value and its readonly">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_dataType_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_extend" onload_delay="180" priority="P3" purpose="Test whether the object BluetoothHealthApplication can have new properties added it">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_name_attribute" onload_delay="180" priority="P2" purpose="Test whether the name string exist in BluetoothHealthApplication has default value and its readonly">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_name_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_notexist" priority="P3" purpose="Check if is possible to call BluetoothHealthApplication in new expresion">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_onconnect_attribute" onload_delay="180" priority="P2" purpose="Test whether the onconnect in BluetoothHealthApplication has default value and it's writable">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_onconnect_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_unregister" onload_delay="180" priority="P2" purpose="Check unregister with non optional arguments">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_unregister_callback_onerror" onload_delay="180" priority="P2" purpose="Check if error callback of unregister method invoked">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_callback_onerror.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_unregister_errorCallback_TypeMismatch" onload_delay="180" priority="P2" purpose="Check whether unregiste() method of the BluetoothHealthApplication called with invalid errorCallback argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_errorCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_unregister_errorCallback_invalid_cb" onload_delay="180" priority="P2" purpose="Check argument unregister() errorCallback validation">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_errorCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_unregister_exist" onload_delay="180" priority="P2" purpose="Check if unregister method exists in BluetoothHealthApplication">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_unregister_successCallback_TypeMismatch" onload_delay="180" priority="P2" purpose="Check whether unregister() method called with invalid successCallback throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_successCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_unregister_successCallback_invalid_cb" onload_delay="180" priority="P2" purpose="Check argument unregister() successCallback validation">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_successCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_unregister_with_errorCallback" onload_delay="180" priority="P2" purpose="Check unregister with successCallback and errorCallback">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_with_errorCallback.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthApplication_unregister_with_successCallback" onload_delay="180" priority="P2" purpose="Check unregister with successCallback">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthApplication_unregister_with_successCallback.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannelChangeCallback_notexist" priority="P3" purpose="Check if is possible to call BluetoothHealthChannelChangeCallback in new expresion">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannelChangeCallback_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannelChangeCallback_onMessage" onload_delay="60" priority="P1" purpose="Check if BluetoothHealthChannelChangeCallback::onMessage() method callback is called with propriety arguments.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannelChangeCallback_onMessage.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannelSuccessCallback_notexist" priority="P3" purpose="Check if is possible to call BluetoothHealthChannelSuccessCallback in new expresion">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannelSuccessCallback_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannelSuccessCallback_onsuccess" onload_delay="60" priority="P1" purpose="Check BluetoothHealthChannelSuccessCallback::onsuccess.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannelSuccessCallback_onsuccess.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_application_attribute" onload_delay="60" priority="P1" purpose="Check if BluetoothHealthChannel:attribute application legal.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_application_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_channelType_attribute" onload_delay="60" priority="P1" purpose="Check if BluetoothHealthChannel:attribute channelType legal.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_channelType_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_close_exist" onload_delay="60" priority="P0" purpose="Check BluetoothHealthChannel::close() method with typeMismatch param.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_close_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="manual" id="BluetoothHealthChannel_extend" priority="P3" purpose="Check if BluetoothHealthChannel:whether the object can have new properties added for BluetoothHealthChannel">
+        <description>
+          <pre_condition>The bluetooth of the remote device MUST be turned on and discoverable from other devices. The remote device MUST register the service by pushing [Register service] button on tct-bt-helper.</pre_condition>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_isConnected_attribute" onload_delay="60" priority="P1" purpose="Check if BluetoothHealthChannel:attribute isConnected legal.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_isConnected_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_notexist" priority="P3" purpose="Check if is possible to call BluetoothHealthChannel in new expresion">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_peer_attribute" onload_delay="60" priority="P1" purpose="Check if BluetoothHealthChannel:attribute peer legal.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_peer_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_sendData" onload_delay="60" priority="P1" purpose="Check BluetoothHealthChannel::sendData() method">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_sendData.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_sendData_data_TypeMismatch" onload_delay="60" priority="P1" purpose="Check BluetoothHealthChannel::sendData() method with typeMismatch param.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_sendData_data_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_sendData_exist" onload_delay="60" priority="P0" purpose="Check if BluetoothHealthChannel::sendData() method with invalid param.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_sendData_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_sendData_misarg" onload_delay="60" priority="P2" purpose="Check if BluetoothHealthChannel::sendData() method miss argument">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_sendData_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_setListener" onload_delay="60" priority="P1" purpose="Check if BluetoothHealthChannel::setListener() method work property">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_setListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_setListener_exist" onload_delay="60" priority="P0" purpose="Check if BluetoothHealthChannel::setListener() method is exist">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_setListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_unsetListener" onload_delay="60" priority="P1" purpose="Check if BluetoothHealthChannel::unsetListener() method work property">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_unsetListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_unsetListener_extra_argument" onload_delay="60" priority="P1" purpose="Check if method close of unsetListener accepts extra argument">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_unsetListener_extra_argument.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_setListener_listener_TypeMismatch" onload_delay="60" priority="P2" purpose="Check BluetoothHealthChannel::setListener() method with typeMismatch listener.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_setListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_setListener_misarg" onload_delay="60" priority="P2" purpose="Check if BluetoothHealthChannel::setListener() method without argument.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_setListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthChannel_unsetListener_exist" onload_delay="60" priority="P0" purpose="Check if BluetoothHealthChannel::unsetListener method with invalid param.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthChannel_unsetListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource" onload_delay="60" priority="P2" purpose="Check BluetoothHealthProfileHandler::connectToSource() method with all params.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_application_TypeMismatch" onload_delay="60" priority="P2" purpose="Check BluetoothHealthProfileHandler::connectToSource with mismatch application.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_application_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_errorCallback_TypeMismatch" onload_delay="60" priority="P2" purpose="Check BluetoothHealthProfileHandler::exception is thrown when connectToSource is called with a type-mismatch errorCallback.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_errorCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_errorCallback_invoked" onload_delay="60" priority="P2" purpose="Check BluetoothHealthProfileHandler::connectToSource() method error callback is invoked when connectToSource is called.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_errorCallback_invoked.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_exist" priority="P2" purpose="Check if connectToSource method exists">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_invalid_obj" onload_delay="60" priority="P2" purpose="Check BluetoothHealthProfileHandler::connectToSource() method with invalid object.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_invalid_obj.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_missarg" priority="P2" purpose="Check connectToSource with missing non-optional argument">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_missarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_peer_TypeMismatch" onload_delay="60" priority="P2" purpose="Check BluetoothHealthProfileHandler::connectToSource with mismatch type.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_peer_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_succCallback_invalid_cb" onload_delay="60" priority="P2" purpose="Check if BluetoothHealthProfileHandler::connectToSource with invalid success callback.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_succCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_successCallback_TypeMismatch" onload_delay="60" priority="P2" purpose="Check BluetoothHealthProfileHandler::connectToSource() method exception is thrown called with a type-mismatch successCallback.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_successCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_connectToSource_with_succCallback" onload_delay="60" priority="P1" purpose="Check BluetoothHealthProfileHandler::connectToSource() method without error callback.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_connectToSource_with_succCallback.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_extend" priority="P3" purpose="Test whether the object BluetoothHealthProfileHandler can have new properties added it">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_notexist" priority="P3" purpose="Check if is possible to call BluetoothHealthProfileHandler in new expresion">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_registerSinkApplication" onload_delay="180" priority="P1" purpose="Check with non optional arguments registerSinkApplication">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_registerSinkApplication_callback_error" onload_delay="180" priority="P1" purpose="Check if error callback of registerSinkApplication method invoked">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_callback_error.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_TypeMismatch" onload_delay="180" priority="P2" purpose="Check whether registerSinkApplication() method called with invalid errorCallback argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_invalid_cb" onload_delay="180" priority="P2" purpose="Check argument registerSinkApplication() errorCallback validation">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_errorCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_registerSinkApplication_exist" priority="P2" purpose="Check if registerSinkApplication method exists">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_registerSinkApplication_missarg" priority="P2" purpose="Check registerSinkApplication with missing non-optional argument">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_missarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_registerSinkApplication_successCallback_TypeMismatch" onload_delay="180" priority="P2" purpose="Check whether registerSinkApplication() method called with invalid successCallback argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_registerSinkApplication_successCallback_invalid_cb" onload_delay="180" priority="P2" purpose="Check argument registerSinkApplication() successCallback validation">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_successCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothHealthProfileHandler_registerSinkApplication_with_errorCallback" onload_delay="180" priority="P1" purpose="Check registerSinkApplication with valid optional arguments">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothHealthProfileHandler_registerSinkApplication_with_errorCallback.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothAdapter_getBluetoothProfileHandler_profileType_TypeMismatch" onload_delay="60" priority="P2" purpose="Check if BluetoothAdapter::getBluetoothProfileHandler() method called with invalid profileType argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothAdapter_getBluetoothProfileHandler_profileType_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Communication/Bluetooth" execution_type="auto" id="BluetoothAdapter_getBluetoothProfileHandler_misarg" onload_delay="60" priority="P2" purpose="Check if BluetoothAdapter::getBluetoothProfileHandler() method with miss argument.">
+        <description>
+          <test_script_entry>/opt/tct-bluetooth-tizen-tests/bluetooth/BluetoothAdapter_getBluetoothProfileHandler_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+    </set>
   </suite>
 </test_definition>