From: Piotr Szydelko Date: Fri, 4 Oct 2013 09:48:01 +0000 (+0200) Subject: [Download] code consistency improvement X-Git-Tag: 2.2.1_release~105^2~35 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6a979c3b4551a880d6b5e61b153bed9d957d1a07;p=test%2Ftct%2Fweb%2Fapi.git [Download] code consistency improvement Change-Id: If618f012dd15fe283bf71c6d40e6188633f98042 --- diff --git a/tct-download-tizen-tests/download/DownloadCallback_notexist.html b/tct-download-tizen-tests/download/DownloadCallback_notexist.html index 358699a2e..9b181355d 100644 --- a/tct-download-tizen-tests/download/DownloadCallback_notexist.html +++ b/tct-download-tizen-tests/download/DownloadCallback_notexist.html @@ -22,15 +22,15 @@ Authors: DownloadCallback_notexist - - + +
diff --git a/tct-download-tizen-tests/download/DownloadCallback_oncanceled.html b/tct-download-tizen-tests/download/DownloadCallback_oncanceled.html index d13a2edd0..4e1f87547 100644 --- a/tct-download-tizen-tests/download/DownloadCallback_oncanceled.html +++ b/tct-download-tizen-tests/download/DownloadCallback_oncanceled.html @@ -22,14 +22,14 @@ Authors: DownloadCallback_oncanceled - - + +
- + +
- + +
- + +
- + +
+
diff --git a/tct-download-tizen-tests/download/DownloadManagerObject_notexist.html b/tct-download-tizen-tests/download/DownloadManagerObject_notexist.html index ed148774d..8ea5fe048 100644 --- a/tct-download-tizen-tests/download/DownloadManagerObject_notexist.html +++ b/tct-download-tizen-tests/download/DownloadManagerObject_notexist.html @@ -24,7 +24,7 @@ Authors: DownloadManagerObject_notexist - + @@ -32,14 +32,14 @@ Authors:
diff --git a/tct-download-tizen-tests/download/DownloadManager_cancel.html b/tct-download-tizen-tests/download/DownloadManager_cancel.html index fc747ed78..858120dc0 100644 --- a/tct-download-tizen-tests/download/DownloadManager_cancel.html +++ b/tct-download-tizen-tests/download/DownloadManager_cancel.html @@ -33,14 +33,14 @@ Authors: DownloadManager_cancel - - + +
- + +
diff --git a/tct-download-tizen-tests/download/DownloadManager_extend.html b/tct-download-tizen-tests/download/DownloadManager_extend.html index 65f8f39f6..66f5f8c51 100644 --- a/tct-download-tizen-tests/download/DownloadManager_extend.html +++ b/tct-download-tizen-tests/download/DownloadManager_extend.html @@ -21,15 +21,15 @@ Authors: DownloadManager_extend - - + +
diff --git a/tct-download-tizen-tests/download/DownloadManager_getDownloadRequest.html b/tct-download-tizen-tests/download/DownloadManager_getDownloadRequest.html index 620d31cf5..71bb70109 100644 --- a/tct-download-tizen-tests/download/DownloadManager_getDownloadRequest.html +++ b/tct-download-tizen-tests/download/DownloadManager_getDownloadRequest.html @@ -33,44 +33,44 @@ Authors: DownloadManager_getDownloadRequest - - + +
- + +
diff --git a/tct-download-tizen-tests/download/DownloadManager_getMIMEType.html b/tct-download-tizen-tests/download/DownloadManager_getMIMEType.html index 94790e21e..9f52e6072 100644 --- a/tct-download-tizen-tests/download/DownloadManager_getMIMEType.html +++ b/tct-download-tizen-tests/download/DownloadManager_getMIMEType.html @@ -33,41 +33,41 @@ Authors: DownloadManager_getMIMEType - - + +
- + +
diff --git a/tct-download-tizen-tests/download/DownloadManager_getState.html b/tct-download-tizen-tests/download/DownloadManager_getState.html index c1beee8c6..33b379c77 100644 --- a/tct-download-tizen-tests/download/DownloadManager_getState.html +++ b/tct-download-tizen-tests/download/DownloadManager_getState.html @@ -34,32 +34,32 @@ Authors: DownloadManager_getState - - + +
- + +
diff --git a/tct-download-tizen-tests/download/DownloadManager_getState_using.html b/tct-download-tizen-tests/download/DownloadManager_getState_using.html index ea5b82c0a..31c24be4a 100644 --- a/tct-download-tizen-tests/download/DownloadManager_getState_using.html +++ b/tct-download-tizen-tests/download/DownloadManager_getState_using.html @@ -33,40 +33,40 @@ Authors: DownloadManager_getState_using - - + +
- + +
diff --git a/tct-download-tizen-tests/download/DownloadManager_notexist.html b/tct-download-tizen-tests/download/DownloadManager_notexist.html index ef22e2b04..dabcabefe 100644 --- a/tct-download-tizen-tests/download/DownloadManager_notexist.html +++ b/tct-download-tizen-tests/download/DownloadManager_notexist.html @@ -22,22 +22,22 @@ Authors: DownloadManager_notexist - - + +
diff --git a/tct-download-tizen-tests/download/DownloadManager_pause.html b/tct-download-tizen-tests/download/DownloadManager_pause.html index 774956861..32488eedb 100644 --- a/tct-download-tizen-tests/download/DownloadManager_pause.html +++ b/tct-download-tizen-tests/download/DownloadManager_pause.html @@ -34,47 +34,47 @@ Authors: DownloadManager_pause - - + +
- + +
diff --git a/tct-download-tizen-tests/download/DownloadManager_resume.html b/tct-download-tizen-tests/download/DownloadManager_resume.html index 7b5bc8d4e..a51c17c01 100644 --- a/tct-download-tizen-tests/download/DownloadManager_resume.html +++ b/tct-download-tizen-tests/download/DownloadManager_resume.html @@ -34,22 +34,22 @@ Authors: DownloadManager_resume - - + +
- + +
diff --git a/tct-download-tizen-tests/download/DownloadManager_setListener.html b/tct-download-tizen-tests/download/DownloadManager_setListener.html index 6af65237e..5ce7f1cf7 100644 --- a/tct-download-tizen-tests/download/DownloadManager_setListener.html +++ b/tct-download-tizen-tests/download/DownloadManager_setListener.html @@ -33,38 +33,38 @@ Authors: DownloadManager_setListener - - + +
- + +
- + +
- + +
diff --git a/tct-download-tizen-tests/download/DownloadManager_setListener_missarg.html b/tct-download-tizen-tests/download/DownloadManager_setListener_missarg.html index 98e4f44c4..1d4484083 100644 --- a/tct-download-tizen-tests/download/DownloadManager_setListener_missarg.html +++ b/tct-download-tizen-tests/download/DownloadManager_setListener_missarg.html @@ -22,25 +22,25 @@ Authors: DownloadManager_setListener_missarg - - + +
diff --git a/tct-download-tizen-tests/download/DownloadManager_setListener_null.html b/tct-download-tizen-tests/download/DownloadManager_setListener_null.html index abe5ed265..afa45e7f1 100644 --- a/tct-download-tizen-tests/download/DownloadManager_setListener_null.html +++ b/tct-download-tizen-tests/download/DownloadManager_setListener_null.html @@ -32,8 +32,7 @@ Authors: DownloadManager_setListener_null - - +
@@ -46,11 +45,11 @@ Authors: //==== TEST_CRITERIA MC test(function () { - assert_throws({name: "TypeMismatchError"}, + assert_throws(TYPE_MISMATCH_EXCEPTION, function () { tizen.download.setListener(null, null); }, "TypeMismatchError exception should be thrown (given null arguments)."); -}, "DownloadManager_setListener_null"); +}, document.title); diff --git a/tct-download-tizen-tests/download/DownloadManager_start.html b/tct-download-tizen-tests/download/DownloadManager_start.html index bbda495d0..3caa0a129 100644 --- a/tct-download-tizen-tests/download/DownloadManager_start.html +++ b/tct-download-tizen-tests/download/DownloadManager_start.html @@ -22,14 +22,14 @@ Authors: DownloadManager_start - - + +
diff --git a/tct-download-tizen-tests/download/DownloadManager_start_downloadCallback_TypeMismatch.html b/tct-download-tizen-tests/download/DownloadManager_start_downloadCallback_TypeMismatch.html index 719fc487c..1d51faad8 100644 --- a/tct-download-tizen-tests/download/DownloadManager_start_downloadCallback_TypeMismatch.html +++ b/tct-download-tizen-tests/download/DownloadManager_start_downloadCallback_TypeMismatch.html @@ -22,15 +22,15 @@ Authors: DownloadManager_start_downloadCallback_TypeMismatch - - + +
- + +
- + +
- + +
- + +
diff --git a/tct-download-tizen-tests/download/DownloadManager_start_missarg.html b/tct-download-tizen-tests/download/DownloadManager_start_missarg.html index 510c780a9..1a6bd70fa 100644 --- a/tct-download-tizen-tests/download/DownloadManager_start_missarg.html +++ b/tct-download-tizen-tests/download/DownloadManager_start_missarg.html @@ -22,26 +22,26 @@ Authors: DownloadManager_start_missarg - - + +
diff --git a/tct-download-tizen-tests/download/DownloadManager_start_with_downloadCallback.html b/tct-download-tizen-tests/download/DownloadManager_start_with_downloadCallback.html index d7b922f13..f7086a790 100644 --- a/tct-download-tizen-tests/download/DownloadManager_start_with_downloadCallback.html +++ b/tct-download-tizen-tests/download/DownloadManager_start_with_downloadCallback.html @@ -34,14 +34,14 @@ Authors: DownloadManager_start_with_downloadCallback - - + +
- + + @@ -35,7 +35,7 @@ Authors: diff --git a/tct-download-tizen-tests/download/DownloadRequest_constructor.html b/tct-download-tizen-tests/download/DownloadRequest_constructor.html index 1e8596a1e..e0de4c7dc 100644 --- a/tct-download-tizen-tests/download/DownloadRequest_constructor.html +++ b/tct-download-tizen-tests/download/DownloadRequest_constructor.html @@ -22,15 +22,15 @@ Authors: DownloadRequest_constructor - - + +
diff --git a/tct-download-tizen-tests/download/DownloadRequest_destination_attribute.html b/tct-download-tizen-tests/download/DownloadRequest_destination_attribute.html index 4c28d82d1..96b36f842 100644 --- a/tct-download-tizen-tests/download/DownloadRequest_destination_attribute.html +++ b/tct-download-tizen-tests/download/DownloadRequest_destination_attribute.html @@ -23,15 +23,15 @@ Authors: DownloadRequest_destination_attribute - - + +
diff --git a/tct-download-tizen-tests/download/DownloadRequest_exist.html b/tct-download-tizen-tests/download/DownloadRequest_exist.html index 24d969fd1..69f3adb74 100644 --- a/tct-download-tizen-tests/download/DownloadRequest_exist.html +++ b/tct-download-tizen-tests/download/DownloadRequest_exist.html @@ -22,15 +22,15 @@ Authors: DownloadRequest_exist - - + +
diff --git a/tct-download-tizen-tests/download/DownloadRequest_extend.html b/tct-download-tizen-tests/download/DownloadRequest_extend.html index e313be5db..0c441032c 100644 --- a/tct-download-tizen-tests/download/DownloadRequest_extend.html +++ b/tct-download-tizen-tests/download/DownloadRequest_extend.html @@ -21,15 +21,15 @@ Authors: DownloadRequest_extend - - + +
diff --git a/tct-download-tizen-tests/download/DownloadRequest_fileName_attribute.html b/tct-download-tizen-tests/download/DownloadRequest_fileName_attribute.html index b36d6823f..e4f78cb4d 100644 --- a/tct-download-tizen-tests/download/DownloadRequest_fileName_attribute.html +++ b/tct-download-tizen-tests/download/DownloadRequest_fileName_attribute.html @@ -21,8 +21,8 @@ Authors: DownloadRequest_fileName_attribute - - + + @@ -30,7 +30,7 @@ Authors:
diff --git a/tct-download-tizen-tests/download/DownloadRequest_httpHeader_attribute.html b/tct-download-tizen-tests/download/DownloadRequest_httpHeader_attribute.html index 47bf53ae8..04907ebd1 100644 --- a/tct-download-tizen-tests/download/DownloadRequest_httpHeader_attribute.html +++ b/tct-download-tizen-tests/download/DownloadRequest_httpHeader_attribute.html @@ -21,14 +21,14 @@ Authors: DownloadRequest_httpHeader_attribute - - + +
diff --git a/tct-download-tizen-tests/download/DownloadRequest_networkType_attribute.html b/tct-download-tizen-tests/download/DownloadRequest_networkType_attribute.html index 64b0e02cd..4810e3c6e 100644 --- a/tct-download-tizen-tests/download/DownloadRequest_networkType_attribute.html +++ b/tct-download-tizen-tests/download/DownloadRequest_networkType_attribute.html @@ -21,14 +21,14 @@ Authors: DownloadRequest_networkType_attribute - - + +
diff --git a/tct-download-tizen-tests/download/DownloadRequest_url_attribute.html b/tct-download-tizen-tests/download/DownloadRequest_url_attribute.html index 72fdc787b..d67a93606 100644 --- a/tct-download-tizen-tests/download/DownloadRequest_url_attribute.html +++ b/tct-download-tizen-tests/download/DownloadRequest_url_attribute.html @@ -21,14 +21,14 @@ Authors: DownloadRequest_url_attribute - - + +
diff --git a/tct-download-tizen-tests/download/support/download_common.js b/tct-download-tizen-tests/download/support/download_common.js new file mode 100644 index 000000000..15ff3b401 --- /dev/null +++ b/tct-download-tizen-tests/download/support/download_common.js @@ -0,0 +1,39 @@ +/* + +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: + +*/ + +function assert_type_if_valid(obj, type, msg) { + if(obj !== undefined) { + if(obj !== null) { + assert_equals(typeof(obj), type, msg); + return; + } + } +} + +var TYPE_MISMATCH_ERR = 'TypeMismatchError'; +var INVALID_VALUES_ERR = 'InvalidValuesError'; +var NOT_SUPPORTED_ERR = 'NotSupportedError'; +var NOT_FOUND_ERR = 'NotFoundError'; + +var url_large = "http://download.tizen.org/tct/2_1/webapi-tizen-download-test-image-hq.png"; +var url_small = "http://download.tizen.org/tct/2_1/webapi-tizen-download-test-image-lq.png"; +var url_broken = "http://download.tizen.org/tct/2_1/broken_file"; diff --git a/tct-download-tizen-tests/download/support/downloadcommon.js b/tct-download-tizen-tests/download/support/downloadcommon.js deleted file mode 100644 index 15ff3b401..000000000 --- a/tct-download-tizen-tests/download/support/downloadcommon.js +++ /dev/null @@ -1,39 +0,0 @@ -/* - -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: - -*/ - -function assert_type_if_valid(obj, type, msg) { - if(obj !== undefined) { - if(obj !== null) { - assert_equals(typeof(obj), type, msg); - return; - } - } -} - -var TYPE_MISMATCH_ERR = 'TypeMismatchError'; -var INVALID_VALUES_ERR = 'InvalidValuesError'; -var NOT_SUPPORTED_ERR = 'NotSupportedError'; -var NOT_FOUND_ERR = 'NotFoundError'; - -var url_large = "http://download.tizen.org/tct/2_1/webapi-tizen-download-test-image-hq.png"; -var url_small = "http://download.tizen.org/tct/2_1/webapi-tizen-download-test-image-lq.png"; -var url_broken = "http://download.tizen.org/tct/2_1/broken_file"; diff --git a/tct-download-tizen-tests/download/support/unitcommon.js b/tct-download-tizen-tests/download/support/unitcommon.js new file mode 100644 index 000000000..9f972c1eb --- /dev/null +++ b/tct-download-tizen-tests/download/support/unitcommon.js @@ -0,0 +1,559 @@ +/* + +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: + + */ + + +MIN_BYTE = -128; +MAX_BYTE = 127; +MIN_OCTET = 0; +MAX_OCTET = 255; +MIN_SHORT = -32768; +MAX_SHORT = 32767; +MIN_UNSIGNED_SHORT = 0; +MAX_UNSIGNED_SHORT = 65535; +MIN_LONG = -2147483648; +MAX_LONG = 2147483647; +MIN_UNSIGNED_LONG = 0; +MAX_UNSIGNED_LONG = 4294967295; +MIN_LONG_LONG = -9223372036854775808; +MAX_LONG_LONG = 9223372036854775807; +MIN_UNSIGNED_LONG_LONG = 0; +MAX_UNSIGNED_LONG_LONG = 18446744073709551615; + +TYPE_MISMATCH_EXCEPTION = {name: 'TypeMismatchError'}; +NOT_FOUND_EXCEPTION = {name: 'NotFoundError'}; +INVALID_VALUES_EXCEPTION = {name: 'InvalidValuesError'}; +IO_EXCEPTION = {name: 'IOError'}; +SECURITY_EXCEPTION = {name: 'SecurityError'}; + + +(function () { + var head_src = document.head.innerHTML; + if (head_src.search(/\/testharness.js\W/) === -1) { + document.write('\n'); + } + if (head_src.search(/\/testharnessreport.js\W/) === -1) { + document.write('\n'); + } +})(); + +var _registered_types = {}; + +function _resolve_registered_type(type) { + while (type in _registered_types) { + type = _registered_types[type]; + } + return type; +} + +/** + * Method checks extra argument for none argument method. + * The only check is that method will not throw an exception. + * Example usage: + * checkExtraArgument(tizen.notification, "removeAll"); + * + * @param object object + * @param methodName string - name of the method + */ +function checkExtraArgument(object, methodName) { + var extraArgument = [ + null, + undefined, + "Tizen", + 1, + false, + ["one", "two"], + {argument: 1}, + function () {} + ], i; + + for (i = 0; i < extraArgument.length; i++) { + object[methodName](extraArgument[i]); + } +} + +/** + * Method to validate conversion. + * Example usage: + * conversionTable = getTypeConversionExceptions("functionObject", true); + * for(i = 0; i < conversionTable.length; i++) { + * errorCallback = conversionTable[i][0]; + * exceptionName = conversionTable[i][1]; + * + * assert_throws({name : exceptionName}, + * function () { + * tizen.systemsetting.setProperty("HOME_SCREEN", + * propertyValue, successCallback, errorCallback); + * }, exceptionName + " should be thrown - given incorrect errorCallback."); + * } + * + * @param conversionType + * @param isOptional + * @returns table of tables which contain value (index 0) and exceptionName (index 1) + * + */ +function getTypeConversionExceptions(conversionType, isOptional) { + var exceptionName = "TypeMismatchError", + conversionTable; + switch (conversionType) { + case "enum": + conversionTable = [ + [undefined, exceptionName], + [null, exceptionName], + [0, exceptionName], + [true, exceptionName], + ["dummyInvalidEnumValue", exceptionName], + [{ }, exceptionName] + ]; + break; + case "double": + conversionTable = [ + [undefined, exceptionName], + [NaN, exceptionName], + [Number.POSITIVE_INFINITY, exceptionName], + [Number.NEGATIVE_INFINITY, exceptionName], + ["TIZEN", exceptionName], + [{ name : "TIZEN" }, exceptionName], + [function () { }, exceptionName] + ]; + break; + case "object": + conversionTable = [ + [true, exceptionName], + [false, exceptionName], + [NaN, exceptionName], + [0, exceptionName], + ["", exceptionName], + ["TIZEN", exceptionName], + [undefined, exceptionName] + ]; + if (!isOptional) { + conversionTable.push([null, exceptionName]); + } + break; + case "functionObject": + conversionTable = [ + [true, exceptionName], + [false, exceptionName], + [NaN, exceptionName], + [0, exceptionName], + ["", exceptionName], + ["TIZEN", exceptionName], + [[], exceptionName], + [{ }, exceptionName], + [undefined, exceptionName] + ]; + if (!isOptional) { + conversionTable.push([null, exceptionName]); + } + break; + case "array": + conversionTable = [ + [true, exceptionName], + [false, exceptionName], + [NaN, exceptionName], + [0, exceptionName], + ["", exceptionName], + ["TIZEN", exceptionName], + [{ }, exceptionName], + [function () { }, exceptionName], + [undefined, exceptionName] + ]; + if (!isOptional) { + conversionTable.push([null, exceptionName]); + } + break; + case "dictionary": + conversionTable = [ + [true, exceptionName], + [false, exceptionName], + [NaN, exceptionName], + [0, exceptionName], + ["", exceptionName], + ["TIZEN", exceptionName], + [undefined, exceptionName] + ]; + if (!isOptional) { + conversionTable.push([null, exceptionName]); + } + break; + default: + assert_unreached("Fix your test. Wrong conversionType '" + conversionType + "'."); + }; + + return conversionTable; +} + + +function assert_type(obj, type, description) { + var org_type = type, prop_name, prop_type, prop_value; + + type = _resolve_registered_type(type); + + if (typeof (type) === 'string') { + type = type.toLowerCase(); + switch (type) { + case 'object': + case 'string': + case 'number': + case 'function': + case 'boolean': + case 'undefined': + case 'xml': + assert_equals(typeof (obj), type, description); + break; + case 'null': + assert_true(obj === null, description); + break; + case 'array': + assert_true(Array.isArray(obj), description); + break; + case 'date': + assert_true(obj instanceof Date, description); + break; + case 'byte': + assert_equals(typeof (obj), 'number', description); + assert_greater_than_equal(obj, MIN_BYTE, description + " - value too low."); + assert_less_than_equal(obj, MAX_BYTE, description + " - value too high."); + assert_equals(Math.abs(obj % 1), 0, description + " - value is not an integer."); + break; + case 'octet': + assert_equals(typeof (obj), 'number', description); + assert_greater_than_equal(obj, MIN_OCTET, description + " - value too low."); + assert_less_than_equal(obj, MAX_OCTET, description + " - value too high."); + assert_equals(obj % 1, 0, description + " - value is not an integer."); + break; + case 'short': + assert_equals(typeof (obj), 'number', description); + assert_greater_than_equal(obj, MIN_SHORT, description + " - value too low."); + assert_less_than_equal(obj, MAX_SHORT, description + " - value too high."); + assert_equals(Math.abs(obj % 1), 0, description + " - value is not an integer."); + break; + case 'unsigned short': + assert_equals(typeof (obj), 'number', description); + assert_greater_than_equal(obj, MIN_UNSIGNED_SHORT, description + " - value too low."); + assert_less_than_equal(obj, MAX_UNSIGNED_SHORT, description + " - value too high."); + assert_equals(obj % 1, 0, description + " - value is not an integer."); + break; + case 'long': + assert_equals(typeof (obj), 'number', description); + assert_greater_than_equal(obj, MIN_LONG, description + " - value too low."); + assert_less_than_equal(obj, MAX_LONG, description + " - value too high."); + assert_equals(Math.abs(obj % 1), 0, description + " - value is not an integer."); + break; + case 'unsigned long': + assert_equals(typeof (obj), 'number', description); + assert_greater_than_equal(obj, MIN_UNSIGNED_LONG, description + " - value too low."); + assert_less_than_equal(obj, MAX_UNSIGNED_LONG, description + " - value too high."); + assert_equals(obj % 1, 0, description + " - value is not an integer."); + break; + case 'long long': + assert_equals(typeof (obj), 'number', description); + assert_greater_than_equal(obj, MIN_LONG_LONG, description + " - value too low."); + assert_less_than_equal(obj, MAX_LONG_LONG, description + " - value too high."); + assert_equals(Math.abs(obj % 1), 0, description + " - value is not an integer."); + break; + case 'unsigned long long': + assert_equals(typeof (obj), 'number', description); + assert_greater_than_equal(obj, MIN_UNSIGNED_LONG_LONG, description + " - value too low."); + assert_less_than_equal(obj, MAX_UNSIGNED_LONG_LONG, description + " - value too high."); + assert_equals(obj % 1, 0, description + " - value is not an integer."); + break; + default: + assert_unreached('Fix your test. Wrong type \'' + org_type + '\''); + } + } else if (typeof (type) === 'function') { + assert_true(obj instanceof type, description); + } else if (typeof (type) === 'object') { + for (prop_name in type) { + prop_type = type[prop_name]; + if (prop_type === 'function') { + assert_inherits(obj, prop_name); + assert_equals(typeof obj[prop_name], prop_type, 'Object should have method ' + prop_name); + } else { + assert_own_property(obj, prop_name); + } + } + } else { + assert_unreached('Fix your test. Wrong type ' + org_type); + } +} + +function register_type(alias, type_spec) { + _registered_types[alias] = type_spec; +} + +/** + * Method to check if attribute is const. + * Example usage: + * check_const(tizen.bluetooth.deviceMinor, 'TOY_DOLL', 0x03, 'number', 0x29B); + * + * @param obj object to test which has const attribute + * @param attributeName attribute name. + * @param expectedValue expected value of provided attribute name + * @param expectedType expected type of provided attribute name + * @param valueToAssign value to assign in order to check if attribute value can be modified + */ +function check_const(obj, attributeName, expectedValue, expectedType, valueToAssign) { + var tmp; + if (expectedValue === valueToAssign) { + assert_unreached("Fix your test. The same values given for " + attributeName + + " in 'value' and 'valueToSet' arguments."); + } + if (typeof (attributeName) === "string") { + assert_true(attributeName in obj, "Name " + attributeName + " doesn't exist in provided object."); + assert_equals(obj[attributeName], expectedValue, "Value of " + attributeName + " is diffrent."); + if (typeof (expectedType) !== "undefined") { + if (expectedValue === null) { + assert_type(obj[attributeName], "object", "Type of " + attributeName + " is different."); + } else { + assert_type(obj[attributeName], expectedType, "Type of " + attributeName + " is different."); + } + } else { + assert_unreached("Fix your test. Wrong type " + expectedType); + } + tmp = obj[attributeName]; + obj[attributeName] = valueToAssign; + assert_equals(obj[attributeName], tmp, attributeName + " can be modified."); + } else { + assert_unreached("Fix your test. Wrong type of name " + typeof (attributeName)); + } +} + +/** + * Method to check if attribute is readonly. + * Example usage: + * check_readonly(statusNotification, "postedTime", null, 'object', new Date()); + * + * @param obj object to test which has readonly attribute + * @param attributeName attribute name. + * @param expectedValue expected value of provided attribute name + * @param expectedType expected type of provided attribute name + * @param valueToAssign value to assign in order to check if attribute value can be modified + */ +function check_readonly(obj, attributeName, expectedValue, expectedType, valueToAssign) { + check_const(obj, attributeName, expectedValue, expectedType, valueToAssign); +} + +/** + * Method to check if attribute can be set to null. + * Example usage: + * check_not_nullable(syncInfo, "mode"); + * + * @param obj object to test which has not nullable attribute + * @param attributeName attribute name. + */ +function check_not_nullable(obj, attributeName) +{ var old_value = obj[attributeName]; + obj[attributeName] = null; + assert_not_equals(obj[attributeName], null, "Attribute " + attributeName + " can be set to null."); + obj[attributeName] = old_value; +} + +/** + * Method to check NoInterfaceObject + * Example usage: + * check_no_interface_object("BluetoothAdapter") + * + * @param interfaceName interface name + */ +function check_no_interface_object(interfaceName) { + assert_throws({name: "TypeError"}, function () { + tizen[interfaceName](); + },"Wrong call as a function"); + assert_throws({name: "TypeError"}, function () { + new tizen[interfaceName](); + },"Wrong call as a new function"); + assert_throws({name: "TypeError"}, function () { + ({}) instanceof tizen[interfaceName]; + },"instanceof exception"); + assert_equals(tizen[interfaceName], undefined, interfaceName + " is not undefined."); +} + + +/** + * Method to check Constructors + * Example usage: + * check_constructor("BluetoothAdapter") + * + * @param constructorName constructor name + */ + +function check_constructor(constructorName) { + assert_true(constructorName in tizen, "No " + constructorName + " in tizen."); + assert_false({} instanceof tizen[constructorName],"Custom object is not instance of " + constructorName); + assert_throws({ + name: "TypeError" + }, function () { + tizen[constructorName](); + }, "Constructor called as function."); +} + +/** + * Method to check if given method can be overridden in a given object - (TEMPORARY REMOVED). + * That method also checks if given method exists in a given object. + * Example usage: + * check_method_exists(tizen.notification, "get"); + * + * @param obj object with method + * @param methodName name of the method to check. + */ +function check_method_exists(obj, methodName) { + assert_type(obj[methodName], 'function', "Method does not exist."); +} + +/** + * Method to check extensibility of given object. + * Method checks if new attribute and method can be added. + * Example usage: + * check_extensibility(tizen.notification); + * + * @param obj object to check + */ +function check_extensibility(obj) { + var dummyAttribute = "dummyAttributeValue", dummyMethodResult = "dummyMethodResultValue"; + obj.newDummyMethod = function() { + return dummyMethodResult; + } + assert_equals(obj.newDummyMethod(), dummyMethodResult, "Incorrect result from added method."); + + obj.newDummyAttribute = dummyAttribute; + assert_equals(obj.newDummyAttribute, dummyAttribute, "Incorrect result from added attribute."); +} + +/** + * Method to check if attribute can be modify. + * Example usage: + * check_attr(downloadRequest, "fileName", default_val, "string", "file_name.html"); + * + * @param obj object to test which has not readonly attribute + * @param attributeName attribute name. + * @param expectedValue expected value of provided attribute name + * @param expectedType expected type of provided attribute name + * @param valueToAssign value to assign in order to check if attribute value can be modified + */ +function check_attribute(obj, attributeName, expectedValue, expectedType, valueToAssign) { + if (expectedValue === valueToAssign) { + assert_unreached("Fix your test. The same values given for " + attributeName + + " in 'value' and 'valueToSet' arguments."); + } + if (typeof (attributeName) === "string") { + assert_true(attributeName in obj, "Name " + attributeName + " doesn't exist in provided object."); + assert_equals(obj[attributeName], expectedValue, "Value of " + attributeName + " is diffrent."); + if (typeof (expectedType) !== "undefined") { + if (expectedValue === null) { + assert_type(obj[attributeName], "object", "Type of " + attributeName + " is different."); + } else { + assert_type(obj[attributeName], expectedType, "Type of " + attributeName + " is different."); + } + } else { + assert_unreached("Fix your test. Wrong type " + expectedType); + } + obj[attributeName] = valueToAssign; + assert_equals(obj[attributeName], valueToAssign, attributeName + " can be modified."); + } else { + assert_unreached("Fix your test. Wrong type of name " + typeof (attributeName)); + } +} + +/** + * Method to check if whole array can be overwritten with an invalid value. + * Sample usage: + * check_invalid_array_assignments(message, "to", false); + * + * @param obj object which has the array as its property + * @param array name of the array to check + * @param isNullable indicates if the array can be null + */ +function check_invalid_array_assignments(obj, array, isNullable) { + var args = [undefined, true, false, NaN, 0, "TIZEN", {}, function () {}], + val = obj[array], i; + + if (!isNullable) { + obj[array] = null; + assert_not_equals(obj[array], null, "Non-nullable array was set to null"); + assert_type(obj[array], "array", "Non-nullable array type changed after assigning null"); + assert_equals(obj[array].toString(), val.toString(), "Non-nullable array contents changed after assigning null"); + } + + for (i = 0 ; i < args.length ; i++) { + obj[array] = args[i]; + assert_type(obj[array], "array", "Array type changed after assigning an invalid value"); + assert_equals(obj[array].toString(), val.toString(), "Array contents changed after assigning an invalid value"); + } +} + +/** + * Method to check if an object can be overwritten with an invalid value. + * Sample usage: + * check_invalid_object_assignments(message, "body", false); + * + * @param parentObj object which has the 'obj' object as its property + * @param obj name of the object to check + * @param isNullable indicates if the object can be null + */ +function check_invalid_obj_assignments(parentObj, obj, isNullable) { + var args = [undefined, true, false, NaN, 0, "TIZEN", function () {}], + val = parentObj[obj], i; + + if (!isNullable) { + parentObj[obj] = null; + assert_equals(parentObj[obj], val, "Non-nullable obj was modified after assigning null"); + } + + for (i = 0 ; i < args.length ; i++) { + parentObj[obj] = args[i]; + assert_equals(parentObj[obj], val, "The object was set to " + args[i]); + } +} + +/** + * Method to validate conversion for listeners. + * Example usage: + * incorrectListeners = getListenerConversionExceptions(["oninstalled", "onupdated", "onuninstalled"]); + * for(i = 0; i < incorrectListeners.length; i++) { + * packageInformationEventCallback = incorrectListeners[i][0]; + * exceptionName = incorrectListeners[i][1]; + * assert_throws({name : exceptionName}, + * function () { + * tizen.package.setPackageInfoEventListener(packageInformationEventCallback); + * }, exceptionName + " should be thrown - given incorrect successCallback."); + * } + * + * + * @param callbackNames Array with names + * @returns {Array} table of tables which contain incorrect listener (index 0) and exceptionName (index 1) + * + */ +function getListenerConversionExceptions(callbackNames) { + var result = [], conversionTable, i, j, listenerName; + conversionTable = getTypeConversionExceptions("functionObject", false); + + for (i = 0; i < callbackNames.length; i++) { + for (j = 0; j < conversionTable.length; j++) { + listenerName = {}; + listenerName[callbackNames[i]] = conversionTable[j][0]; + result.push([listenerName, conversionTable[j][1]]); + } + } + + return result; +} diff --git a/tct-download-tizen-tests/resources/unitcommon.js b/tct-download-tizen-tests/resources/unitcommon.js deleted file mode 100644 index 9f972c1eb..000000000 --- a/tct-download-tizen-tests/resources/unitcommon.js +++ /dev/null @@ -1,559 +0,0 @@ -/* - -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: - - */ - - -MIN_BYTE = -128; -MAX_BYTE = 127; -MIN_OCTET = 0; -MAX_OCTET = 255; -MIN_SHORT = -32768; -MAX_SHORT = 32767; -MIN_UNSIGNED_SHORT = 0; -MAX_UNSIGNED_SHORT = 65535; -MIN_LONG = -2147483648; -MAX_LONG = 2147483647; -MIN_UNSIGNED_LONG = 0; -MAX_UNSIGNED_LONG = 4294967295; -MIN_LONG_LONG = -9223372036854775808; -MAX_LONG_LONG = 9223372036854775807; -MIN_UNSIGNED_LONG_LONG = 0; -MAX_UNSIGNED_LONG_LONG = 18446744073709551615; - -TYPE_MISMATCH_EXCEPTION = {name: 'TypeMismatchError'}; -NOT_FOUND_EXCEPTION = {name: 'NotFoundError'}; -INVALID_VALUES_EXCEPTION = {name: 'InvalidValuesError'}; -IO_EXCEPTION = {name: 'IOError'}; -SECURITY_EXCEPTION = {name: 'SecurityError'}; - - -(function () { - var head_src = document.head.innerHTML; - if (head_src.search(/\/testharness.js\W/) === -1) { - document.write('\n'); - } - if (head_src.search(/\/testharnessreport.js\W/) === -1) { - document.write('\n'); - } -})(); - -var _registered_types = {}; - -function _resolve_registered_type(type) { - while (type in _registered_types) { - type = _registered_types[type]; - } - return type; -} - -/** - * Method checks extra argument for none argument method. - * The only check is that method will not throw an exception. - * Example usage: - * checkExtraArgument(tizen.notification, "removeAll"); - * - * @param object object - * @param methodName string - name of the method - */ -function checkExtraArgument(object, methodName) { - var extraArgument = [ - null, - undefined, - "Tizen", - 1, - false, - ["one", "two"], - {argument: 1}, - function () {} - ], i; - - for (i = 0; i < extraArgument.length; i++) { - object[methodName](extraArgument[i]); - } -} - -/** - * Method to validate conversion. - * Example usage: - * conversionTable = getTypeConversionExceptions("functionObject", true); - * for(i = 0; i < conversionTable.length; i++) { - * errorCallback = conversionTable[i][0]; - * exceptionName = conversionTable[i][1]; - * - * assert_throws({name : exceptionName}, - * function () { - * tizen.systemsetting.setProperty("HOME_SCREEN", - * propertyValue, successCallback, errorCallback); - * }, exceptionName + " should be thrown - given incorrect errorCallback."); - * } - * - * @param conversionType - * @param isOptional - * @returns table of tables which contain value (index 0) and exceptionName (index 1) - * - */ -function getTypeConversionExceptions(conversionType, isOptional) { - var exceptionName = "TypeMismatchError", - conversionTable; - switch (conversionType) { - case "enum": - conversionTable = [ - [undefined, exceptionName], - [null, exceptionName], - [0, exceptionName], - [true, exceptionName], - ["dummyInvalidEnumValue", exceptionName], - [{ }, exceptionName] - ]; - break; - case "double": - conversionTable = [ - [undefined, exceptionName], - [NaN, exceptionName], - [Number.POSITIVE_INFINITY, exceptionName], - [Number.NEGATIVE_INFINITY, exceptionName], - ["TIZEN", exceptionName], - [{ name : "TIZEN" }, exceptionName], - [function () { }, exceptionName] - ]; - break; - case "object": - conversionTable = [ - [true, exceptionName], - [false, exceptionName], - [NaN, exceptionName], - [0, exceptionName], - ["", exceptionName], - ["TIZEN", exceptionName], - [undefined, exceptionName] - ]; - if (!isOptional) { - conversionTable.push([null, exceptionName]); - } - break; - case "functionObject": - conversionTable = [ - [true, exceptionName], - [false, exceptionName], - [NaN, exceptionName], - [0, exceptionName], - ["", exceptionName], - ["TIZEN", exceptionName], - [[], exceptionName], - [{ }, exceptionName], - [undefined, exceptionName] - ]; - if (!isOptional) { - conversionTable.push([null, exceptionName]); - } - break; - case "array": - conversionTable = [ - [true, exceptionName], - [false, exceptionName], - [NaN, exceptionName], - [0, exceptionName], - ["", exceptionName], - ["TIZEN", exceptionName], - [{ }, exceptionName], - [function () { }, exceptionName], - [undefined, exceptionName] - ]; - if (!isOptional) { - conversionTable.push([null, exceptionName]); - } - break; - case "dictionary": - conversionTable = [ - [true, exceptionName], - [false, exceptionName], - [NaN, exceptionName], - [0, exceptionName], - ["", exceptionName], - ["TIZEN", exceptionName], - [undefined, exceptionName] - ]; - if (!isOptional) { - conversionTable.push([null, exceptionName]); - } - break; - default: - assert_unreached("Fix your test. Wrong conversionType '" + conversionType + "'."); - }; - - return conversionTable; -} - - -function assert_type(obj, type, description) { - var org_type = type, prop_name, prop_type, prop_value; - - type = _resolve_registered_type(type); - - if (typeof (type) === 'string') { - type = type.toLowerCase(); - switch (type) { - case 'object': - case 'string': - case 'number': - case 'function': - case 'boolean': - case 'undefined': - case 'xml': - assert_equals(typeof (obj), type, description); - break; - case 'null': - assert_true(obj === null, description); - break; - case 'array': - assert_true(Array.isArray(obj), description); - break; - case 'date': - assert_true(obj instanceof Date, description); - break; - case 'byte': - assert_equals(typeof (obj), 'number', description); - assert_greater_than_equal(obj, MIN_BYTE, description + " - value too low."); - assert_less_than_equal(obj, MAX_BYTE, description + " - value too high."); - assert_equals(Math.abs(obj % 1), 0, description + " - value is not an integer."); - break; - case 'octet': - assert_equals(typeof (obj), 'number', description); - assert_greater_than_equal(obj, MIN_OCTET, description + " - value too low."); - assert_less_than_equal(obj, MAX_OCTET, description + " - value too high."); - assert_equals(obj % 1, 0, description + " - value is not an integer."); - break; - case 'short': - assert_equals(typeof (obj), 'number', description); - assert_greater_than_equal(obj, MIN_SHORT, description + " - value too low."); - assert_less_than_equal(obj, MAX_SHORT, description + " - value too high."); - assert_equals(Math.abs(obj % 1), 0, description + " - value is not an integer."); - break; - case 'unsigned short': - assert_equals(typeof (obj), 'number', description); - assert_greater_than_equal(obj, MIN_UNSIGNED_SHORT, description + " - value too low."); - assert_less_than_equal(obj, MAX_UNSIGNED_SHORT, description + " - value too high."); - assert_equals(obj % 1, 0, description + " - value is not an integer."); - break; - case 'long': - assert_equals(typeof (obj), 'number', description); - assert_greater_than_equal(obj, MIN_LONG, description + " - value too low."); - assert_less_than_equal(obj, MAX_LONG, description + " - value too high."); - assert_equals(Math.abs(obj % 1), 0, description + " - value is not an integer."); - break; - case 'unsigned long': - assert_equals(typeof (obj), 'number', description); - assert_greater_than_equal(obj, MIN_UNSIGNED_LONG, description + " - value too low."); - assert_less_than_equal(obj, MAX_UNSIGNED_LONG, description + " - value too high."); - assert_equals(obj % 1, 0, description + " - value is not an integer."); - break; - case 'long long': - assert_equals(typeof (obj), 'number', description); - assert_greater_than_equal(obj, MIN_LONG_LONG, description + " - value too low."); - assert_less_than_equal(obj, MAX_LONG_LONG, description + " - value too high."); - assert_equals(Math.abs(obj % 1), 0, description + " - value is not an integer."); - break; - case 'unsigned long long': - assert_equals(typeof (obj), 'number', description); - assert_greater_than_equal(obj, MIN_UNSIGNED_LONG_LONG, description + " - value too low."); - assert_less_than_equal(obj, MAX_UNSIGNED_LONG_LONG, description + " - value too high."); - assert_equals(obj % 1, 0, description + " - value is not an integer."); - break; - default: - assert_unreached('Fix your test. Wrong type \'' + org_type + '\''); - } - } else if (typeof (type) === 'function') { - assert_true(obj instanceof type, description); - } else if (typeof (type) === 'object') { - for (prop_name in type) { - prop_type = type[prop_name]; - if (prop_type === 'function') { - assert_inherits(obj, prop_name); - assert_equals(typeof obj[prop_name], prop_type, 'Object should have method ' + prop_name); - } else { - assert_own_property(obj, prop_name); - } - } - } else { - assert_unreached('Fix your test. Wrong type ' + org_type); - } -} - -function register_type(alias, type_spec) { - _registered_types[alias] = type_spec; -} - -/** - * Method to check if attribute is const. - * Example usage: - * check_const(tizen.bluetooth.deviceMinor, 'TOY_DOLL', 0x03, 'number', 0x29B); - * - * @param obj object to test which has const attribute - * @param attributeName attribute name. - * @param expectedValue expected value of provided attribute name - * @param expectedType expected type of provided attribute name - * @param valueToAssign value to assign in order to check if attribute value can be modified - */ -function check_const(obj, attributeName, expectedValue, expectedType, valueToAssign) { - var tmp; - if (expectedValue === valueToAssign) { - assert_unreached("Fix your test. The same values given for " + attributeName + - " in 'value' and 'valueToSet' arguments."); - } - if (typeof (attributeName) === "string") { - assert_true(attributeName in obj, "Name " + attributeName + " doesn't exist in provided object."); - assert_equals(obj[attributeName], expectedValue, "Value of " + attributeName + " is diffrent."); - if (typeof (expectedType) !== "undefined") { - if (expectedValue === null) { - assert_type(obj[attributeName], "object", "Type of " + attributeName + " is different."); - } else { - assert_type(obj[attributeName], expectedType, "Type of " + attributeName + " is different."); - } - } else { - assert_unreached("Fix your test. Wrong type " + expectedType); - } - tmp = obj[attributeName]; - obj[attributeName] = valueToAssign; - assert_equals(obj[attributeName], tmp, attributeName + " can be modified."); - } else { - assert_unreached("Fix your test. Wrong type of name " + typeof (attributeName)); - } -} - -/** - * Method to check if attribute is readonly. - * Example usage: - * check_readonly(statusNotification, "postedTime", null, 'object', new Date()); - * - * @param obj object to test which has readonly attribute - * @param attributeName attribute name. - * @param expectedValue expected value of provided attribute name - * @param expectedType expected type of provided attribute name - * @param valueToAssign value to assign in order to check if attribute value can be modified - */ -function check_readonly(obj, attributeName, expectedValue, expectedType, valueToAssign) { - check_const(obj, attributeName, expectedValue, expectedType, valueToAssign); -} - -/** - * Method to check if attribute can be set to null. - * Example usage: - * check_not_nullable(syncInfo, "mode"); - * - * @param obj object to test which has not nullable attribute - * @param attributeName attribute name. - */ -function check_not_nullable(obj, attributeName) -{ var old_value = obj[attributeName]; - obj[attributeName] = null; - assert_not_equals(obj[attributeName], null, "Attribute " + attributeName + " can be set to null."); - obj[attributeName] = old_value; -} - -/** - * Method to check NoInterfaceObject - * Example usage: - * check_no_interface_object("BluetoothAdapter") - * - * @param interfaceName interface name - */ -function check_no_interface_object(interfaceName) { - assert_throws({name: "TypeError"}, function () { - tizen[interfaceName](); - },"Wrong call as a function"); - assert_throws({name: "TypeError"}, function () { - new tizen[interfaceName](); - },"Wrong call as a new function"); - assert_throws({name: "TypeError"}, function () { - ({}) instanceof tizen[interfaceName]; - },"instanceof exception"); - assert_equals(tizen[interfaceName], undefined, interfaceName + " is not undefined."); -} - - -/** - * Method to check Constructors - * Example usage: - * check_constructor("BluetoothAdapter") - * - * @param constructorName constructor name - */ - -function check_constructor(constructorName) { - assert_true(constructorName in tizen, "No " + constructorName + " in tizen."); - assert_false({} instanceof tizen[constructorName],"Custom object is not instance of " + constructorName); - assert_throws({ - name: "TypeError" - }, function () { - tizen[constructorName](); - }, "Constructor called as function."); -} - -/** - * Method to check if given method can be overridden in a given object - (TEMPORARY REMOVED). - * That method also checks if given method exists in a given object. - * Example usage: - * check_method_exists(tizen.notification, "get"); - * - * @param obj object with method - * @param methodName name of the method to check. - */ -function check_method_exists(obj, methodName) { - assert_type(obj[methodName], 'function', "Method does not exist."); -} - -/** - * Method to check extensibility of given object. - * Method checks if new attribute and method can be added. - * Example usage: - * check_extensibility(tizen.notification); - * - * @param obj object to check - */ -function check_extensibility(obj) { - var dummyAttribute = "dummyAttributeValue", dummyMethodResult = "dummyMethodResultValue"; - obj.newDummyMethod = function() { - return dummyMethodResult; - } - assert_equals(obj.newDummyMethod(), dummyMethodResult, "Incorrect result from added method."); - - obj.newDummyAttribute = dummyAttribute; - assert_equals(obj.newDummyAttribute, dummyAttribute, "Incorrect result from added attribute."); -} - -/** - * Method to check if attribute can be modify. - * Example usage: - * check_attr(downloadRequest, "fileName", default_val, "string", "file_name.html"); - * - * @param obj object to test which has not readonly attribute - * @param attributeName attribute name. - * @param expectedValue expected value of provided attribute name - * @param expectedType expected type of provided attribute name - * @param valueToAssign value to assign in order to check if attribute value can be modified - */ -function check_attribute(obj, attributeName, expectedValue, expectedType, valueToAssign) { - if (expectedValue === valueToAssign) { - assert_unreached("Fix your test. The same values given for " + attributeName + - " in 'value' and 'valueToSet' arguments."); - } - if (typeof (attributeName) === "string") { - assert_true(attributeName in obj, "Name " + attributeName + " doesn't exist in provided object."); - assert_equals(obj[attributeName], expectedValue, "Value of " + attributeName + " is diffrent."); - if (typeof (expectedType) !== "undefined") { - if (expectedValue === null) { - assert_type(obj[attributeName], "object", "Type of " + attributeName + " is different."); - } else { - assert_type(obj[attributeName], expectedType, "Type of " + attributeName + " is different."); - } - } else { - assert_unreached("Fix your test. Wrong type " + expectedType); - } - obj[attributeName] = valueToAssign; - assert_equals(obj[attributeName], valueToAssign, attributeName + " can be modified."); - } else { - assert_unreached("Fix your test. Wrong type of name " + typeof (attributeName)); - } -} - -/** - * Method to check if whole array can be overwritten with an invalid value. - * Sample usage: - * check_invalid_array_assignments(message, "to", false); - * - * @param obj object which has the array as its property - * @param array name of the array to check - * @param isNullable indicates if the array can be null - */ -function check_invalid_array_assignments(obj, array, isNullable) { - var args = [undefined, true, false, NaN, 0, "TIZEN", {}, function () {}], - val = obj[array], i; - - if (!isNullable) { - obj[array] = null; - assert_not_equals(obj[array], null, "Non-nullable array was set to null"); - assert_type(obj[array], "array", "Non-nullable array type changed after assigning null"); - assert_equals(obj[array].toString(), val.toString(), "Non-nullable array contents changed after assigning null"); - } - - for (i = 0 ; i < args.length ; i++) { - obj[array] = args[i]; - assert_type(obj[array], "array", "Array type changed after assigning an invalid value"); - assert_equals(obj[array].toString(), val.toString(), "Array contents changed after assigning an invalid value"); - } -} - -/** - * Method to check if an object can be overwritten with an invalid value. - * Sample usage: - * check_invalid_object_assignments(message, "body", false); - * - * @param parentObj object which has the 'obj' object as its property - * @param obj name of the object to check - * @param isNullable indicates if the object can be null - */ -function check_invalid_obj_assignments(parentObj, obj, isNullable) { - var args = [undefined, true, false, NaN, 0, "TIZEN", function () {}], - val = parentObj[obj], i; - - if (!isNullable) { - parentObj[obj] = null; - assert_equals(parentObj[obj], val, "Non-nullable obj was modified after assigning null"); - } - - for (i = 0 ; i < args.length ; i++) { - parentObj[obj] = args[i]; - assert_equals(parentObj[obj], val, "The object was set to " + args[i]); - } -} - -/** - * Method to validate conversion for listeners. - * Example usage: - * incorrectListeners = getListenerConversionExceptions(["oninstalled", "onupdated", "onuninstalled"]); - * for(i = 0; i < incorrectListeners.length; i++) { - * packageInformationEventCallback = incorrectListeners[i][0]; - * exceptionName = incorrectListeners[i][1]; - * assert_throws({name : exceptionName}, - * function () { - * tizen.package.setPackageInfoEventListener(packageInformationEventCallback); - * }, exceptionName + " should be thrown - given incorrect successCallback."); - * } - * - * - * @param callbackNames Array with names - * @returns {Array} table of tables which contain incorrect listener (index 0) and exceptionName (index 1) - * - */ -function getListenerConversionExceptions(callbackNames) { - var result = [], conversionTable, i, j, listenerName; - conversionTable = getTypeConversionExceptions("functionObject", false); - - for (i = 0; i < callbackNames.length; i++) { - for (j = 0; j < conversionTable.length; j++) { - listenerName = {}; - listenerName[callbackNames[i]] = conversionTable[j][0]; - result.push([listenerName, conversionTable[j][1]]); - } - } - - return result; -} diff --git a/tct-download-tizen-tests/tests.full.xml b/tct-download-tizen-tests/tests.full.xml index 91b928dad..00ad93aa3 100644 --- a/tct-download-tizen-tests/tests.full.xml +++ b/tct-download-tizen-tests/tests.full.xml @@ -63,7 +63,7 @@ - + /opt/tct-download-tizen-tests/download/DownloadManager_getState_using.html @@ -87,7 +87,7 @@ - + /opt/tct-download-tizen-tests/download/DownloadRequest_destination_attribute.html @@ -99,7 +99,7 @@ - + /opt/tct-download-tizen-tests/download/DownloadRequest_fileName_attribute.html @@ -171,7 +171,7 @@ - + /opt/tct-download-tizen-tests/download/DownloadManagerObject_download_exists.html @@ -183,7 +183,7 @@ - + /opt/tct-download-tizen-tests/download/DownloadRequest_url_attribute.html @@ -195,7 +195,7 @@ - + /opt/tct-download-tizen-tests/download/DownloadManager_start_with_extra_argument.html @@ -291,7 +291,7 @@ - + /opt/tct-download-tizen-tests/download/DownloadRequest_extend.html @@ -303,7 +303,7 @@ - + /opt/tct-download-tizen-tests/download/DownloadRequest_constructor.html @@ -375,7 +375,7 @@ - + /opt/tct-download-tizen-tests/download/DownloadManager_extend.html @@ -387,7 +387,7 @@ - + /opt/tct-download-tizen-tests/download/DownloadCallback_notexist.html @@ -399,7 +399,7 @@ - + /opt/tct-download-tizen-tests/download/DownloadManager_notexist.html @@ -411,7 +411,7 @@ - + /opt/tct-download-tizen-tests/download/DownloadManager_in_tizen.html @@ -435,7 +435,7 @@ - + /opt/tct-download-tizen-tests/download/DownloadManager_start_downloadRequest_invalid_obj.html @@ -531,7 +531,7 @@ - + /opt/tct-download-tizen-tests/download/DownloadRequest_networkType_attribute.html @@ -543,7 +543,7 @@ - + /opt/tct-download-tizen-tests/download/DownloadRequest_httpHeader_attribute.html @@ -555,7 +555,7 @@ - + /opt/tct-download-tizen-tests/download/DownloadManagerObject_notexist.html diff --git a/tct-download-tizen-tests/tests.xml b/tct-download-tizen-tests/tests.xml index 82aeb96da..26f743463 100644 --- a/tct-download-tizen-tests/tests.xml +++ b/tct-download-tizen-tests/tests.xml @@ -28,7 +28,7 @@ /opt/tct-download-tizen-tests/download/DownloadManager_getState_exist.html - + /opt/tct-download-tizen-tests/download/DownloadManager_getState_using.html @@ -38,12 +38,12 @@ /opt/tct-download-tizen-tests/download/DownloadCallback_onprogress.html - + /opt/tct-download-tizen-tests/download/DownloadRequest_destination_attribute.html - + /opt/tct-download-tizen-tests/download/DownloadRequest_fileName_attribute.html @@ -73,17 +73,17 @@ /opt/tct-download-tizen-tests/download/DownloadManager_start.html - + /opt/tct-download-tizen-tests/download/DownloadManagerObject_download_exists.html - + /opt/tct-download-tizen-tests/download/DownloadRequest_url_attribute.html - + /opt/tct-download-tizen-tests/download/DownloadManager_start_with_extra_argument.html @@ -123,12 +123,12 @@ /opt/tct-download-tizen-tests/download/DownloadManager_setListener_null.html - + /opt/tct-download-tizen-tests/download/DownloadRequest_extend.html - + /opt/tct-download-tizen-tests/download/DownloadRequest_constructor.html @@ -158,22 +158,22 @@ /opt/tct-download-tizen-tests/download/DownloadManager_start_missarg.html - + /opt/tct-download-tizen-tests/download/DownloadManager_extend.html - + /opt/tct-download-tizen-tests/download/DownloadCallback_notexist.html - + /opt/tct-download-tizen-tests/download/DownloadManager_notexist.html - + /opt/tct-download-tizen-tests/download/DownloadManager_in_tizen.html @@ -183,7 +183,7 @@ /opt/tct-download-tizen-tests/download/DownloadManager_start_downloadCallback_invalid_cb.html - + /opt/tct-download-tizen-tests/download/DownloadManager_start_downloadRequest_invalid_obj.html @@ -223,17 +223,17 @@ /opt/tct-download-tizen-tests/download/DownloadCallback_onfailed.html - + /opt/tct-download-tizen-tests/download/DownloadRequest_networkType_attribute.html - + /opt/tct-download-tizen-tests/download/DownloadRequest_httpHeader_attribute.html - + /opt/tct-download-tizen-tests/download/DownloadManagerObject_notexist.html