<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"/>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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
--- /dev/null
+<!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>
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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>
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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>
--- /dev/null
+<!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
--- /dev/null
+<!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>
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+/*
+
+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
--- /dev/null
+/*
+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"];
+ }
+})
"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"
--- /dev/null
+<?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>
--- /dev/null
+/*
+
+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;
+}
+
--- /dev/null
+<!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>
+
+ <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>© 2013 Samsung. All rights reserved.</p>
+ </footer>
+</body>
+</html>
--- /dev/null
+/*
+
+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);
+}
</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>
</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>
<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"/>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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
--- /dev/null
+<!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>
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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>
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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>
--- /dev/null
+<!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
--- /dev/null
+<!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>
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+/*
+
+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
--- /dev/null
+/*
+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"];
+ }
+})
"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"
--- /dev/null
+<?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>
--- /dev/null
+/*
+
+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;
+}
+
--- /dev/null
+<!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>
+
+ <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>© 2013 Samsung. All rights reserved.</p>
+ </footer>
+</body>
+</html>
--- /dev/null
+/*
+
+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);
+}
</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>
</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>