[common][mediacontroller][TWDAPI-227~238, add 286 tcs for new api] 06/215406/4
authorzhongyuan <zy123.yuan@samsung.com>
Tue, 8 Oct 2019 02:12:51 +0000 (10:12 +0800)
committerzhongyuan yuan <zy123.yuan@samsung.com>
Thu, 10 Oct 2019 01:46:07 +0000 (01:46 +0000)
Change-Id: Iba69580936b98d36c184023ff819fd68d9dfa56e

288 files changed:
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_clientCustom_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_displayMode_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_displayRotation_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_extend.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_mode360_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_playbackPosition_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_playback_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_playlist_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_repeat_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_search_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_shuffle_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe_extra_argument.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subtitles_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_unsubscribe.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_unsubscribe_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_unsubscribe_extra_argument.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_clientCustom_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_clientCustom_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_clientCustom_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_displayMode_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_displayRotation_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_extend.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_mode360_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_mode360_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_mode360_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playbackPosition_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playbackPosition_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playbackPosition_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playback_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playlist_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playlist_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playlist_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_repeat_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_repeat_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_repeat_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_search_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_search_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_search_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_shuffle_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_shuffle_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_shuffle_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_subtitles_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_subtitles_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_subtitles_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_ondisplaymodeabilitychanged.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_ondisplayrotationabilitychanged.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_onplaybackabilitychanged.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_onsimpleabilitychanged.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_listener_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_listener_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_errorCallback_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_errorCallback_invalid_cb.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_successCallback_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_successCallback_invalid_cb.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_with_errorCallback.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_removeAbilityChangeListener.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_removeAbilityChangeListener_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_removeAbilityChangeListener_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_croppedFull_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_extend.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_fullScreen_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_letterBox_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_originSize_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_croppedFull_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_croppedFull_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_croppedFull_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_extend.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_fullScreen_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_fullScreen_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_fullScreen_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_letterBox_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_letterBox_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_letterBox_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_originSize_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_originSize_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_originSize_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeCallback_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeCallback_onchange.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeRequestCallback_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeRequestCallback_onreply.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_listener_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_listener_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_extend.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_removeModeChangeListener.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_removeModeChangeListener_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_removeModeChangeListener_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_replyCallback_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_replyCallback_invalid_cb.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_type_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_listener_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_listener_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_extend.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_removeChangeRequestListener.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_removeChangeRequestListener_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_removeChangeRequestListener_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_type_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_extend.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_rotation180_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_rotation270_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_rotation90_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_rotationNone_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_extend.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation180_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation180_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation180_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation270_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation270_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation270_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation90_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation90_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation90_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotationNone_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotationNone_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotationNone_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeCallback_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeCallback_onchange.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeRequestCallback_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeRequestCallback_onreply.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_listener_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_listener_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_displayRotation_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_extend.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_replyCallback_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_replyCallback_invalid_cb.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_listener_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_listener_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_displayRotation_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_displayRotation_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_extend.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_removeChangeRequestListener.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_removeChangeRequestListener_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_removeChangeRequestListener_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerEnabledChangeCallback_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerEnabledChangeCallback_onchange.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerEnabledChangeRequestCallback_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerEnabledChangeRequestCallback_onreply.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_episodeNumber_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_episodeTitle_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_resolutionHeight_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_resolutionWidth_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_seasonNumber_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_seasonTitle_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_listener_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_listener_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_enabled_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_extend.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_removeModeChangeListener.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_removeModeChangeListener_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_removeModeChangeListener_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_replyCallback_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_replyCallback_invalid_cb.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_listener_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_listener_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_enabled_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_extend.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_removeChangeRequestListener.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_removeChangeRequestListener_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_removeChangeRequestListener_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_extend.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_forward_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_next_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_pause_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_play_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_prev_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_rewind_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_stop_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_togglePlayPause_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_extend.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_forward_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_forward_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_forward_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_next_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_next_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_next_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_pause_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_pause_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_pause_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_play_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_play_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_play_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_prev_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_prev_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_prev_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_rewind_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_rewind_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_rewind_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_saveAbilities.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_saveAbilities_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_saveAbilities_extra_argument.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_stop_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_stop_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_stop_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_togglePlayPause_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_togglePlayPause_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_togglePlayPause_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_abilities_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_displayMode_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_displayRotation_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_mode360_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_subtitles_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_abilities_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_displayMode_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_displayRotation_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_mode360_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_subtitles_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_listener_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_listener_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_enabled_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_extend.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_removeModeChangeListener.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_removeModeChangeListener_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_removeModeChangeListener_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_replyCallback_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_replyCallback_invalid_cb.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_listener_TypeMismatch.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_listener_invalid.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_enabled_attribute.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_extend.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_notexist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_removeChangeRequestListener.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_removeChangeRequestListener_exist.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_removeChangeRequestListener_misarg.html [new file with mode: 0755]
common/tct-mediacontroller-tizen-tests/tests.full.xml
common/tct-mediacontroller-tizen-tests/tests.xml

diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_clientCustom_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_clientCustom_attribute.html
new file mode 100755 (executable)
index 0000000..d851620
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_clientCustom_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_clientCustom_attribute
+//==== LABEL Check if attribute clientCustom of MediaControllerAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:clientCustom A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities;
+    check_readonly(abilities, "clientCustom", abilities.clientCustom, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_displayMode_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_displayMode_attribute.html
new file mode 100755 (executable)
index 0000000..96d75b5
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_displayMode_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_displayMode_attribute
+//==== LABEL Check if attribute displayMode of MediaControllerAbilitiesInfo exists, has type object and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:displayMode A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities;
+    check_readonly(abilities, "displayMode", abilities.displayMode, "object", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_displayRotation_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_displayRotation_attribute.html
new file mode 100755 (executable)
index 0000000..2c2f1af
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_displayRotation_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_displayRotation_attribute
+//==== LABEL Check if attribute displayRotation of MediaControllerAbilitiesInfo exists, has type object and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:displayRotation A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities;
+    check_readonly(abilities, "displayRotation", abilities.displayRotation, "object", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_extend.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_extend.html
new file mode 100755 (executable)
index 0000000..c9e6da7
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_extend
+//==== LABEL Check if MediaControllerAbilitiesInfo object is extendable
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:MediaControllerAbilitiesInfo U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA OBX
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities;
+    check_extensibility(abilities);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_mode360_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_mode360_attribute.html
new file mode 100755 (executable)
index 0000000..3a70bc5
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_mode360_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_mode360_attribute
+//==== LABEL Check if attribute mode360 of MediaControllerAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:mode360 A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities;
+    check_readonly(abilities, "mode360", abilities.mode360, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_notexist.html
new file mode 100755 (executable)
index 0000000..2124cae
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_notexist
+//==== LABEL Check if interface MediaControllerAbilitiesInfo exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:MediaControllerAbilitiesInfo U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA NIO
+
+test(function () {
+    check_no_interface_object("MediaControllerAbilitiesInfo");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_playbackPosition_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_playbackPosition_attribute.html
new file mode 100755 (executable)
index 0000000..272f303
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_playbackPosition_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_playbackPosition_attribute
+//==== LABEL Check if attribute playbackPosition of MediaControllerAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:playbackPosition A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities;
+    check_readonly(abilities, "playbackPosition", abilities.playbackPosition, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_playback_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_playback_attribute.html
new file mode 100755 (executable)
index 0000000..7cf8d54
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_playback_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_playback_attribute
+//==== LABEL Check if attribute playback of MediaControllerAbilitiesInfo exists, has type object and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:playback A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities;
+    check_readonly(abilities, "playback", abilities.playback, "object", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_playlist_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_playlist_attribute.html
new file mode 100755 (executable)
index 0000000..b340118
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_playlist_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_playlist_attribute
+//==== LABEL Check if attribute playlist of MediaControllerAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:playlist A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities;
+    check_readonly(abilities, "playlist", abilities.playlist, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_repeat_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_repeat_attribute.html
new file mode 100755 (executable)
index 0000000..0240ea2
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_repeat_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_repeat_attribute
+//==== LABEL Check if attribute repeat of MediaControllerAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:repeat A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities;
+    check_readonly(abilities, "repeat", abilities.repeat, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_search_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_search_attribute.html
new file mode 100755 (executable)
index 0000000..79ef6dd
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_search_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_search_attribute
+//==== LABEL Check if attribute search of MediaControllerAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:search A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities;
+    check_readonly(abilities, "search", abilities.search, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_shuffle_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_shuffle_attribute.html
new file mode 100755 (executable)
index 0000000..7d47852
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_shuffle_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_shuffle_attribute
+//==== LABEL Check if attribute shuffle of MediaControllerAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:shuffle A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities;
+    check_readonly(abilities, "shuffle", abilities.shuffle, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe.html
new file mode 100755 (executable)
index 0000000..8302e45
--- /dev/null
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_subscribe</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_subscribe
+//==== LABEL Check if subscribe method works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:subscribe M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR MNA
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), mcServer, mcClient, mcServerInfo, abilities, listener, watchId = null, retValue = null;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcClient.removeAbilityChangeListener(watchId);
+    });
+
+    listener =
+    {
+        onplaybackabilitychanged: function(server, ability)
+        {
+            console.log("playback ability changed, server name: " + server.name + ", abilities: ");
+            console.log(JSON.stringify(ability));
+        },
+        onsimpleabilitychanged: function(server, type, ability)
+        {
+            console.log(type + " ability changed, server name: " + server.name + ", ability: " + ability);
+        }
+    };
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    watchId = mcClient.addAbilityChangeListener(listener);
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities;
+    retValue = abilities.subscribe();
+    assert_equals(retValue, undefined, "Incorrect returned value.");
+    t.done();
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe_exist.html
new file mode 100755 (executable)
index 0000000..b4ee495
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_subscribe_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_subscribe_exist
+//==== LABEL Check if subscribe exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:subscribe M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities;
+    check_method_exists(abilities, "subscribe");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe_extra_argument.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe_extra_argument.html
new file mode 100755 (executable)
index 0000000..688a7ba
--- /dev/null
@@ -0,0 +1,69 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_subscribe_extra_argument</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_subscribe_extra_argument
+//==== LABEL Check using MediaControllerAbilitiesInfo::subscribe() method with extra argument
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:subscribe M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MNAEX
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), mcServer, mcClient, mcServerInfo, abilities, listener, watchId = null;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcClient.removeAbilityChangeListener(watchId);
+    });
+    listener =
+    {
+        onplaybackabilitychanged: function(server, ability)
+        {
+            console.log("playback ability changed, server name: " + server.name + ", abilities: ");
+            console.log(JSON.stringify(ability));
+        },
+        onsimpleabilitychanged: function(server, type, ability)
+        {
+            console.log(type + " ability changed, server name: " + server.name + ", ability: " + ability);
+        }
+    };
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    watchId = mcClient.addAbilityChangeListener(listener);
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities;
+    checkExtraArgument(abilities, "subscribe");
+    t.done();
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe_invalid.html
new file mode 100755 (executable)
index 0000000..2e23279
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_subscribe_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_subscribe_invalid
+//==== LABEL Check if subscribe method throws exception when addAbilityChangeListener is not set
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:subscribe M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    assert_throws({name: 'InvalidStateError'},
+        function () {
+            mcServerInfo.abilities.subscribe();
+        }, "InvalidStateError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subtitles_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subtitles_attribute.html
new file mode 100755 (executable)
index 0000000..8f89fcc
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_subtitles_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_subtitles_attribute
+//==== LABEL Check if attribute subtitles of MediaControllerAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:subtitles A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities;
+    check_readonly(abilities, "subtitles", abilities.subtitles, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_unsubscribe.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_unsubscribe.html
new file mode 100755 (executable)
index 0000000..10644c2
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_unsubscribe</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_unsubscribe
+//==== LABEL Check if unsubscribe method works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:unsubscribe M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR MNA
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities, retValue = null;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities;
+    retValue = abilities.unsubscribe();
+    assert_equals(retValue, undefined, "Incorrect returned value.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_unsubscribe_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_unsubscribe_exist.html
new file mode 100755 (executable)
index 0000000..28483be
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_unsubscribe_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_unsubscribe_exist
+//==== LABEL Check if unsubscribe exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:unsubscribe M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities;
+    check_method_exists(abilities, "unsubscribe");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_unsubscribe_extra_argument.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_unsubscribe_extra_argument.html
new file mode 100755 (executable)
index 0000000..97636d2
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilitiesInfo_unsubscribe_extra_argument</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilitiesInfo_unsubscribe_extra_argument
+//==== LABEL Check using MediaControllerAbilitiesInfo::unsubscribe() method with extra argument
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:unsubscribe M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MNAEX
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities;
+    checkExtraArgument(abilities, "unsubscribe");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_clientCustom_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_clientCustom_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..e4e4634
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_clientCustom_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_clientCustom_TypeMismatch
+//==== LABEL Check argument clientCustom conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:clientCustom A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities, conversionTable, exceptionName, value;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServer.abilities.clientCustom = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_clientCustom_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_clientCustom_attribute.html
new file mode 100755 (executable)
index 0000000..7c358c9
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_clientCustom_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_clientCustom_attribute
+//==== LABEL Check if attribute clientCustom of MediaControllerAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:clientCustom A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    check_attribute(abilities, "clientCustom", "UNDECIDED", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_clientCustom_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_clientCustom_invalid.html
new file mode 100755 (executable)
index 0000000..6c19716
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_clientCustom_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_clientCustom_invalid
+//==== LABEL Check MediaControllerAbilities throws exception with invalid clientCustom value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:clientCustom A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            mcServer.abilities.clientCustom = "YES";
+            mcServer.abilities.clientCustom = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_displayMode_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_displayMode_attribute.html
new file mode 100755 (executable)
index 0000000..dce63fc
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_displayMode_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_displayMode_attribute
+//==== LABEL Check if attribute displayMode of MediaControllerAbilities exists, has type object and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:displayMode A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    check_readonly(abilities, "displayMode", abilities.displayMode, "object", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_displayRotation_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_displayRotation_attribute.html
new file mode 100755 (executable)
index 0000000..c8b7424
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_displayRotation_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_displayRotation_attribute
+//==== LABEL Check if attribute displayRotation of MediaControllerAbilities exists, has type object and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:displayRotation A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    check_readonly(abilities, "displayRotation", abilities.displayRotation, "object", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_extend.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_extend.html
new file mode 100755 (executable)
index 0000000..e9815d9
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_extend
+//==== LABEL Check if MediaControllerAbilities object is extendable
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:MediaControllerAbilities U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA OBX
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    check_extensibility(abilities);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_mode360_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_mode360_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..a19cd88
--- /dev/null
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_mode360_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_mode360_TypeMismatch
+//==== LABEL Check argument mode360 conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:mode360 A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities, conversionTable, exceptionName, value, i;
+
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServer.abilities.mode360 = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_mode360_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_mode360_attribute.html
new file mode 100755 (executable)
index 0000000..b1d773d
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_mode360_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_mode360_attribute
+//==== LABEL Check if attribute mode360 of MediaControllerAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:mode360 A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    check_attribute(abilities, "mode360", "NO", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_mode360_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_mode360_invalid.html
new file mode 100755 (executable)
index 0000000..4909775
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_mode360_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_mode360_invalid
+//==== LABEL Check MediaControllerAbilities throws exception with invalid mode360 value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:mode360 A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            mcServer.abilities.mode360 = "YES";
+            mcServer.abilities.mode360 = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_notexist.html
new file mode 100755 (executable)
index 0000000..c8887d5
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_notexist
+//==== LABEL Check if interface MediaControllerAbilities exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:MediaControllerAbilities U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA NIO
+
+test(function () {
+    check_no_interface_object("MediaControllerAbilities");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playbackPosition_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playbackPosition_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..4025dfa
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_playbackPosition_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_playbackPosition_TypeMismatch
+//==== LABEL Check argument playbackPosition conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:playbackPosition A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServer.abilities.playbackPosition = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playbackPosition_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playbackPosition_attribute.html
new file mode 100755 (executable)
index 0000000..d1bd7ec
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_playbackPosition_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_playbackPosition_attribute
+//==== LABEL Check if attribute playbackPosition of MediaControllerAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:playbackPosition A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    check_attribute(abilities, "playbackPosition", "UNDECIDED", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playbackPosition_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playbackPosition_invalid.html
new file mode 100755 (executable)
index 0000000..08b24c7
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_playbackPosition_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_playbackPosition_invalid
+//==== LABEL Check MediaControllerAbilities throws exception with invalid playbackPosition value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:playbackPosition A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            mcServer.abilities.playbackPosition = "YES";
+            mcServer.abilities.playbackPosition = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playback_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playback_attribute.html
new file mode 100755 (executable)
index 0000000..f907d26
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_playback_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_playback_attribute
+//==== LABEL Check if attribute playback of MediaControllerAbilities exists, has type object and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:playback A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    check_readonly(abilities, "playback", abilities.playback, "object", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playlist_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playlist_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..09b6eb9
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_playlist_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_playlist_TypeMismatch
+//==== LABEL Check argument playlist conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:playlist A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServer.abilities.playlist = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playlist_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playlist_attribute.html
new file mode 100755 (executable)
index 0000000..7c79e87
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_playlist_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_playlist_attribute
+//==== LABEL Check if attribute playlist of MediaControllerAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:playlist A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    check_attribute(abilities, "playlist", "UNDECIDED", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playlist_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playlist_invalid.html
new file mode 100755 (executable)
index 0000000..4d83281
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_playlist_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_playlist_invalid
+//==== LABEL Check MediaControllerAbilities throws exception with invalid playlist value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:playlist A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            mcServer.abilities.playlist = "YES";
+            mcServer.abilities.playlist = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_repeat_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_repeat_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..6d184d8
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_repeat_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_repeat_TypeMismatch
+//==== LABEL Check argument repeat conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:repeat A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServer.abilities.repeat = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_repeat_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_repeat_attribute.html
new file mode 100755 (executable)
index 0000000..7f568b0
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_repeat_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_repeat_attribute
+//==== LABEL Check if attribute repeat of MediaControllerAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:repeat A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    check_attribute(abilities, "repeat", "UNDECIDED", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_repeat_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_repeat_invalid.html
new file mode 100755 (executable)
index 0000000..066a334
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_repeat_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_repeat_invalid
+//==== LABEL Check MediaControllerAbilities throws exception with invalid repeat value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:repeat A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            mcServer.abilities.repeat = "YES";
+            mcServer.abilities.repeat = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_search_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_search_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..6c059da
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_search_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_search_TypeMismatch
+//==== LABEL Check argument search conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:search A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServer.abilities.search = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_search_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_search_attribute.html
new file mode 100755 (executable)
index 0000000..ed018ed
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_search_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_search_attribute
+//==== LABEL Check if attribute search of MediaControllerAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:search A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    check_attribute(abilities, "search", "UNDECIDED", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_search_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_search_invalid.html
new file mode 100755 (executable)
index 0000000..c279fb7
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_search_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_search_invalid
+//==== LABEL Check MediaControllerAbilities throws exception with invalid search value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:search A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            mcServer.abilities.search = "YES";
+            mcServer.abilities.search = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_shuffle_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_shuffle_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..3c66ba9
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_shuffle_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_shuffle_TypeMismatch
+//==== LABEL Check argument shuffle conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:shuffle A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServer.abilities.shuffle = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_shuffle_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_shuffle_attribute.html
new file mode 100755 (executable)
index 0000000..a0dd3bd
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_shuffle_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_shuffle_attribute
+//==== LABEL Check if attribute shuffle of MediaControllerAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:shuffle A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    check_attribute(abilities, "shuffle", "UNDECIDED", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_shuffle_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_shuffle_invalid.html
new file mode 100755 (executable)
index 0000000..ddcedfc
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_shuffle_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_shuffle_invalid
+//==== LABEL Check MediaControllerAbilities throws exception with invalid shuffle value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:shuffle A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            mcServer.abilities.shuffle = "YES";
+            mcServer.abilities.shuffle = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_subtitles_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_subtitles_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..414f022
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_subtitles_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_subtitles_TypeMismatch
+//==== LABEL Check argument subtitles conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:subtitles A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServer.abilities.subtitles = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_subtitles_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_subtitles_attribute.html
new file mode 100755 (executable)
index 0000000..4ddfe5c
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_subtitles_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_subtitles_attribute
+//==== LABEL Check if attribute subtitles of MediaControllerAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:subtitles A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    check_attribute(abilities, "subtitles", "NO", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_subtitles_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_subtitles_invalid.html
new file mode 100755 (executable)
index 0000000..5a6b613
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilities_subtitles_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilities_subtitles_invalid
+//==== LABEL Check MediaControllerAbilities throws exception with invalid subtitles value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:subtitles A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            mcServer.abilities.subtitles = "YES";
+            mcServer.abilities.subtitles = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_notexist.html
new file mode 100755 (executable)
index 0000000..510cf4b
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilityChangeCallback_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilityChangeCallback_notexist
+//==== LABEL Check if interface MediaControllerAbilityChangeCallback exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilityChangeCallback:MediaControllerAbilityChangeCallback U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA CBNIO
+
+test(function () {
+    check_no_interface_object("MediaControllerAbilityChangeCallback");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_ondisplaymodeabilitychanged.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_ondisplaymodeabilitychanged.html
new file mode 100755 (executable)
index 0000000..fe0c7d0
--- /dev/null
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilityChangeCallback_ondisplaymodeabilitychanged</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilityChangeCallback_ondisplaymodeabilitychanged
+//==== LABEL Check if MediaControllerAbilityChangeCallback ondisplaymodeabilitychanged is called and if its arguments have proper type
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilityChangeCallback:ondisplaymodeabilitychanged M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA CBOA CBT
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcClient, mcServer, listener;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcClient.removeAbilityChangeListener(watchId);
+    });
+    listener = {
+        ondisplaymodeabilitychanged: t.step_func(function(server, abilities) {
+            assert_type(server, "object", "incorrect type of server");
+            assert_equals(server.name, "apimediact.WebAPITizenMediaKeyTests", "incorrect value of server");
+            assert_type(abilities, "object", "incorrect type of type");
+            assert_equals(abilities.letterBox, "YES", "incorrect value of letterBox");
+            t.done();
+        })
+    };
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer = tizen.mediacontroller.createServer();
+    watchId = mcClient.addAbilityChangeListener(listener);
+    mcServer.abilities.displayMode.letterBox = "YES";
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_ondisplayrotationabilitychanged.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_ondisplayrotationabilitychanged.html
new file mode 100755 (executable)
index 0000000..a57dca8
--- /dev/null
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilityChangeCallback_ondisplayrotationabilitychanged</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilityChangeCallback_ondisplayrotationabilitychanged
+//==== LABEL Check if MediaControllerAbilityChangeCallback ondisplayrotationabilitychanged is called and if its arguments have proper type
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilityChangeCallback:ondisplayrotationabilitychanged M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA CBOA CBT
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcClient, mcServer, listener;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcClient.removeAbilityChangeListener(watchId);
+    });
+    listener = {
+        ondisplayrotationabilitychanged: t.step_func(function(server, abilities) {
+            assert_type(server, "object", "incorrect type of server");
+            assert_equals(server.name, "apimediact.WebAPITizenMediaKeyTests", "incorrect value of server");
+            assert_type(abilities, "object", "incorrect type of type");
+            assert_equals(abilities.rotation90, "YES", "incorrect value of rotation90");
+            t.done();
+        })
+    };
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer = tizen.mediacontroller.createServer();
+    watchId = mcClient.addAbilityChangeListener(listener);
+    mcServer.abilities.displayRotation.rotation90 = "YES";
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_onplaybackabilitychanged.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_onplaybackabilitychanged.html
new file mode 100755 (executable)
index 0000000..2642454
--- /dev/null
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilityChangeCallback_onplaybackabilitychanged</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilityChangeCallback_onplaybackabilitychanged
+//==== LABEL Check if MediaControllerAbilityChangeCallback onplaybackabilitychanged is called and if its arguments have proper type
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilityChangeCallback:onplaybackabilitychanged M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA CBOA CBT
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcClient, mcServer, listener;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcClient.removeAbilityChangeListener(watchId);
+    });
+    listener = {
+        onplaybackabilitychanged: t.step_func(function(server, abilities) {
+            assert_type(server, "object", "incorrect type of server");
+            assert_equals(server.name, "apimediact.WebAPITizenMediaKeyTests", "incorrect value of server");
+            assert_type(abilities, "object", "incorrect type of type");
+            assert_equals(abilities.play, "YES", "incorrect value of type");
+            t.done();
+        })
+    };
+    mcClient = tizen.mediacontroller.getClient();
+    watchId = mcClient.addAbilityChangeListener(listener);
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.abilities.playback.play = "YES";
+    mcServer.abilities.playback.saveAbilities();
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_onsimpleabilitychanged.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_onsimpleabilitychanged.html
new file mode 100755 (executable)
index 0000000..6544978
--- /dev/null
@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerAbilityChangeCallback_onsimpleabilitychanged</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerAbilityChangeCallback_onsimpleabilitychanged
+//==== LABEL Check if MediaControllerAbilityChangeCallback onsimpleabilitychanged is called and if its arguments have proper type
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilityChangeCallback:onsimpleabilitychanged M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA CBOA CBT
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcClient, mcServer, listener;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcClient.removeAbilityChangeListener(watchId);
+    });
+    listener = {
+        onsimpleabilitychanged: t.step_func(function(server, type, support) {
+            assert_type(server, "object", "incorrect type of server");
+            assert_equals(server.name, "apimediact.WebAPITizenMediaKeyTests", "incorrect value of server");
+            assert_type(type, "string", "incorrect type of type");
+            assert_equals(type, "REPEAT", "incorrect value of type");
+            assert_type(support, "string", "incorrect type of support");
+            assert_equals(support, "YES", "incorrect value of support");
+            t.done();
+        })
+    };
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    watchId = mcClient.addAbilityChangeListener(listener);
+    mcServer.abilities.repeat = "YES";
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener.html
new file mode 100755 (executable)
index 0000000..bf54611
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerClient_addAbilityChangeListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerClient_addAbilityChangeListener
+//==== LABEL Check if addAbilityChangeListener() works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerClient:addAbilityChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR MAST
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcClient, mcServer, listener;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcClient.removeAbilityChangeListener(watchId);
+    });
+    listener = {
+        onsimpleabilitychanged: t.step_func(function(server, type, support) {
+            assert_type(watchId, "long", "incorrect type of watcherId");
+            assert_equals(type, "REPEAT", "incorrect value of type");
+            assert_equals(support, "YES", "incorrect value of support");
+            t.done();
+        })
+    };
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer = tizen.mediacontroller.createServer();
+    watchId = mcClient.addAbilityChangeListener(listener);
+    mcServer.abilities.repeat = "YES";
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_exist.html
new file mode 100755 (executable)
index 0000000..49aa9af
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerClient_addAbilityChangeListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerClient_addAbilityChangeListener_exist
+//==== LABEL Check if method addAbilityChangeListener of MediaControllerClient exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerClient:addAbilityChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcClient;
+
+    mcClient = tizen.mediacontroller.getClient();
+    check_method_exists(mcClient, "addAbilityChangeListener");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_listener_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_listener_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..f9fc9e1
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerClient_addAbilityChangeListener_listener_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerClient_addAbilityChangeListener_listener_TypeMismatch
+//==== LABEL Check argument listener conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerClient:addAbilityChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+var mcClient, incorrectCallback, exceptionName, i, conversionTable;
+
+test(function () {
+    mcClient = tizen.mediacontroller.getClient();
+    conversionTable = getTypeConversionExceptions("object", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        incorrectCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcClient.addAbilityChangeListener(incorrectCallback);
+            }, "Exception should be thrown - given incorrect callback");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_listener_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_listener_invalid.html
new file mode 100755 (executable)
index 0000000..fc729f2
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerClient_addAbilityChangeListener_listener_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerClient_addAbilityChangeListener_listener_invalid
+//==== LABEL Check if addAbilityChangeListener throws exception when callback is invalid listener
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerClient:addAbilityChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTL
+
+var mcClient, statusChangeListener, exceptionName, incorrectListener, i;
+
+test(function () {
+    mcClient = tizen.mediacontroller.getClient();
+    incorrectListener = getListenerConversionExceptions(["onplaybackabilitychanged", "onsimpleabilitychanged"]);
+
+    for (i = 0; i < incorrectListener.length; i++) {
+        statusChangeListener = incorrectListener[i][0];
+        exceptionName = incorrectListener[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcClient.addAbilityChangeListener(statusChangeListener);
+            }, "Exception should be thrown - given incorrect listener.");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_misarg.html
new file mode 100755 (executable)
index 0000000..20dd96e
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerClient_addAbilityChangeListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerClient_addAbilityChangeListener_misarg
+//==== LABEL Check if addAbilityChangeListener method of MediaControllerClient called with missing non-optional argument throws an exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerClient:addAbilityChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcClient;
+
+    mcClient = tizen.mediacontroller.getClient();
+
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+        mcClient.addAbilityChangeListener();
+    }, "Invoked without non-optional arguments.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers.html
new file mode 100755 (executable)
index 0000000..cffed21
--- /dev/null
@@ -0,0 +1,78 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerClient_findSubscribedServers</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerClient_findSubscribedServers
+//==== LABEL Check if findSubscribedServers() works properly
+//==== ONLOAD_DELAY 90
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerClient:findSubscribedServers M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR MMINA MAST
+
+setup({timeout: 90000});
+
+var t = async_test(document.title, {timeout: 90000}), mcClient, mcServer, findSuccessCB, subscribedSuccessCB, listener, watchId = null, returnedValue = null;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcClient.removeAbilityChangeListener(watchId);
+    });
+    listener =
+    {
+        onplaybackabilitychanged: function(server, ability)
+        {
+            console.log("playback ability changed, server name: " + server.name + ", abilities: ");
+            console.log(JSON.stringify(ability));
+        },
+        onsimpleabilitychanged: function(server, type, ability)
+        {
+            console.log(type + " ability changed, server name: " + server.name + ", ability: " + ability);
+        }
+    };
+    subscribedSuccessCB = t.step_func(function (servers){
+        assert_equals(returnedValue, undefined, "Incorrect returned value.");
+        assert_greater_than(servers.length, 0, "Received empty servers array");
+        assert_equals(servers[0].name, "apimediact.WebAPITizenMediaKeyTests", "Incorrect server name");
+        t.done();
+    });
+    findSuccessCB = t.step_func(function (list){
+        list[0].abilities.subscribe();
+        returnedValue = mcClient.findSubscribedServers(subscribedSuccessCB);
+    });
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.updatePlaybackState("PLAY");
+    mcClient = tizen.mediacontroller.getClient();
+    watchId = mcClient.addAbilityChangeListener(listener);
+    mcClient.findServers(findSuccessCB);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_errorCallback_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_errorCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..1f46280
--- /dev/null
@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerClient_findSubscribedServers_errorCallback_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerClient_findSubscribedServers_errorCallback_TypeMismatch
+//==== LABEL Check argument errorCallback conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerClient:findSubscribedServers M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+//==== ONLOAD_DELAY 90
+
+setup({timeout: 90000});
+
+var t = async_test(document.title, {timeout: 90000}), mcServer, mcClient, incorrectCallback, successCallback, exceptionName, i, conversionTable;
+
+t.step(function () {
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.updatePlaybackState("PLAY");
+    mcClient = tizen.mediacontroller.getClient();
+
+    successCallback = t.step_func(function () {
+        assert_unreached("findSubscribedServers() success callback invoked" );
+    });
+
+    conversionTable = getTypeConversionExceptions("functionObject", true);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        incorrectCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcClient.findSubscribedServers(successCallback, incorrectCallback);
+            }, "Exception should be thrown - given incorrect error callback");
+    }
+    t.done();
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_errorCallback_invalid_cb.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_errorCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..0496ff2
--- /dev/null
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerClient_findSubscribedServers_errorCallback_invalid_cb</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerClient_findSubscribedServers_errorCallback_invalid_cb
+//==== LABEL Check if findSubscribedServers throws exception when errorCallback is invalid
+//==== ONLOAD_DELAY 90
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerClient:findSubscribedServers M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTCB
+
+setup({timeout: 90000});
+
+var t = async_test(document.title, {timeout: 90000}), exceptionName = "TypeMismatchError", mcClient, onsuccessCB, incorrectCallback;
+
+t.step(function () {
+    mcClient = tizen.mediacontroller.getClient();
+
+    incorrectCallback = {
+        onerror: t.step_func(function () {
+            assert_unreached("findSubscribedServers() invalid error callback invoked.");
+        })
+    };
+
+    onsuccessCB = t.step_func(function () {
+        assert_unreached("findSubscribedServers() sucess callback invoked.");
+    });
+
+    assert_throws({name: exceptionName},
+        function () {
+            mcClient.findSubscribedServers(onsuccessCB, incorrectCallback);
+        }, "Exception should be thrown - given incorrect error callback");
+    t.done();
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_exist.html
new file mode 100755 (executable)
index 0000000..043b7cb
--- /dev/null
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerClient_findSubscribedServers_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerClient_findSubscribedServers_exist
+//==== LABEL Check if method findSubscribedServers of MediaControllerClient exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerClient:findSubscribedServers M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcClient = tizen.mediacontroller.getClient();
+    check_method_exists(mcClient, "findSubscribedServers");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_misarg.html
new file mode 100755 (executable)
index 0000000..3adf754
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerClient_findSubscribedServers_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerClient_findSubscribedServers_misarg
+//==== LABEL Check if findSubscribedServers method of MediaControllerClient called with missing non-optional argument throws an exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerClient:findSubscribedServers M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcClient  = tizen.mediacontroller.getClient();
+
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+        mcClient.findSubscribedServers();
+    }, "Invoked without non-optional arguments.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_successCallback_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_successCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..39fe172
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerClient_findSubscribedServers_successCallback_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerClient_findSubscribedServers_successCallback_TypeMismatch
+//==== LABEL Check argument successCallback conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerClient:findSubscribedServers M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+var mcClient, incorrectCallback, exceptionName, i, conversionTable;
+
+test(function () {
+    mcClient = tizen.mediacontroller.getClient();
+    conversionTable = getTypeConversionExceptions("functionObject", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        incorrectCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcClient.findSubscribedServers(incorrectCallback);
+            }, "Exception should be thrown - given incorrect success callback");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_successCallback_invalid_cb.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_successCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..ec124a4
--- /dev/null
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerClient_findSubscribedServers_successCallback_invalid_cb</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerClient_findSubscribedServers_successCallback_invalid_cb
+//==== LABEL Check if findSubscribedServers throws exception when successCallback is invalid
+//==== ONLOAD_DELAY 90
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerClient:findSubscribedServers M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTCB
+
+setup({timeout: 90000});
+
+var t = async_test(document.title, {timeout: 90000}), exceptionName = "TypeMismatchError", mcClient, incorrectCallback;
+
+t.step(function () {
+    mcClient = tizen.mediacontroller.getClient();
+
+    incorrectCallback = {
+        onsuccess: t.step_func(function () {
+            assert_unreached("findSubscribedServers() success callback invoked.");
+        })
+    };
+
+    assert_throws({name: exceptionName},
+        function () {
+            mcClient.findSubscribedServers(incorrectCallback);
+        }, "Exception should be thrown - given incorrect success callback");
+    t.done();
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_with_errorCallback.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_with_errorCallback.html
new file mode 100755 (executable)
index 0000000..8d02a48
--- /dev/null
@@ -0,0 +1,81 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerClient_findSubscribedServers_with_errorCallback</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerClient_findSubscribedServers_with_errorCallback
+//==== LABEL Check if findSubscribedServers method works properly with errorCallback argument
+//==== ONLOAD_DELAY 90
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerClient:findSubscribedServers M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MOA MR MAST
+
+setup({timeout: 90000});
+
+var t = async_test(document.title, {timeout: 90000}), mcClient, mcServer, findSuccessCB, subscribedSuccessCB, subscribedErrorCB, listener, watchId = null, returnedValue = null;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcClient.removeAbilityChangeListener(watchId);
+    });
+    listener =
+    {
+        onplaybackabilitychanged: function(server, ability)
+        {
+            console.log("playback ability changed, server name: " + server.name + ", abilities: ");
+            console.log(JSON.stringify(ability));
+        },
+        onsimpleabilitychanged: function(server, type, ability)
+        {
+            console.log(type + " ability changed, server name: " + server.name + ", ability: " + ability);
+        }
+    };
+    subscribedSuccessCB = t.step_func(function (servers){
+        assert_equals(returnedValue, undefined, "Incorrect returned value.");
+        assert_greater_than(servers.length, 0, "Received empty servers array");
+        assert_equals(servers[0].name, "apimediact.WebAPITizenMediaKeyTests", "Incorrect server name");
+        t.done();
+    });
+    subscribedErrorCB = t.step_func(function (error) {
+        assert_unreached("errorCallback is invoked");
+    });
+    findSuccessCB = t.step_func(function (list){
+        list[0].abilities.subscribe();
+        returnedValue = mcClient.findSubscribedServers(subscribedSuccessCB, subscribedErrorCB);
+    });
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.updatePlaybackState("PLAY");
+    mcClient = tizen.mediacontroller.getClient();
+    watchId = mcClient.addAbilityChangeListener(listener);
+    mcClient.findServers(findSuccessCB);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_removeAbilityChangeListener.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_removeAbilityChangeListener.html
new file mode 100755 (executable)
index 0000000..7a3cdea
--- /dev/null
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerClient_removeAbilityChangeListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerClient_removeAbilityChangeListener
+//==== LABEL Check if MediaControllerClient removeAbilityChangeListener method works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerClient:removeAbilityChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watcherId = null, mcClient, mcServer, listener, retValue = null;
+
+t.step(function () {
+
+    listener = {
+        onsimpleabilitychanged: t.step_func(function(server, type, ability) {
+            retValue = mcClient.removeAbilityChangeListener(watcherId);
+            assert_equals(retValue, undefined, "Incorrect returned value.");
+            t.done();
+        })
+    };
+    mcClient = tizen.mediacontroller.getClient();
+    watcherId = mcClient.addAbilityChangeListener(listener);
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.abilities.repeat = "YES";
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_removeAbilityChangeListener_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_removeAbilityChangeListener_exist.html
new file mode 100755 (executable)
index 0000000..16e4ac5
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerClient_removeAbilityChangeListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerClient_removeAbilityChangeListener_exist
+//==== LABEL check if removeAbilityChangeListener exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerClient:removeAbilityChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcClient;
+
+    mcClient = tizen.mediacontroller.getClient();
+    check_method_exists(mcClient, "removeAbilityChangeListener");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_removeAbilityChangeListener_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_removeAbilityChangeListener_misarg.html
new file mode 100755 (executable)
index 0000000..f532d71
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerClient_removeAbilityChangeListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerClient_removeAbilityChangeListener_misarg
+//==== LABEL Check if removeAbilityChangeListener method called with missing non-optional argument does not throw any exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerClient:removeAbilityChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcClient;
+
+    mcClient = tizen.mediacontroller.getClient();
+    try {
+        mcClient.removeAbilityChangeListener();
+    } catch(e) {
+        assert_unreached("Calling removeAbilityChangeListener without arguments should not throw an exception.");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_croppedFull_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_croppedFull_attribute.html
new file mode 100755 (executable)
index 0000000..8ecff5c
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilitiesInfo_croppedFull_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilitiesInfo_croppedFull_attribute
+//==== LABEL Check if attribute croppedFull of MediaControllerDisplayModeAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilitiesInfo:croppedFull A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO ADV
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, displayMode;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    displayMode = mcServerInfo.abilities.displayMode;
+    check_readonly(displayMode, "croppedFull", displayMode.croppedFull, "string", null);
+    assert_equals(displayMode.croppedFull, "NO", "Invalid default value");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_extend.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_extend.html
new file mode 100755 (executable)
index 0000000..f788e9a
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilitiesInfo_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilitiesInfo_extend
+//==== LABEL Check if MediaControllerDisplayModeAbilitiesInfo object is extendable
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilitiesInfo:MediaControllerDisplayModeAbilitiesInfo U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA OBX
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_extensibility(mcServerInfo.abilities.displayMode);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_fullScreen_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_fullScreen_attribute.html
new file mode 100755 (executable)
index 0000000..02d7f92
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilitiesInfo_fullScreen_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilitiesInfo_fullScreen_attribute
+//==== LABEL Check if attribute fullScreen of MediaControllerDisplayModeAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilitiesInfo:fullScreen A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO ADV
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, displayMode;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    displayMode = mcServerInfo.abilities.displayMode;
+    check_readonly(displayMode, "fullScreen", displayMode.fullScreen, "string", null);
+    assert_equals(displayMode.fullScreen, "NO", "Invalid default value");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_letterBox_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_letterBox_attribute.html
new file mode 100755 (executable)
index 0000000..0fdbec6
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilitiesInfo_letterBox_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilitiesInfo_letterBox_attribute
+//==== LABEL Check if attribute letterBox of MediaControllerDisplayModeAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilitiesInfo:letterBox A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO ADV
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, displayMode;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    displayMode = mcServerInfo.abilities.displayMode;
+    check_readonly(displayMode, "letterBox", displayMode.letterBox, "string", null);
+    assert_equals(displayMode.letterBox, "NO", "Invalid default value");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_notexist.html
new file mode 100755 (executable)
index 0000000..cea6824
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilitiesInfo_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilitiesInfo_notexist
+//==== LABEL Check if interface MediaControllerDisplayModeAbilitiesInfo exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilitiesInfo:MediaControllerDisplayModeAbilitiesInfo U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA NIO
+
+test(function () {
+    check_no_interface_object("MediaControllerDisplayModeAbilitiesInfo");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_originSize_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_originSize_attribute.html
new file mode 100755 (executable)
index 0000000..a394c34
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilitiesInfo_originSize_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilitiesInfo_originSize_attribute
+//==== LABEL Check if attribute originSize of MediaControllerDisplayModeAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilitiesInfo:originSize A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO ADV
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, displayMode;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    displayMode = mcServerInfo.abilities.displayMode;
+    check_readonly(displayMode, "originSize", displayMode.originSize, "string", null);
+    assert_equals(displayMode.originSize, "NO", "Invalid default value");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_croppedFull_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_croppedFull_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..78903cc
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilities_croppedFull_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilities_croppedFull_TypeMismatch
+//==== LABEL Check argument croppedFull conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilities:croppedFull A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, displayMode, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    displayMode = mcServer.abilities.displayMode;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                displayMode.croppedFull = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_croppedFull_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_croppedFull_attribute.html
new file mode 100755 (executable)
index 0000000..5290f37
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilities_croppedFull_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilities_croppedFull_attribute
+//==== LABEL Check if attribute croppedFull of MediaControllerDisplayModeAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilities:croppedFull A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, displayMode;
+    mcServer= tizen.mediacontroller.createServer();
+    displayMode = mcServer.abilities.displayMode;
+    check_attribute(displayMode, "croppedFull", "NO", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_croppedFull_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_croppedFull_invalid.html
new file mode 100755 (executable)
index 0000000..5209a7e
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilities_croppedFull_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilities_croppedFull_invalid
+//==== LABEL Check MediaControllerDisplayModeAbilities throws exception with invalid croppedFull value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilities:croppedFull A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, displayMode;
+    mcServer= tizen.mediacontroller.createServer();
+    displayMode = mcServer.abilities.displayMode;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            displayMode.croppedFull = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_extend.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_extend.html
new file mode 100755 (executable)
index 0000000..dbd39ab
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilities_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilities_extend
+//==== LABEL Check if MediaControllerDisplayModeAbilities object is extendable
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilities:MediaControllerDisplayModeAbilities U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA OBX
+
+test(function () {
+    var mcServer;
+    mcServer= tizen.mediacontroller.createServer();
+    check_extensibility(mcServer.abilities.displayMode);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_fullScreen_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_fullScreen_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..b22f263
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilities_fullScreen_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilities_fullScreen_TypeMismatch
+//==== LABEL Check argument fullScreen conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilities:fullScreen A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, displayMode, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    displayMode = mcServer.abilities.displayMode;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                displayMode.fullScreen = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_fullScreen_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_fullScreen_attribute.html
new file mode 100755 (executable)
index 0000000..8756e26
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilities_fullScreen_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilities_fullScreen_attribute
+//==== LABEL Check if attribute fullScreen of MediaControllerDisplayModeAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilities:fullScreen A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, displayMode;
+    mcServer= tizen.mediacontroller.createServer();
+    displayMode = mcServer.abilities.displayMode;
+    check_attribute(displayMode, "fullScreen", "NO", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_fullScreen_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_fullScreen_invalid.html
new file mode 100755 (executable)
index 0000000..23ab352
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilities_fullScreen_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilities_fullScreen_invalid
+//==== LABEL Check MediaControllerDisplayModeAbilities throws exception with invalid fullScreen value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilities:fullScreen A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, displayMode;
+    mcServer= tizen.mediacontroller.createServer();
+    displayMode = mcServer.abilities.displayMode;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            displayMode.fullScreen = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_letterBox_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_letterBox_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..9582f32
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilities_letterBox_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilities_letterBox_TypeMismatch
+//==== LABEL Check argument letterBox conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilities:letterBox A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, displayMode, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    displayMode = mcServer.abilities.displayMode;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                displayMode.letterBox = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_letterBox_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_letterBox_attribute.html
new file mode 100755 (executable)
index 0000000..c1021e5
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilities_letterBox_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilities_letterBox_attribute
+//==== LABEL Check if attribute letterBox of MediaControllerDisplayModeAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilities:letterBox A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, displayMode;
+    mcServer= tizen.mediacontroller.createServer();
+    displayMode = mcServer.abilities.displayMode;
+    check_attribute(displayMode, "letterBox", "NO", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_letterBox_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_letterBox_invalid.html
new file mode 100755 (executable)
index 0000000..6062069
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilities_letterBox_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilities_letterBox_invalid
+//==== LABEL Check MediaControllerDisplayModeAbilities throws exception with invalid letterBox value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilities:letterBox A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, displayMode;
+    mcServer= tizen.mediacontroller.createServer();
+    displayMode = mcServer.abilities.displayMode;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            displayMode.letterBox = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_notexist.html
new file mode 100755 (executable)
index 0000000..22a230f
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilities_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilities_notexist
+//==== LABEL Check if interface MediaControllerDisplayModeAbilities exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilities:MediaControllerDisplayModeAbilities U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA NIO
+
+test(function () {
+    check_no_interface_object("MediaControllerDisplayModeAbilities");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_originSize_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_originSize_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..b01afe8
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilities_originSize_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilities_originSize_TypeMismatch
+//==== LABEL Check argument originSize conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilities:originSize A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, displayMode, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    displayMode = mcServer.abilities.displayMode;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                displayMode.originSize = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_originSize_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_originSize_attribute.html
new file mode 100755 (executable)
index 0000000..f3d0d4f
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilities_originSize_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilities_originSize_attribute
+//==== LABEL Check if attribute originSize of MediaControllerDisplayModeAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilities:originSize A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, displayMode;
+    mcServer= tizen.mediacontroller.createServer();
+    displayMode = mcServer.abilities.displayMode;
+    check_attribute(displayMode, "originSize", "NO", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_originSize_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_originSize_invalid.html
new file mode 100755 (executable)
index 0000000..33d31d4
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeAbilities_originSize_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeAbilities_originSize_invalid
+//==== LABEL Check MediaControllerDisplayModeAbilities throws exception with invalid originSize value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeAbilities:originSize A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, displayMode;
+    mcServer= tizen.mediacontroller.createServer();
+    displayMode = mcServer.abilities.displayMode;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            displayMode.originSize = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeCallback_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeCallback_notexist.html
new file mode 100755 (executable)
index 0000000..2ff971c
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeChangeCallback_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeChangeCallback_notexist
+//==== LABEL Check if interface MediaControllerDisplayModeChangeCallback exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeChangeCallback:MediaControllerDisplayModeChangeCallback U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA CBNIO
+
+test(function () {
+    check_no_interface_object("MediaControllerDisplayModeChangeCallback");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeCallback_onchange.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeCallback_onchange.html
new file mode 100755 (executable)
index 0000000..a7112c6
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeChangeCallback_onchange</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeChangeCallback_onchange
+//==== LABEL Check if MediaControllerDisplayModeChangeCallback onchange is called and if its arguments have proper type
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeChangeCallback:onchange M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA CBOA CBT
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServerInfo.displayMode.removeModeChangeListener(watchId);
+    });
+    changeListener = t.step_func(function (mode){
+        assert_type(mode, "string", "invalid type of mode");
+        assert_equals(mode, "LETTER_BOX", "invalid value of mode");
+        t.done();
+    });
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    watchId = mcServerInfo.displayMode.addModeChangeListener(changeListener);
+    mcServer.displayMode.type = "LETTER_BOX";
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeRequestCallback_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeRequestCallback_notexist.html
new file mode 100755 (executable)
index 0000000..a0347d2
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeChangeRequestCallback_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeChangeRequestCallback_notexist
+//==== LABEL Check if interface MediaControllerDisplayModeChangeRequestCallback exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeChangeRequestCallback:MediaControllerDisplayModeChangeRequestCallback U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA CBNIO
+
+test(function () {
+    check_no_interface_object("MediaControllerDisplayModeChangeRequestCallback");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeRequestCallback_onreply.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeRequestCallback_onreply.html
new file mode 100755 (executable)
index 0000000..e7f279d
--- /dev/null
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeChangeRequestCallback_onreply</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeChangeRequestCallback_onreply
+//==== LABEL Check if MediaControllerDisplayModeChangeRequestCallback onreply is called and if its arguments have proper type
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeChangeRequestCallback:onreply M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA CBOA CBT
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServer.displayMode.removeChangeRequestListener(watchId);
+    });
+    changeListener = t.step_func(function (clientName, mode){
+        assert_type(clientName, "string", "invalid type of clientName");
+        assert_equals(clientName, "apimediact.WebAPITizenMediaKeyTests", "invalid value of clientName");
+        assert_type(mode, "string", "invalid type of mode");
+        assert_equals(mode, "CROPPED_FULL", "invalid value of mode");
+        t.done();
+    });
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.abilities.displayMode.croppedFull = "YES";
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    watchId = mcServer.displayMode.addChangeRequestListener(changeListener);
+    mcServerInfo.displayMode.sendRequest("CROPPED_FULL", function(){});
+});
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener.html
new file mode 100755 (executable)
index 0000000..dbb6dfd
--- /dev/null
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeInfo_addModeChangeListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeInfo_addModeChangeListener
+//==== LABEL Check if addModeChangeListener() works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeInfo:addModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServerInfo.displayMode.removeModeChangeListener(watchId);
+    });
+    changeListener = t.step_func(function (mode){
+        assert_not_equals(watchId, null, "id should be not null");
+        assert_type(watchId, "long", "watcherId should be type of number");
+        t.done();
+    });
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    watchId = mcServerInfo.displayMode.addModeChangeListener(changeListener);
+    mcServer.displayMode.type = "CROPPED_FULL";
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_exist.html
new file mode 100755 (executable)
index 0000000..a5c2d43
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeInfo_addModeChangeListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeInfo_addModeChangeListener_exist
+//==== LABEL Check if method addModeChangeListener of MediaControllerDisplayModeInfo exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeInfo:addModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_method_exists(mcServerInfo.displayMode, "addModeChangeListener");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_listener_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_listener_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..8639dac
--- /dev/null
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeInfo_addModeChangeListener_listener_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeInfo_addModeChangeListener_listener_TypeMismatch
+//==== LABEL Check argument listener conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeInfo:addModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, incorrectCallback, exceptionName, i, conversionTable;
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    conversionTable = getTypeConversionExceptions("object", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        incorrectCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServerInfo.displayMode.addModeChangeListener(incorrectCallback);
+            }, "Exception should be thrown - given incorrect callback");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_listener_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_listener_invalid.html
new file mode 100755 (executable)
index 0000000..e015e48
--- /dev/null
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeInfo_addModeChangeListener_listener_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeInfo_addModeChangeListener_listener_invalid
+//==== LABEL Check if addModeChangeListener throws exception when callback is invalid listener
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeInfo:addModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTL
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, changeListener, exceptionName, incorrectListener, i;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    incorrectListener = getListenerConversionExceptions(["onchange"]);
+
+    for (i = 0; i < incorrectListener.length; i++) {
+        changeListener = incorrectListener[i][0];
+        exceptionName = incorrectListener[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServerInfo.displayMode.addModeChangeListener(changeListener);
+            }, "Exception should be thrown - given incorrect listener.");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_misarg.html
new file mode 100755 (executable)
index 0000000..292a036
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeInfo_addModeChangeListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeInfo_addModeChangeListener_misarg
+//==== LABEL Check if addModeChangeListener method of MediaControllerDisplayMode called with missing non-optional argument throws an exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeInfo:addModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+        mcServerInfo.displayMode.addModeChangeListener();
+    }, "Invoked without non-optional arguments.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_extend.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_extend.html
new file mode 100755 (executable)
index 0000000..9274f05
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeInfo_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeInfo_extend
+//==== LABEL Check if MediaControllerDisplayModeInfo object is extendable
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeInfo:MediaControllerDisplayModeInfo U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA OBX
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_extensibility(mcServerInfo.displayMode);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_notexist.html
new file mode 100755 (executable)
index 0000000..5b265b1
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeInfo_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeInfo_notexist
+//==== LABEL Check if interface MediaControllerDisplayModeInfo exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeInfo:MediaControllerDisplayModeInfo U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA NIO
+
+test(function () {
+    check_no_interface_object("MediaControllerDisplayModeInfo");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_removeModeChangeListener.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_removeModeChangeListener.html
new file mode 100755 (executable)
index 0000000..6f3bd01
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeInfo_removeModeChangeListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeInfo_removeModeChangeListener
+//==== LABEL Check if MediaControllerDisplayModeInfo removeModeChangeListener method works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeInfo:removeModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), retValue =null, watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServerInfo.displayMode.removeModeChangeListener(watchId);
+    });
+    changeListener = t.step_func(function (mode){
+        retValue = mcServerInfo.displayMode.removeModeChangeListener(watchId);
+        assert_equals(retValue, undefined, "Incorrect returned value.");
+        t.done();
+    });
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    watchId = mcServerInfo.displayMode.addModeChangeListener(changeListener);
+    mcServer.displayMode.type = "CROPPED_FULL";
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_removeModeChangeListener_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_removeModeChangeListener_exist.html
new file mode 100755 (executable)
index 0000000..f99e7ce
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeInfo_removeModeChangeListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeInfo_removeModeChangeListener_exist
+//==== LABEL check if removeModeChangeListener exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeInfo:removeModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_method_exists(mcServerInfo.displayMode, "removeModeChangeListener");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_removeModeChangeListener_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_removeModeChangeListener_misarg.html
new file mode 100755 (executable)
index 0000000..8a1abeb
--- /dev/null
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360Info_removeModeChangeListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360Info_removeModeChangeListener_misarg
+//==== LABEL Check if removeModeChangeListener method called with missing non-optional argument does not throw any exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360Info:removeModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    try {
+        mcServerInfo.displayMode.removeModeChangeListener();
+    } catch(e) {
+        assert_unreached("Calling removeModeChangeListener without arguments should not throw an exception.");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest.html
new file mode 100755 (executable)
index 0000000..dcf261a
--- /dev/null
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeInfo_sendRequest</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeInfo_sendRequest
+//==== LABEL Check if MediaControllerDisplayModeInfo sendRequest method without optional argument works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeInfo:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), retValue = null, mcServer, replyCallback, mcClient, mcServerInfo, changeListener, watchId;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServer.displayMode.removeChangeRequestListener(watchId);
+    });
+    changeListener = t.step_func(function (clientName, mode){
+        return new tizen.mediacontroller.RequestReply(new tizen.Bundle({"message": "Success"}), 0);
+    });
+    replyCallback = t.step_func(function (mode){
+        assert_equals(retValue, undefined, "Incorrect returned value.");
+        t.done();
+    });
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.abilities.displayMode.croppedFull = "YES";
+    watchId = mcServer.displayMode.addChangeRequestListener(changeListener);
+    retValue = mcServerInfo.displayMode.sendRequest("CROPPED_FULL", replyCallback);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_exist.html
new file mode 100755 (executable)
index 0000000..c3bc316
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeInfo_sendRequest_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeInfo_sendRequest_exist
+//==== LABEL Check if sendRequest exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeInfo:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer, mcClient, serverInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    serverInfo = mcClient.getLatestServerInfo();
+    check_method_exists(serverInfo.displayMode, "sendRequest");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_misarg.html
new file mode 100755 (executable)
index 0000000..ba82d88
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeInfo_sendRequest_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeInfo_sendRequest_misarg
+//==== LABEL Check if sendRequest method called with missing non-optional argument throws an exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeInfo:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer, mcClient, serverInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    serverInfo = mcClient.getLatestServerInfo();
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+        serverInfo.displayMode.sendRequest();
+    }, "Invoked without non-optional arguments.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_replyCallback_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_replyCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..2073760
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeInfo_sendRequest_replyCallback_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeInfo_sendRequest_replyCallback_TypeMismatch
+//==== LABEL Check if sendRequest throws exception when replyCallback is incorrect
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeInfo:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, conversionTable, exceptionName, i, replyCallback;
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    conversionTable = getTypeConversionExceptions("functionObject", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        replyCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServerInfo.displayMode.sendRequest("CROPPED_FULL", replyCallback);
+            }, "Given incorrect replyCallback.");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_replyCallback_invalid_cb.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_replyCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..df98a33
--- /dev/null
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeInfo_sendRequest_replyCallback_invalid_cb</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeInfo_sendRequest_replyCallback_invalid_cb
+//==== LABEL Check if sendRequest throws exception when replyCallback is invalid
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeInfo:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTCB
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), mcServer, mcClient, mcServerInfo, incorrectCallback;
+
+t.step(function () {
+    incorrectCallback = {
+        onsuccess: t.step_func(function () {
+            assert_unreached("Invalid callback invoked");
+        })
+    };
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+        mcServerInfo.displayMode.sendRequest(incorrectCallback);
+    }, "Given incorrect replayCallback.");
+    t.done();
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_type_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_type_attribute.html
new file mode 100755 (executable)
index 0000000..4c425a8
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayModeInfo_type_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayModeInfo_type_attribute
+//==== LABEL Check if attribute type of MediaControllerDisplayModeInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayModeInfo:type A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, mode;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mode = mcServerInfo.displayMode;
+    check_readonly(mode, "type", mode.type, "string", "LETTER_BOX");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener.html
new file mode 100755 (executable)
index 0000000..5bb30a3
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayMode_addChangeRequestListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayMode_addChangeRequestListener
+//==== LABEL Check if addChangeRequestListener() works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayMode:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServer.displayMode.removeChangeRequestListener(watchId);
+    });
+    changeListener = t.step_func(function (clientName, mode){
+        assert_not_equals(watchId, null, "id should be not null");
+        assert_type(watchId, "long", "watcherId should be type of number");
+        t.done();
+    });
+
+    mcServer = tizen.mediacontroller.createServer();
+    watchId = mcServer.displayMode.addChangeRequestListener(changeListener);
+    mcServer.abilities.displayMode.croppedFull = "YES";
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServerInfo.displayMode.sendRequest("CROPPED_FULL", function(){});
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_exist.html
new file mode 100755 (executable)
index 0000000..e8b5573
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayMode_addChangeRequestListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayMode_addChangeRequestListener_exist
+//==== LABEL Check if method addChangeRequestListener of MediaControllerDisplayMode exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayMode:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    check_method_exists(mcServer.displayMode, "addChangeRequestListener");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_listener_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_listener_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..1ad38cc
--- /dev/null
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayMode_addChangeRequestListener_listener_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayMode_addChangeRequestListener_listener_TypeMismatch
+//==== LABEL Check argument listener conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayMode:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, incorrectCallback, exceptionName, i, conversionTable;
+    mcServer = tizen.mediacontroller.createServer();
+    conversionTable = getTypeConversionExceptions("object", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        incorrectCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServer.displayMode.addChangeRequestListener(incorrectCallback);
+            }, "Exception should be thrown - given incorrect callback");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_listener_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_listener_invalid.html
new file mode 100755 (executable)
index 0000000..6b6453a
--- /dev/null
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayMode_addChangeRequestListener_listener_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayMode_addChangeRequestListener_listener_invalid
+//==== LABEL Check if addChangeRequestListener throws exception when callback is invalid listener
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayMode:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTL
+
+test(function () {
+    var mcServer, changeListener, exceptionName, incorrectListener, i;
+    mcServer = tizen.mediacontroller.createServer();
+    incorrectListener = getListenerConversionExceptions(["onreply"]);
+
+    for (i = 0; i < incorrectListener.length; i++) {
+        changeListener = incorrectListener[i][0];
+        exceptionName = incorrectListener[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServer.displayMode.addChangeRequestListener(changeListener);
+            }, "Exception should be thrown - given incorrect listener.");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_misarg.html
new file mode 100755 (executable)
index 0000000..a48e272
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayMode_addChangeRequestListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayMode_addChangeRequestListener_misarg
+//==== LABEL Check if addChangeRequestListener method of MediaControllerDisplayMode called with missing non-optional argument throws an exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayMode:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+        mcServer.displayMode.addChangeRequestListener();
+    }, "Invoked without non-optional arguments.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_extend.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_extend.html
new file mode 100755 (executable)
index 0000000..b7034c8
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayMode_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayMode_extend
+//==== LABEL Check if MediaControllerDisplayMode object is extendable
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayMode:MediaControllerDisplayMode U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA OBX
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    check_extensibility(mcServer.displayMode);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_notexist.html
new file mode 100755 (executable)
index 0000000..1612275
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayMode_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayMode_notexist
+//==== LABEL Check if interface MediaControllerDisplayMode exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayMode:MediaControllerDisplayMode U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA NIO
+
+test(function () {
+    check_no_interface_object("MediaControllerDisplayMode");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_removeChangeRequestListener.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_removeChangeRequestListener.html
new file mode 100755 (executable)
index 0000000..21e644e
--- /dev/null
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayMode_removeChangeRequestListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayMode_removeChangeRequestListener
+//==== LABEL Check if MediaControllerDisplayMode removeChangeRequestListener method works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayMode:removeChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), retValue = null, watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServer.displayMode.removeChangeRequestListener(watchId);
+    });
+    changeListener = t.step_func(function (clientName, mode){
+        retValue = mcServer.displayMode.removeChangeRequestListener(watchId);
+        assert_equals(retValue, undefined, "Incorrect returned value.");
+        t.done();
+    });
+
+    mcServer = tizen.mediacontroller.createServer();
+    watchId = mcServer.displayMode.addChangeRequestListener(changeListener);
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer.abilities.displayMode.croppedFull = "YES";
+    mcServerInfo.displayMode.sendRequest("CROPPED_FULL", function(){});
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_removeChangeRequestListener_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_removeChangeRequestListener_exist.html
new file mode 100755 (executable)
index 0000000..723a06f
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayMode_removeChangeRequestListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayMode_removeChangeRequestListener_exist
+//==== LABEL check if removeChangeRequestListener exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayMode:removeChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    check_method_exists(mcServer.displayMode, "removeChangeRequestListener");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_removeChangeRequestListener_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_removeChangeRequestListener_misarg.html
new file mode 100755 (executable)
index 0000000..844b0e6
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayMode_removeChangeRequestListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayMode_removeChangeRequestListener_misarg
+//==== LABEL Check if removeChangeRequestListener method called with missing non-optional argument does not throw any exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayMode:removeChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    try {
+        mcServer.displayMode.removeChangeRequestListener();
+    } catch(e) {
+        assert_unreached("Calling removeChangeRequestListener without arguments should not throw an exception.");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_type_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_type_attribute.html
new file mode 100755 (executable)
index 0000000..37d9a11
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayMode_type_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayMode_type_attribute
+//==== LABEL Check if attribute type of MediaControllerDisplayMode exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayMode:type A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, mode;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mode = mcServer.displayMode;
+    check_attribute(mode, "type", "FULL_SCREEN", "string", "LETTER_BOX");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_extend.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_extend.html
new file mode 100755 (executable)
index 0000000..6512041
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilitiesInfo_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilitiesInfo_extend
+//==== LABEL Check if MediaControllerDisplayRotationAbilitiesInfo object is extendable
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilitiesInfo:MediaControllerDisplayRotationAbilitiesInfo U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA OBX
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_extensibility(mcServerInfo.abilities.displayRotation);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_notexist.html
new file mode 100755 (executable)
index 0000000..9cac58a
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilitiesInfo_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilitiesInfo_notexist
+//==== LABEL Check if interface MediaControllerDisplayRotationAbilitiesInfo exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilitiesInfo:MediaControllerDisplayRotationAbilitiesInfo U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA NIO
+
+test(function () {
+    check_no_interface_object("MediaControllerDisplayRotationAbilitiesInfo");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_rotation180_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_rotation180_attribute.html
new file mode 100755 (executable)
index 0000000..198dfc8
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilitiesInfo_rotation180_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilitiesInfo_rotation180_attribute
+//==== LABEL Check if attribute rotation180 of MediaControllerDisplayRotationAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilitiesInfo:rotation180 A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, displayRotation;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    displayRotation = mcServerInfo.abilities.displayRotation;
+    check_readonly(displayRotation, "rotation180", displayRotation.rotation180, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_rotation270_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_rotation270_attribute.html
new file mode 100755 (executable)
index 0000000..ab65143
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilitiesInfo_rotation270_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilitiesInfo_rotation270_attribute
+//==== LABEL Check if attribute rotation270 of MediaControllerDisplayRotationAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilitiesInfo:rotation270 A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, displayRotation;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    displayRotation = mcServerInfo.abilities.displayRotation;
+    check_readonly(displayRotation, "rotation270", displayRotation.rotation270, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_rotation90_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_rotation90_attribute.html
new file mode 100755 (executable)
index 0000000..d5476e5
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilitiesInfo_rotation90_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilitiesInfo_rotation90_attribute
+//==== LABEL Check if attribute rotation90 of MediaControllerDisplayRotationAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilitiesInfo:rotation90 A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, displayRotation;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    displayRotation = mcServerInfo.abilities.displayRotation;
+    check_readonly(displayRotation, "rotation90", displayRotation.rotation90, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_rotationNone_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_rotationNone_attribute.html
new file mode 100755 (executable)
index 0000000..f85fbff
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilitiesInfo_rotationNone_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilitiesInfo_rotationNone_attribute
+//==== LABEL Check if attribute rotationNone of MediaControllerDisplayRotationAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilitiesInfo:rotationNone A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, displayRotation;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    displayRotation = mcServerInfo.abilities.displayRotation;
+    check_readonly(displayRotation, "rotationNone", displayRotation.rotationNone, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_extend.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_extend.html
new file mode 100755 (executable)
index 0000000..c1ab0ff
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilities_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilities_extend
+//==== LABEL Check if MediaControllerDisplayRotationAbilities object is extendable
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilities:MediaControllerDisplayRotationAbilities U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA OBX
+
+test(function () {
+    var mcServer;
+    mcServer= tizen.mediacontroller.createServer();
+    check_extensibility(mcServer.abilities.displayRotation);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_notexist.html
new file mode 100755 (executable)
index 0000000..42e7f8b
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilities_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilities_notexist
+//==== LABEL Check if interface MediaControllerDisplayRotationAbilities exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilities:MediaControllerDisplayRotationAbilities U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA NIO
+
+test(function () {
+    check_no_interface_object("MediaControllerDisplayRotationAbilities");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation180_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation180_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..604e419
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilities_rotation180_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilities_rotation180_TypeMismatch
+//==== LABEL Check argument rotation180 conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilities:rotation180 A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, displayRotation, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    displayRotation = mcServer.abilities.displayRotation;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                displayRotation.rotation180 = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation180_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation180_attribute.html
new file mode 100755 (executable)
index 0000000..e411242
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilities_rotation180_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilities_rotation180_attribute
+//==== LABEL Check if attribute rotation180 of MediaControllerDisplayRotationAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilities:rotation180 A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, displayRotation;
+    mcServer= tizen.mediacontroller.createServer();
+    displayRotation = mcServer.abilities.displayRotation;
+    check_attribute(displayRotation, "rotation180", "NO", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation180_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation180_invalid.html
new file mode 100755 (executable)
index 0000000..de0184a
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilities_rotation180_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilities_rotation180_invalid
+//==== LABEL Check MediaControllerDisplayRotationAbilities throws exception with invalid rotation180 value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilities:rotation180 A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, displayRotation;
+    mcServer= tizen.mediacontroller.createServer();
+    displayRotation = mcServer.abilities.displayRotation;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            displayRotation.rotation180 = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation270_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation270_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..7abd2fe
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilities_rotation270_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilities_rotation270_TypeMismatch
+//==== LABEL Check argument rotation270 conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilities:rotation270 A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, displayRotation, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    displayRotation = mcServer.abilities.displayRotation;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                displayRotation.rotation270 = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation270_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation270_attribute.html
new file mode 100755 (executable)
index 0000000..513a579
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilities_rotation270_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilities_rotation270_attribute
+//==== LABEL Check if attribute rotation270 of MediaControllerDisplayRotationAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilities:rotation270 A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, displayRotation;
+    mcServer= tizen.mediacontroller.createServer();
+    displayRotation = mcServer.abilities.displayRotation;
+    check_attribute(displayRotation, "rotation270", "NO", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation270_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation270_invalid.html
new file mode 100755 (executable)
index 0000000..b377aa1
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilities_rotation270_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilities_rotation270_invalid
+//==== LABEL Check MediaControllerDisplayRotationAbilities throws exception with invalid rotation270 value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilities:rotation270 A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, displayRotation;
+    mcServer= tizen.mediacontroller.createServer();
+    displayRotation = mcServer.abilities.displayRotation;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            displayRotation.rotation270 = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation90_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation90_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..2548b11
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilities_rotation90_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilities_rotation90_TypeMismatch
+//==== LABEL Check argument rotation90 conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilities:rotation90 A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, displayRotation, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    displayRotation = mcServer.abilities.displayRotation;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                displayRotation.rotation90 = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation90_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation90_attribute.html
new file mode 100755 (executable)
index 0000000..ea1e271
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilities_rotation90_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilities_rotation90_attribute
+//==== LABEL Check if attribute rotation90 of MediaControllerDisplayRotationAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilities:rotation90 A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, displayRotation;
+    mcServer= tizen.mediacontroller.createServer();
+    displayRotation = mcServer.abilities.displayRotation;
+    check_attribute(displayRotation, "rotation90", "NO", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation90_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation90_invalid.html
new file mode 100755 (executable)
index 0000000..fb9f69c
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilities_rotation90_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilities_rotation90_invalid
+//==== LABEL Check MediaControllerDisplayRotationAbilities throws exception with invalid rotation90 value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilities:rotation90 A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, displayRotation;
+    mcServer= tizen.mediacontroller.createServer();
+    displayRotation = mcServer.abilities.displayRotation;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            displayRotation.rotation90 = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotationNone_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotationNone_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..b81519a
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilities_rotationNone_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilities_rotationNone_TypeMismatch
+//==== LABEL Check argument rotationNone conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilities:rotationNone A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, displayRotation, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    displayRotation = mcServer.abilities.displayRotation;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                displayRotation.rotationNone = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotationNone_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotationNone_attribute.html
new file mode 100755 (executable)
index 0000000..e5a9445
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilities_rotationNone_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilities_rotationNone_attribute
+//==== LABEL Check if attribute rotationNone of MediaControllerDisplayRotationAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilities:rotationNone A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, displayRotation;
+    mcServer= tizen.mediacontroller.createServer();
+    displayRotation = mcServer.abilities.displayRotation;
+    check_attribute(displayRotation, "rotationNone", "NO", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotationNone_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotationNone_invalid.html
new file mode 100755 (executable)
index 0000000..fcf4545
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationAbilities_rotationNone_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationAbilities_rotationNone_invalid
+//==== LABEL Check MediaControllerDisplayRotationAbilities throws exception with invalid rotationNone value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationAbilities:rotationNone A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, displayRotation;
+    mcServer= tizen.mediacontroller.createServer();
+    displayRotation = mcServer.abilities.displayRotation;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            displayRotation.rotationNone = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeCallback_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeCallback_notexist.html
new file mode 100755 (executable)
index 0000000..300e1e3
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationChangeCallback_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationChangeCallback_notexist
+//==== LABEL Check if interface MediaControllerDisplayRotationChangeCallback exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationChangeCallback:MediaControllerDisplayRotationChangeCallback U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA CBNIO
+
+test(function () {
+    check_no_interface_object("MediaControllerDisplayRotationChangeCallback");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeCallback_onchange.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeCallback_onchange.html
new file mode 100755 (executable)
index 0000000..551269f
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationChangeCallback_onchange</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationChangeCallback_onchange
+//==== LABEL Check if MediaControllerDisplayRotationChangeCallback onchange is called and if its arguments have proper type
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationChangeCallback:onchange M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA CBOA CBT
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServerInfo.displayRotation.removeDisplayRotationChangeListener(watchId);
+    });
+    changeListener = t.step_func(function (rotation){
+        assert_type(rotation, "string", "invalid type of rotation");
+        assert_equals(rotation, "ROTATION_90", "invalid value of rotation");
+        t.done();
+    });
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    watchId = mcServerInfo.displayRotation.addDisplayRotationChangeListener(changeListener);
+    mcServer.displayRotation.displayRotation = "ROTATION_90";
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeRequestCallback_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeRequestCallback_notexist.html
new file mode 100755 (executable)
index 0000000..035a965
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationChangeRequestCallback_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationChangeRequestCallback_notexist
+//==== LABEL Check if interface MediaControllerDisplayRotationChangeRequestCallback exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationChangeRequestCallback:MediaControllerDisplayRotationChangeRequestCallback U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA CBNIO
+
+test(function () {
+    check_no_interface_object("MediaControllerDisplayRotationChangeRequestCallback");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeRequestCallback_onreply.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeRequestCallback_onreply.html
new file mode 100755 (executable)
index 0000000..51661a7
--- /dev/null
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationChangeRequestCallback_onreply</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationChangeRequestCallback_onreply
+//==== LABEL Check if MediaControllerDisplayRotationChangeRequestCallback onreply is called and if its arguments have proper type
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationChangeRequestCallback:onreply M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA CBOA CBT
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServer.displayRotation.removeChangeRequestListener(watchId);
+    });
+    changeListener = t.step_func(function (clientName, rotation){
+        assert_type(clientName, "string", "invalid type of clientName");
+        assert_equals(clientName, "apimediact.WebAPITizenMediaKeyTests", "invalid value of clientName");
+        assert_type(rotation, "string", "invalid type of rotation");
+        assert_equals(rotation, "ROTATION_90", "invalid value of rotation");
+        t.done();
+    });
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.abilities.displayRotation.rotation90 = "YES";
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    watchId = mcServer.displayRotation.addChangeRequestListener(changeListener);
+    mcServerInfo.displayRotation.sendRequest("ROTATION_90", function(){});
+});
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener.html
new file mode 100755 (executable)
index 0000000..1e0ee40
--- /dev/null
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener
+//==== LABEL Check if addDisplayRotationChangeListener() works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationInfo:addDisplayRotationChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServerInfo.displayRotation.removeDisplayRotationChangeListener(watchId);
+    });
+    changeListener = t.step_func(function (rotation){
+        assert_not_equals(watchId, null, "id should be not null");
+        assert_type(watchId, "long", "watcherId should be type of number");
+        t.done();
+    });
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    watchId = mcServerInfo.displayRotation.addDisplayRotationChangeListener(changeListener);
+    mcServer.displayRotation.displayRotation = "ROTATION_90";
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_exist.html
new file mode 100755 (executable)
index 0000000..8b94ddf
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_exist
+//==== LABEL Check if method addDisplayRotationChangeListener of MediaControllerDisplayRotationInfo exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationInfo:addDisplayRotationChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_method_exists(mcServerInfo.displayRotation, "addDisplayRotationChangeListener");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_listener_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_listener_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..06e2c3e
--- /dev/null
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_listener_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_listener_TypeMismatch
+//==== LABEL Check argument listener conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationInfo:addDisplayRotationChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, incorrectCallback, exceptionName, i, conversionTable;
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    conversionTable = getTypeConversionExceptions("object", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        incorrectCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServerInfo.displayRotation.addDisplayRotationChangeListener(incorrectCallback);
+            }, "Exception should be thrown - given incorrect callback");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_listener_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_listener_invalid.html
new file mode 100755 (executable)
index 0000000..eebe873
--- /dev/null
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_listener_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_listener_invalid
+//==== LABEL Check if addDisplayRotationChangeListener throws exception when callback is invalid listener
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationInfo:addDisplayRotationChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTL
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, changeListener, exceptionName, incorrectListener, i;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    incorrectListener = getListenerConversionExceptions(["onchange"]);
+
+    for (i = 0; i < incorrectListener.length; i++) {
+        changeListener = incorrectListener[i][0];
+        exceptionName = incorrectListener[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServerInfo.displayRotation.addDisplayRotationChangeListener(changeListener);
+            }, "Exception should be thrown - given incorrect listener.");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_misarg.html
new file mode 100755 (executable)
index 0000000..f611842
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_misarg
+//==== LABEL Check if addDisplayRotationChangeListener method of MediaControllerDisplayRotationInfo called with missing non-optional argument throws an exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationInfo:addDisplayRotationChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+        mcServerInfo.displayRotation.addDisplayRotationChangeListener();
+    }, "Invoked without non-optional arguments.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_displayRotation_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_displayRotation_attribute.html
new file mode 100755 (executable)
index 0000000..1612f53
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationInfo_displayRotation_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationInfo_displayRotation_attribute
+//==== LABEL Check if attribute displayRotation of MediaControllerDisplayRotationInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationInfo:displayRotation A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, rotation;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    rotation = mcServerInfo.displayRotation;
+    check_readonly(rotation, "displayRotation", rotation.displayRotation, "string", "ROTATION_90");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_extend.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_extend.html
new file mode 100755 (executable)
index 0000000..503926b
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationInfo_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationInfo_extend
+//==== LABEL Check if MediaControllerDisplayRotationInfo object is extendable
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationInfo:MediaControllerDisplayRotationInfo U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA OBX
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_extensibility(mcServerInfo.displayRotation);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_notexist.html
new file mode 100755 (executable)
index 0000000..015c92b
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationInfo_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationInfo_notexist
+//==== LABEL Check if interface MediaControllerDisplayRotationInfo exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationInfo:MediaControllerDisplayRotationInfo U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA NIO
+
+test(function () {
+    check_no_interface_object("MediaControllerDisplayRotationInfo");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener.html
new file mode 100755 (executable)
index 0000000..34162d2
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener
+//==== LABEL Check if MediaControllerDisplayRotationInfo removeDisplayRotationChangeListener method works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationInfo:removeDisplayRotationChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), retValue =null, watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServerInfo.displayRotation.removeDisplayRotationChangeListener(watchId);
+    });
+    changeListener = t.step_func(function (rotation){
+        retValue = mcServerInfo.displayRotation.removeDisplayRotationChangeListener(watchId);
+        assert_equals(retValue, undefined, "Incorrect returned value.");
+        t.done();
+    });
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    watchId = mcServerInfo.displayRotation.addDisplayRotationChangeListener(changeListener);
+    mcServer.displayRotation.displayRotation = "ROTATION_90";
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener_exist.html
new file mode 100755 (executable)
index 0000000..d82e5e1
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener_exist
+//==== LABEL check if removeDisplayRotationChangeListener exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationInfo:removeDisplayRotationChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_method_exists(mcServerInfo.displayRotation, "removeDisplayRotationChangeListener");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener_misarg.html
new file mode 100755 (executable)
index 0000000..faf45f4
--- /dev/null
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener_misarg
+//==== LABEL Check if removeDisplayRotationChangeListener method called with missing non-optional argument does not throw any exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationInfo:removeDisplayRotationChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    try {
+        mcServerInfo.displayRotation.removeDisplayRotationChangeListener();
+    } catch(e) {
+        assert_unreached("Calling removeDisplayRotationChangeListener without arguments should not throw an exception.");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest.html
new file mode 100755 (executable)
index 0000000..517f54e
--- /dev/null
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationInfo_sendRequest</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationInfo_sendRequest
+//==== LABEL Check if MediaControllerDisplayRotationInfo sendRequest method without optional argument works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationInfo:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), retValue = null, mcServer, replyCallback, mcClient, mcServerInfo, changeListener, watchId;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServer.displayRotation.removeChangeRequestListener(watchId);
+    });
+    changeListener = t.step_func(function (clientName, rotation){
+        return new tizen.mediacontroller.RequestReply(new tizen.Bundle({"message": "Success"}), 0);
+    });
+    replyCallback = t.step_func(function (rotation){
+        assert_equals(retValue, undefined, "Incorrect returned value.");
+        t.done();
+    });
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.abilities.displayRotation.rotation90 = "YES";
+    watchId = mcServer.displayRotation.addChangeRequestListener(changeListener);
+    retValue = mcServerInfo.displayRotation.sendRequest("ROTATION_90", replyCallback);
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_exist.html
new file mode 100755 (executable)
index 0000000..e9b0830
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationInfo_sendRequest_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationInfo_sendRequest_exist
+//==== LABEL Check if sendRequest exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationInfo:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer, mcClient, serverInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    serverInfo = mcClient.getLatestServerInfo();
+    check_method_exists(serverInfo.displayRotation, "sendRequest");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_misarg.html
new file mode 100755 (executable)
index 0000000..474a553
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationInfo_sendRequest_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationInfo_sendRequest_misarg
+//==== LABEL Check if sendRequest method called with missing non-optional argument throws an exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationInfo:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer, mcClient, serverInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    serverInfo = mcClient.getLatestServerInfo();
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+        serverInfo.displayRotation.sendRequest();
+    }, "Invoked without non-optional arguments.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_replyCallback_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_replyCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..9a30398
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationInfo_sendRequest_replyCallback_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationInfo_sendRequest_replyCallback_TypeMismatch
+//==== LABEL Check if sendRequest throws exception when replyCallback is incorrect
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationInfo:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, conversionTable, exceptionName, i, replyCallback;
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    conversionTable = getTypeConversionExceptions("functionObject", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        replyCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServerInfo.displayRotation.sendRequest("CROPPED_FULL", replyCallback);
+            }, "Given incorrect replyCallback.");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_replyCallback_invalid_cb.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_replyCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..d6c7a59
--- /dev/null
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotationInfo_sendRequest_replyCallback_invalid_cb</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotationInfo_sendRequest_replyCallback_invalid_cb
+//==== LABEL Check if sendRequest throws exception when replyCallback is invalid
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotationInfo:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTCB
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), mcServer, mcClient, mcServerInfo, incorrectCallback;
+
+t.step(function () {
+    incorrectCallback = {
+        onsuccess: t.step_func(function () {
+            assert_unreached("Invalid callback invoked");
+        })
+    };
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+        mcServerInfo.displayRotation.sendRequest(incorrectCallback);
+    }, "Given incorrect replayCallback.");
+    t.done();
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener.html
new file mode 100755 (executable)
index 0000000..c82619d
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotation_addChangeRequestListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotation_addChangeRequestListener
+//==== LABEL Check if addChangeRequestListener() works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotation:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServer.displayRotation.removeChangeRequestListener(watchId);
+    });
+    changeListener = t.step_func(function (clientName, mode){
+        assert_not_equals(watchId, null, "id should be not null");
+        assert_type(watchId, "long", "watcherId should be type of number");
+        t.done();
+    });
+
+    mcServer = tizen.mediacontroller.createServer();
+    watchId = mcServer.displayRotation.addChangeRequestListener(changeListener);
+    mcServer.abilities.displayRotation.rotation90 = "YES";
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServerInfo.displayRotation.sendRequest("ROTATION_90", function(){});
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_exist.html
new file mode 100755 (executable)
index 0000000..bd09e30
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotation_addChangeRequestListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotation_addChangeRequestListener_exist
+//==== LABEL Check if method addChangeRequestListener of MediaControllerDisplayRotation exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotation:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    check_method_exists(mcServer.displayRotation, "addChangeRequestListener");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_listener_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_listener_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..c4c4e83
--- /dev/null
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotation_addChangeRequestListener_listener_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotation_addChangeRequestListener_listener_TypeMismatch
+//==== LABEL Check argument listener conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotation:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, incorrectCallback, exceptionName, i, conversionTable;
+    mcServer = tizen.mediacontroller.createServer();
+    conversionTable = getTypeConversionExceptions("object", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        incorrectCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServer.displayRotation.addChangeRequestListener(incorrectCallback);
+            }, "Exception should be thrown - given incorrect callback");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_listener_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_listener_invalid.html
new file mode 100755 (executable)
index 0000000..3b108ff
--- /dev/null
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotation_addChangeRequestListener_listener_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotation_addChangeRequestListener_listener_invalid
+//==== LABEL Check if addChangeRequestListener throws exception when callback is invalid listener
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotation:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTL
+
+test(function () {
+    var mcServer, changeListener, exceptionName, incorrectListener, i;
+    mcServer = tizen.mediacontroller.createServer();
+    incorrectListener = getListenerConversionExceptions(["onreply"]);
+
+    for (i = 0; i < incorrectListener.length; i++) {
+        changeListener = incorrectListener[i][0];
+        exceptionName = incorrectListener[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServer.displayRotation.addChangeRequestListener(changeListener);
+            }, "Exception should be thrown - given incorrect listener.");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_misarg.html
new file mode 100755 (executable)
index 0000000..eec804a
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotation_addChangeRequestListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotation_addChangeRequestListener_misarg
+//==== LABEL Check if addChangeRequestListener method of MediaControllerDisplayRotation called with missing non-optional argument throws an exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotation:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+        mcServer.displayRotation.addChangeRequestListener();
+    }, "Invoked without non-optional arguments.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_displayRotation_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_displayRotation_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..9c89fbb
--- /dev/null
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotation_displayRotation_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotation_displayRotation_TypeMismatch
+//==== LABEL Check argument displayRotation conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotation:displayRotation A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServer.displayRotation.displayRotation = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_displayRotation_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_displayRotation_attribute.html
new file mode 100755 (executable)
index 0000000..1bf317f
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotation_displayRotation_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotation_displayRotation_attribute
+//==== LABEL Check if attribute displayRotation of MediaControllerDisplayRotation exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotation:displayRotation A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, rotation;
+
+    mcServer = tizen.mediacontroller.createServer();
+    rotation = mcServer.displayRotation;
+    check_attribute(rotation, "displayRotation", "ROTATION_NONE", "string", "ROTATION_90");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_extend.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_extend.html
new file mode 100755 (executable)
index 0000000..cdb7275
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotation_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotation_extend
+//==== LABEL Check if MediaControllerDisplayRotation object is extendable
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotation:MediaControllerDisplayRotation U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA OBX
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    check_extensibility(mcServer.displayRotation);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_notexist.html
new file mode 100755 (executable)
index 0000000..0cf01a3
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotation_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotation_notexist
+//==== LABEL Check if interface MediaControllerDisplayRotation exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotation:MediaControllerDisplayRotation U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA NIO
+
+test(function () {
+    check_no_interface_object("MediaControllerDisplayRotation");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_removeChangeRequestListener.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_removeChangeRequestListener.html
new file mode 100755 (executable)
index 0000000..225ff1b
--- /dev/null
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotation_removeChangeRequestListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotation_removeChangeRequestListener
+//==== LABEL Check if MediaControllerDisplayRotation removeChangeRequestListener method works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotation:removeChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), retValue = null, watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServer.displayRotation.removeChangeRequestListener(watchId);
+    });
+    changeListener = t.step_func(function (clientName, mode){
+        retValue = mcServer.displayRotation.removeChangeRequestListener(watchId);
+        assert_equals(retValue, undefined, "Incorrect returned value.");
+        t.done();
+    });
+
+    mcServer = tizen.mediacontroller.createServer();
+    watchId = mcServer.displayRotation.addChangeRequestListener(changeListener);
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer.abilities.displayRotation.rotation90 = "YES";
+    mcServerInfo.displayRotation.sendRequest("ROTATION_90", function(){});
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_removeChangeRequestListener_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_removeChangeRequestListener_exist.html
new file mode 100755 (executable)
index 0000000..5d23c50
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotation_removeChangeRequestListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotation_removeChangeRequestListener_exist
+//==== LABEL check if removeChangeRequestListener exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotation:removeChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    check_method_exists(mcServer.displayRotation, "removeChangeRequestListener");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_removeChangeRequestListener_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_removeChangeRequestListener_misarg.html
new file mode 100755 (executable)
index 0000000..c4b84a4
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerDisplayRotation_removeChangeRequestListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerDisplayRotation_removeChangeRequestListener_misarg
+//==== LABEL Check if removeChangeRequestListener method called with missing non-optional argument does not throw any exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerDisplayRotation:removeChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    try {
+        mcServer.displayRotation.removeChangeRequestListener();
+    } catch(e) {
+        assert_unreached("Calling removeChangeRequestListener without arguments should not throw an exception.");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerEnabledChangeCallback_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerEnabledChangeCallback_notexist.html
new file mode 100755 (executable)
index 0000000..adefae1
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerEnabledChangeCallback_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerEnabledChangeCallback_notexist
+//==== LABEL Check if interface MediaControllerEnabledChangeCallback exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerEnabledChangeCallback:MediaControllerEnabledChangeCallback U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA CBNIO
+
+test(function () {
+    check_no_interface_object("MediaControllerEnabledChangeCallback");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerEnabledChangeCallback_onchange.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerEnabledChangeCallback_onchange.html
new file mode 100755 (executable)
index 0000000..6d4b5ce
--- /dev/null
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerEnabledChangeCallback_onchange</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerEnabledChangeCallback_onchange
+//==== LABEL Check if MediaControllerEnabledChangeCallback onchange is called and if its arguments have proper type
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerEnabledChangeCallback:onchange M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA CBOA CBT
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServerInfo.mode360.removeModeChangeListener(watchId);
+    });
+    changeListener = t.step_func(function (enabled){
+        assert_type(enabled, "boolean", "invalid type of enabled");
+        assert_equals(enabled, true, "invalid value of enabled");
+        t.done();
+    });
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.abilities.mode360 = "YES";
+    watchId = mcServerInfo.mode360.addModeChangeListener(changeListener);
+    mcServer.mode360.enabled = true;
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerEnabledChangeRequestCallback_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerEnabledChangeRequestCallback_notexist.html
new file mode 100755 (executable)
index 0000000..1b6391c
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerEnabledChangeRequestCallback_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerEnabledChangeRequestCallback_notexist
+//==== LABEL Check if interface MediaControllerEnabledChangeRequestCallback exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerEnabledChangeRequestCallback:MediaControllerEnabledChangeRequestCallback U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA CBNIO
+
+test(function () {
+    check_no_interface_object("MediaControllerEnabledChangeRequestCallback");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerEnabledChangeRequestCallback_onreply.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerEnabledChangeRequestCallback_onreply.html
new file mode 100755 (executable)
index 0000000..cb707d0
--- /dev/null
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerEnabledChangeRequestCallback_onreply</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerEnabledChangeRequestCallback_onreply
+//==== LABEL Check if MediaControllerEnabledChangeRequestCallback onreply is called and if its arguments have proper type
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerEnabledChangeRequestCallback:onreply M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA CBOA CBT
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServer.mode360.removeChangeRequestListener(watchId);
+    });
+    changeListener = t.step_func(function (clientName, enabled){
+        assert_type(clientName, "string", "invalid type of clientName");
+        assert_equals(clientName, "apimediact.WebAPITizenMediaKeyTests", "invalid value of clientName");
+        assert_type(enabled, "boolean", "invalid type of enabled");
+        assert_equals(enabled, true, "invalid value of enabled");
+        t.done();
+    });
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.abilities.mode360 = "YES";
+    watchId = mcServer.mode360.addChangeRequestListener(changeListener);
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServerInfo.mode360.sendRequest(true, function(){});
+});
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_episodeNumber_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_episodeNumber_attribute.html
new file mode 100755 (executable)
index 0000000..b231146
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+-->
+<html>
+<head>
+<title>MediaControllerMetadata_episodeNumber_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMetadata_episodeNumber_attribute
+//==== LABEL Check if attribute episodeNumber of MediaControllerMetadata exists, has type long
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMetadata:episodeNumber A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV AN
+
+test(function () {
+    var mcServer, metadata;
+
+    mcServer = tizen.mediacontroller.createServer();
+    metadata = mcServer.playbackInfo.metadata;
+    check_attribute(metadata, "episodeNumber", 0, "number", 1);
+    check_not_nullable(metadata, "episodeNumber", "should not be null");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_episodeTitle_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_episodeTitle_attribute.html
new file mode 100755 (executable)
index 0000000..ae31a41
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+-->
+<html>
+<head>
+<title>MediaControllerMetadata_episodeTitle_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMetadata_episodeTitle_attribute
+//==== LABEL Check if attribute episodeTitle of MediaControllerMetadata exists, has type DOMString
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMetadata:episodeTitle A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, metadata;
+
+    mcServer = tizen.mediacontroller.createServer();
+    metadata = mcServer.playbackInfo.metadata;
+    check_attribute(metadata, "episodeTitle", null, "string", "test");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_resolutionHeight_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_resolutionHeight_attribute.html
new file mode 100755 (executable)
index 0000000..b08ebd4
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+-->
+<html>
+<head>
+<title>MediaControllerMetadata_resolutionHeight_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMetadata_resolutionHeight_attribute
+//==== LABEL Check if attribute resolutionHeight of MediaControllerMetadata exists, has type long
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMetadata:resolutionHeight A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV AN
+
+test(function () {
+    var mcServer, metadata;
+
+    mcServer = tizen.mediacontroller.createServer();
+    metadata = mcServer.playbackInfo.metadata;
+    check_attribute(metadata, "resolutionHeight", 0, "number", 1);
+    check_not_nullable(metadata, "resolutionHeight", "should not be null");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_resolutionWidth_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_resolutionWidth_attribute.html
new file mode 100755 (executable)
index 0000000..883eff9
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+-->
+<html>
+<head>
+<title>MediaControllerMetadata_resolutionWidth_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMetadata_resolutionWidth_attribute
+//==== LABEL Check if attribute resolutionWidth of MediaControllerMetadata exists, has type long
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMetadata:resolutionWidth A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV AN
+
+test(function () {
+    var mcServer, metadata;
+
+    mcServer = tizen.mediacontroller.createServer();
+    metadata = mcServer.playbackInfo.metadata;
+    check_attribute(metadata, "resolutionWidth", 0, "number", 1);
+    check_not_nullable(metadata, "resolutionWidth", "should not be null");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_seasonNumber_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_seasonNumber_attribute.html
new file mode 100755 (executable)
index 0000000..39f68c1
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+-->
+<html>
+<head>
+<title>MediaControllerMetadata_seasonNumber_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMetadata_seasonNumber_attribute
+//==== LABEL Check if attribute seasonNumber of MediaControllerMetadata exists, has type long
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMetadata:seasonNumber A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV AN
+
+test(function () {
+    var mcServer, metadata;
+
+    mcServer = tizen.mediacontroller.createServer();
+    metadata = mcServer.playbackInfo.metadata;
+    check_attribute(metadata, "seasonNumber", 0, "number", 1);
+    check_not_nullable(metadata, "seasonNumber", "should not be null");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_seasonTitle_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_seasonTitle_attribute.html
new file mode 100755 (executable)
index 0000000..b30120a
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+-->
+<html>
+<head>
+<title>MediaControllerMetadata_seasonTitle_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMetadata_seasonTitle_attribute
+//==== LABEL Check if attribute seasonTitle of MediaControllerMetadata exists, has type DOMString
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMetadata:seasonTitle A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, metadata;
+
+    mcServer = tizen.mediacontroller.createServer();
+    metadata = mcServer.playbackInfo.metadata;
+    check_attribute(metadata, "seasonTitle", null, "string", "test");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener.html
new file mode 100755 (executable)
index 0000000..60f7f95
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360Info_addModeChangeListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360Info_addModeChangeListener
+//==== LABEL Check if addModeChangeListener() works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360Info:addModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServerInfo.mode360.removeModeChangeListener(watchId);
+    });
+    changeListener = t.step_func(function (enabled){
+        assert_not_equals(watchId, null, "id should be not null");
+        assert_type(watchId, "long", "watcherId should be type of number");
+        t.done();
+    });
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.abilities.mode360 = "YES";
+    watchId = mcServerInfo.mode360.addModeChangeListener(changeListener);
+    mcServer.mode360.enabled = true;
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_exist.html
new file mode 100755 (executable)
index 0000000..e2f3542
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360Info_addModeChangeListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360Info_addModeChangeListener_exist
+//==== LABEL Check if method addModeChangeListener of MediaControllerMode360Info exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360Info:addModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_method_exists(mcServerInfo.mode360, "addModeChangeListener");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_listener_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_listener_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..303a384
--- /dev/null
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360Info_addModeChangeListener_listener_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360Info_addModeChangeListener_listener_TypeMismatch
+//==== LABEL Check argument listener conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360Info:addModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, incorrectCallback, exceptionName, i, conversionTable;
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    conversionTable = getTypeConversionExceptions("object", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        incorrectCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServerInfo.mode360.addModeChangeListener(incorrectCallback);
+            }, "Exception should be thrown - given incorrect callback");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_listener_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_listener_invalid.html
new file mode 100755 (executable)
index 0000000..5c5cf7b
--- /dev/null
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360Info_addModeChangeListener_listener_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360Info_addModeChangeListener_listener_invalid
+//==== LABEL Check if addModeChangeListener throws exception when callback is invalid listener
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360Info:addModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTL
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, changeListener, exceptionName, incorrectListener, i;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    incorrectListener = getListenerConversionExceptions(["onchange"]);
+
+    for (i = 0; i < incorrectListener.length; i++) {
+        changeListener = incorrectListener[i][0];
+        exceptionName = incorrectListener[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServerInfo.mode360.addModeChangeListener(changeListener);
+            }, "Exception should be thrown - given incorrect listener.");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_misarg.html
new file mode 100755 (executable)
index 0000000..0f2d041
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360Info_addModeChangeListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360Info_addModeChangeListener_misarg
+//==== LABEL Check if addModeChangeListener method of MediaControllerMode360 called with missing non-optional argument throws an exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360Info:addModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+        mcServerInfo.mode360.addModeChangeListener();
+    }, "Invoked without non-optional arguments.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_enabled_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_enabled_attribute.html
new file mode 100755 (executable)
index 0000000..5cd3a89
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360Info_enabled_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360Info_enabled_attribute
+//==== LABEL Check if attribute enabled of MediaControllerMode360Info exists, has type boolean and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360Info:enabled A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, mode;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mode = mcServerInfo.mode360;
+    check_readonly(mode, "enabled", mode.enabled, "boolean", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_extend.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_extend.html
new file mode 100755 (executable)
index 0000000..aa31114
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360Info_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360Info_extend
+//==== LABEL Check if MediaControllerMode360Info object is extendable
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360Info:MediaControllerMode360Info U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA OBX
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_extensibility(mcServerInfo.mode360);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_notexist.html
new file mode 100755 (executable)
index 0000000..21b90ae
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360Info_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360Info_notexist
+//==== LABEL Check if interface MediaControllerMode360Info exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360Info:MediaControllerMode360Info U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA NIO
+
+test(function () {
+    check_no_interface_object("MediaControllerMode360Info");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_removeModeChangeListener.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_removeModeChangeListener.html
new file mode 100755 (executable)
index 0000000..1e3941b
--- /dev/null
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360Info_removeModeChangeListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360Info_removeModeChangeListener
+//==== LABEL Check if MediaControllerMode360Info removeModeChangeListener method works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360Info:removeModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), retValue =null, watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServerInfo.mode360.removeModeChangeListener(watchId);
+    });
+    changeListener = t.step_func(function (enabled){
+        retValue = mcServerInfo.mode360.removeModeChangeListener(watchId);
+        assert_equals(retValue, undefined, "Incorrect returned value.");
+        t.done();
+    });
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.abilities.mode360 = "YES";
+    watchId = mcServerInfo.mode360.addModeChangeListener(changeListener);
+    mcServer.mode360.enabled = true;
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_removeModeChangeListener_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_removeModeChangeListener_exist.html
new file mode 100755 (executable)
index 0000000..4623806
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360Info_removeModeChangeListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360Info_removeModeChangeListener_exist
+//==== LABEL check if removeModeChangeListener exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360Info:removeModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_method_exists(mcServerInfo.mode360, "removeModeChangeListener");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_removeModeChangeListener_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_removeModeChangeListener_misarg.html
new file mode 100755 (executable)
index 0000000..dd78a30
--- /dev/null
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360Info_removeModeChangeListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360Info_removeModeChangeListener_misarg
+//==== LABEL Check if removeModeChangeListener method called with missing non-optional argument does not throw any exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360Info:removeModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    try {
+        mcServerInfo.mode360.removeModeChangeListener();
+    } catch(e) {
+        assert_unreached("Calling removeModeChangeListener without arguments should not throw an exception.");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest.html
new file mode 100755 (executable)
index 0000000..e08a5e6
--- /dev/null
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360Info_sendRequest</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360Info_sendRequest
+//==== LABEL Check if MediaControllerMode360Info sendRequest method without optional argument works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360Info:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), retValue = null, mcServer, replyCallback, mcClient, mcServerInfo, changeListener, watchId;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServer.mode360.removeChangeRequestListener(watchId);
+    });
+    changeListener = t.step_func(function (clientName, enabled){
+        return new tizen.mediacontroller.RequestReply(new tizen.Bundle({"message": "Success"}), 0);
+    });
+    replyCallback = t.step_func(function (enabled){
+        assert_equals(retValue, undefined, "Incorrect returned value.");
+        t.done();
+    });
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.abilities.mode360 = "YES";
+    watchId = mcServer.mode360.addChangeRequestListener(changeListener);
+    retValue = mcServerInfo.mode360.sendRequest(true, replyCallback);
+
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_exist.html
new file mode 100755 (executable)
index 0000000..d2e7381
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360Info_sendRequest_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360Info_sendRequest_exist
+//==== LABEL Check if sendRequest exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360Info:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer, mcClient, serverInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    serverInfo = mcClient.getLatestServerInfo();
+    check_method_exists(serverInfo.mode360, "sendRequest");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_misarg.html
new file mode 100755 (executable)
index 0000000..bb7a38a
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360Info_sendRequest_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360Info_sendRequest_misarg
+//==== LABEL Check if sendRequest method called with missing non-optional argument throws an exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360Info:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer, mcClient, serverInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    serverInfo = mcClient.getLatestServerInfo();
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+        serverInfo.mode360.sendRequest();
+    }, "Invoked without non-optional arguments.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_replyCallback_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_replyCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..74bf219
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360Info_sendRequest_replyCallback_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360Info_sendRequest_replyCallback_TypeMismatch
+//==== LABEL Check if sendRequest throws exception when replyCallback is incorrect
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360Info:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, conversionTable, exceptionName, i, replyCallback;
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    conversionTable = getTypeConversionExceptions("functionObject", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        replyCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServerInfo.mode360.sendRequest(true, replyCallback);
+            }, "Given incorrect replyCallback.");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_replyCallback_invalid_cb.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_replyCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..ed472f3
--- /dev/null
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360Info_sendRequest_replyCallback_invalid_cb</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360Info_sendRequest_replyCallback_invalid_cb
+//==== LABEL Check if sendRequest throws exception when replyCallback is invalid
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360Info:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTCB
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), mcServer, mcClient, mcServerInfo, incorrectCallback;
+
+t.step(function () {
+    incorrectCallback = {
+        onsuccess: t.step_func(function () {
+            assert_unreached("Invalid callback invoked");
+        })
+    };
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+        mcServerInfo.mode360.sendRequest(incorrectCallback);
+    }, "Given incorrect replayCallback.");
+    t.done();
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener.html
new file mode 100755 (executable)
index 0000000..33b60ff
--- /dev/null
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360_addChangeRequestListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360_addChangeRequestListener
+//==== LABEL Check if addChangeRequestListener() works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServer.mode360.removeChangeRequestListener(watchId);
+    });
+    changeListener = t.step_func(function (clientName, enabled){
+        assert_not_equals(watchId, null, "id should be not null");
+        assert_type(watchId, "long", "watcherId should be type of number");
+        t.done();
+    });
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.abilities.mode360 = "YES";
+    watchId = mcServer.mode360.addChangeRequestListener(changeListener);
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServerInfo.mode360.sendRequest(true, function(){});
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_exist.html
new file mode 100755 (executable)
index 0000000..e29a5aa
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360_addChangeRequestListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360_addChangeRequestListener_exist
+//==== LABEL Check if method addChangeRequestListener of MediaControllerMode360 exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    check_method_exists(mcServer.mode360, "addChangeRequestListener");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_listener_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_listener_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..1b153b4
--- /dev/null
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360_addChangeRequestListener_listener_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360_addChangeRequestListener_listener_TypeMismatch
+//==== LABEL Check argument listener conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, incorrectCallback, exceptionName, i, conversionTable;
+    mcServer = tizen.mediacontroller.createServer();
+    conversionTable = getTypeConversionExceptions("object", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        incorrectCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServer.mode360.addChangeRequestListener(incorrectCallback);
+            }, "Exception should be thrown - given incorrect callback");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_listener_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_listener_invalid.html
new file mode 100755 (executable)
index 0000000..3a7851c
--- /dev/null
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360_addChangeRequestListener_listener_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360_addChangeRequestListener_listener_invalid
+//==== LABEL Check if addChangeRequestListener throws exception when callback is invalid listener
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTL
+
+test(function () {
+    var mcServer, changeListener, exceptionName, incorrectListener, i;
+    mcServer = tizen.mediacontroller.createServer();
+    incorrectListener = getListenerConversionExceptions(["onreply"]);
+
+    for (i = 0; i < incorrectListener.length; i++) {
+        changeListener = incorrectListener[i][0];
+        exceptionName = incorrectListener[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServer.mode360.addChangeRequestListener(changeListener);
+            }, "Exception should be thrown - given incorrect listener.");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_misarg.html
new file mode 100755 (executable)
index 0000000..64242c3
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360_addChangeRequestListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360_addChangeRequestListener_misarg
+//==== LABEL Check if addChangeRequestListener method of MediaControllerMode360 called with missing non-optional argument throws an exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+        mcServer.mode360.addChangeRequestListener();
+    }, "Invoked without non-optional arguments.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_enabled_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_enabled_attribute.html
new file mode 100755 (executable)
index 0000000..8a96ac1
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360_enabled_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360_enabled_attribute
+//==== LABEL Check if attribute enabled of MediaControllerMode360 exists, has type boolean
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360:enabled A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, mode;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mode = mcServer.mode360;
+    check_attribute(mode, "enabled", false, "boolean", true);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_extend.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_extend.html
new file mode 100755 (executable)
index 0000000..173f449
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360_extend
+//==== LABEL Check if MediaControllerMode360 object is extendable
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360:MediaControllerMode360 U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA OBX
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    check_extensibility(mcServer.mode360);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_notexist.html
new file mode 100755 (executable)
index 0000000..31f1f89
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360_notexist
+//==== LABEL Check if interface MediaControllerMode360 exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360:MediaControllerMode360 U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA NIO
+
+test(function () {
+    check_no_interface_object("MediaControllerMode360");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_removeChangeRequestListener.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_removeChangeRequestListener.html
new file mode 100755 (executable)
index 0000000..66c2c55
--- /dev/null
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360_removeChangeRequestListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360_removeChangeRequestListener
+//==== LABEL Check if MediaControllerMode360 removeChangeRequestListener method works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360:removeChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), retValue = null, watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServer.mode360.removeChangeRequestListener(watchId);
+    });
+    changeListener = t.step_func(function (clientName, enabled){
+        retValue = mcServer.mode360.removeChangeRequestListener(watchId);
+        assert_equals(retValue, undefined, "Incorrect returned value.");
+        t.done();
+    });
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.abilities.mode360 = "YES";
+    watchId = mcServer.mode360.addChangeRequestListener(changeListener);
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServerInfo.mode360.sendRequest(true, function(){});
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_removeChangeRequestListener_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_removeChangeRequestListener_exist.html
new file mode 100755 (executable)
index 0000000..a3aa591
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360_removeChangeRequestListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360_removeChangeRequestListener_exist
+//==== LABEL check if removeChangeRequestListener exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360:removeChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    check_method_exists(mcServer.mode360, "removeChangeRequestListener");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_removeChangeRequestListener_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_removeChangeRequestListener_misarg.html
new file mode 100755 (executable)
index 0000000..d0fbd81
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerMode360_removeChangeRequestListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerMode360_removeChangeRequestListener_misarg
+//==== LABEL Check if removeChangeRequestListener method called with missing non-optional argument does not throw any exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerMode360:removeChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    try {
+        mcServer.mode360.removeChangeRequestListener();
+    } catch(e) {
+        assert_unreached("Calling removeChangeRequestListener without arguments should not throw an exception.");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_extend.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_extend.html
new file mode 100755 (executable)
index 0000000..4192b9c
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilitiesInfo_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilitiesInfo_extend
+//==== LABEL Check if MediaControllerPlaybackAbilitiesInfo object is extendable
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilitiesInfo:MediaControllerPlaybackAbilitiesInfo U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA OBX
+
+test(function () {
+   var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities.playback;
+    check_extensibility(abilities);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_forward_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_forward_attribute.html
new file mode 100755 (executable)
index 0000000..81dc4c9
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilitiesInfo_forward_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilitiesInfo_forward_attribute
+//==== LABEL Check if attribute forward of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilitiesInfo:forward A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities.playback;
+    check_readonly(abilities, "forward", abilities.forward, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_next_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_next_attribute.html
new file mode 100755 (executable)
index 0000000..3c859c2
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilitiesInfo_next_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilitiesInfo_next_attribute
+//==== LABEL Check if attribute next of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilitiesInfo:next A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities.playback;
+    check_readonly(abilities, "next", abilities.next, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_notexist.html
new file mode 100755 (executable)
index 0000000..7c56ffa
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilitiesInfo_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilitiesInfo_notexist
+//==== LABEL Check if interface MediaControllerPlaybackAbilitiesInfo exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilitiesInfo:MediaControllerPlaybackAbilitiesInfo U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA NIO
+
+test(function () {
+    check_no_interface_object("MediaControllerPlaybackAbilitiesInfo");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_pause_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_pause_attribute.html
new file mode 100755 (executable)
index 0000000..a317f84
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilitiesInfo_pause_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilitiesInfo_pause_attribute
+//==== LABEL Check if attribute pause of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilitiesInfo:pause A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities.playback;
+    check_readonly(abilities, "pause", abilities.pause, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_play_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_play_attribute.html
new file mode 100755 (executable)
index 0000000..9ba77e7
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilitiesInfo_play_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilitiesInfo_play_attribute
+//==== LABEL Check if attribute play of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilitiesInfo:play A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities.playback;
+    check_readonly(abilities, "play", abilities.play, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_prev_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_prev_attribute.html
new file mode 100755 (executable)
index 0000000..987f1d9
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilitiesInfo_prev_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilitiesInfo_prev_attribute
+//==== LABEL Check if attribute prev of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilitiesInfo:prev A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities.playback;
+    check_readonly(abilities, "prev", abilities.prev, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_rewind_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_rewind_attribute.html
new file mode 100755 (executable)
index 0000000..a9b6e23
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilitiesInfo_rewind_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilitiesInfo_rewind_attribute
+//==== LABEL Check if attribute rewind of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilitiesInfo:rewind A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities.playback;
+    check_readonly(abilities, "rewind", abilities.rewind, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_stop_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_stop_attribute.html
new file mode 100755 (executable)
index 0000000..cd0c72d
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_stop_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilitiesInfo_stop_attribute
+//==== LABEL Check if attribute stop of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilitiesInfo:stop A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities.playback;
+    check_readonly(abilities, "stop", abilities.stop, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_togglePlayPause_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_togglePlayPause_attribute.html
new file mode 100755 (executable)
index 0000000..91d8f04
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilitiesInfo_togglePlayPause_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilitiesInfo_togglePlayPause_attribute
+//==== LABEL Check if attribute togglePlayPause of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilitiesInfo:togglePlayPause A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, abilities;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    abilities = mcServerInfo.abilities.playback;
+    check_readonly(abilities, "togglePlayPause", abilities.togglePlayPause, "string", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_extend.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_extend.html
new file mode 100755 (executable)
index 0000000..ebac45d
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_extend
+//==== LABEL Check if MediaControllerPlaybackAbilities object is extendable
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:MediaControllerPlaybackAbilities U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA OBX
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    check_extensibility(abilities);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_forward_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_forward_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..00274bf
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_forward_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_forward_TypeMismatch
+//==== LABEL Check argument forward conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:forward A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities, conversionTable, exceptionName, value;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                abilities.forward = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_forward_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_forward_attribute.html
new file mode 100755 (executable)
index 0000000..2f3859b
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_forward_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_forward_attribute
+//==== LABEL Check if attribute forward of MediaControllerPlaybackAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:forward A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    check_attribute(abilities, "forward", "UNDECIDED", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_forward_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_forward_invalid.html
new file mode 100755 (executable)
index 0000000..e833cc6
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_forward_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_forward_invalid
+//==== LABEL Check MediaControllerPlaybackAbilities throws exception with invalid forward value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:forward A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            abilities.forward = "YES";
+            abilities.forward = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_next_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_next_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..f95d855
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_next_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_next_TypeMismatch
+//==== LABEL Check argument next conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:next A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                abilities.next = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_next_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_next_attribute.html
new file mode 100755 (executable)
index 0000000..53d2455
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_next_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_next_attribute
+//==== LABEL Check if attribute next of MediaControllerPlaybackAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:next A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    check_attribute(abilities, "next", "UNDECIDED", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_next_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_next_invalid.html
new file mode 100755 (executable)
index 0000000..0d94655
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_next_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_next_invalid
+//==== LABEL Check MediaControllerPlaybackAbilities throws exception with invalid next value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:next A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            abilities.next = "YES";
+            abilities.next = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_notexist.html
new file mode 100755 (executable)
index 0000000..ce13d0e
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_notexist
+//==== LABEL Check if interface MediaControllerPlaybackAbilities exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerAbilities:MediaControllerPlaybackAbilities U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA NIO
+
+test(function () {
+    check_no_interface_object("MediaControllerPlaybackAbilities");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_pause_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_pause_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..1b12dd0
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_pause_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_pause_TypeMismatch
+//==== LABEL Check argument pause conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:pause A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                abilities.pause = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_pause_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_pause_attribute.html
new file mode 100755 (executable)
index 0000000..b065490
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_pause_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_pause_attribute
+//==== LABEL Check if attribute pause of MediaControllerPlaybackAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:pause A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    check_attribute(abilities, "pause", "UNDECIDED", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_pause_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_pause_invalid.html
new file mode 100755 (executable)
index 0000000..1911ce7
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_pause_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_pause_invalid
+//==== LABEL Check MediaControllerPlaybackAbilities throws exception with invalid pause value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:pause A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            abilities.pause = "YES";
+            abilities.pause = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_play_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_play_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..661fe24
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_play_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_play_TypeMismatch
+//==== LABEL Check argument play conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:play A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                abilities.play = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_play_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_play_attribute.html
new file mode 100755 (executable)
index 0000000..d15eec5
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_play_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_play_attribute
+//==== LABEL Check if attribute play of MediaControllerPlaybackAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:play A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    check_attribute(abilities, "play", "UNDECIDED", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_play_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_play_invalid.html
new file mode 100755 (executable)
index 0000000..a2587df
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_play_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_play_invalid
+//==== LABEL Check MediaControllerPlaybackAbilities throws exception with invalid play value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:play A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            abilities.play = "YES";
+            abilities.play = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_prev_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_prev_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..d134930
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_prev_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_prev_TypeMismatch
+//==== LABEL Check argument prev conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:prev A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                abilities.prev = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_prev_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_prev_attribute.html
new file mode 100755 (executable)
index 0000000..9a6b9ff
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_prev_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_prev_attribute
+//==== LABEL Check if attribute prev of MediaControllerPlaybackAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:prev A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    check_attribute(abilities, "prev", "UNDECIDED", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_prev_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_prev_invalid.html
new file mode 100755 (executable)
index 0000000..a5fceff
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_prev_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_prev_invalid
+//==== LABEL Check MediaControllerPlaybackAbilities throws exception with invalid prev value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:prev A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            abilities.prev = "YES";
+            abilities.prev = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_rewind_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_rewind_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..b4aa9c6
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_rewind_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_rewind_TypeMismatch
+//==== LABEL Check argument rewind conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:rewind A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                abilities.rewind = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_rewind_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_rewind_attribute.html
new file mode 100755 (executable)
index 0000000..02521f5
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_rewind_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_rewind_attribute
+//==== LABEL Check if attribute rewind of MediaControllerPlaybackAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:rewind A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    check_attribute(abilities, "rewind", "UNDECIDED", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_rewind_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_rewind_invalid.html
new file mode 100755 (executable)
index 0000000..4f54435
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_rewind_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_rewind_invalid
+//==== LABEL Check MediaControllerPlaybackAbilities throws exception with invalid rewind value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:rewind A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            abilities.rewind = "YES";
+            abilities.rewind = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_saveAbilities.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_saveAbilities.html
new file mode 100755 (executable)
index 0000000..9b718ba
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_saveAbilities</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_saveAbilities
+//==== LABEL Check if saveAbilities method works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:saveAbilities M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR MNA
+
+test(function () {
+    var mcServer, abilities, retValue = null;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    retValue = abilities.saveAbilities();
+    assert_equals(retValue, undefined, "Incorrect returned value.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_saveAbilities_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_saveAbilities_exist.html
new file mode 100755 (executable)
index 0000000..b8f04fb
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_saveAbilities_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_saveAbilities_exist
+//==== LABEL Check if saveAbilities exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:saveAbilities M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    check_method_exists(abilities, "saveAbilities");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_saveAbilities_extra_argument.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_saveAbilities_extra_argument.html
new file mode 100755 (executable)
index 0000000..61f6bd2
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_saveAbilities_extra_argument</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_saveAbilities_extra_argument
+//==== LABEL Check using MediaControllerPlaybackAbilities::saveAbilities() method with extra argument
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:saveAbilities M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MNAEX
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    checkExtraArgument(abilities, "saveAbilities");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_stop_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_stop_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..7c7f5a2
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_stop_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_stop_TypeMismatch
+//==== LABEL Check argument stop conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:stop A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                abilities.stop = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_stop_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_stop_attribute.html
new file mode 100755 (executable)
index 0000000..6e33606
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_stop_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_stop_attribute
+//==== LABEL Check if attribute stop of MediaControllerPlaybackAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:stop A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    check_attribute(abilities, "stop", "UNDECIDED", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_stop_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_stop_invalid.html
new file mode 100755 (executable)
index 0000000..b55c9b0
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_stop_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_stop_invalid
+//==== LABEL Check MediaControllerPlaybackAbilities throws exception with invalid stop value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:stop A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            abilities.stop = "YES";
+            abilities.stop = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_togglePlayPause_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_togglePlayPause_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..5a6dc11
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_togglePlayPause_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_togglePlayPause_TypeMismatch
+//==== LABEL Check argument togglePlayPause conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:togglePlayPause A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities, conversionTable, exceptionName, value, i;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+
+    conversionTable = getTypeConversionExceptions("enum", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        value = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                abilities.togglePlayPause = value;
+            }, "TypeMismatchError should be thrown");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_togglePlayPause_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_togglePlayPause_attribute.html
new file mode 100755 (executable)
index 0000000..94a05a1
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_togglePlayPause_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_togglePlayPause_attribute
+//==== LABEL Check if attribute togglePlayPause of MediaControllerPlaybackAbilities exists, has type string
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:togglePlayPause A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    check_attribute(abilities, "togglePlayPause", "UNDECIDED", "string", "YES");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_togglePlayPause_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_togglePlayPause_invalid.html
new file mode 100755 (executable)
index 0000000..9ca543e
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerPlaybackAbilities_togglePlayPause_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerPlaybackAbilities_togglePlayPause_invalid
+//==== LABEL Check MediaControllerPlaybackAbilities throws exception with invalid togglePlayPause value
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerPlaybackAbilities:togglePlayPause A
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, abilities;
+    mcServer= tizen.mediacontroller.createServer();
+    abilities = mcServer.abilities.playback;
+    assert_throws(INVALID_VALUES_EXCEPTION,
+        function () {
+            abilities.togglePlayPause = "YES";
+            abilities.togglePlayPause = "UNDECIDED";
+        }, "InvalidValuesError should be thrown");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_abilities_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_abilities_attribute.html
new file mode 100755 (executable)
index 0000000..e253c89
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerServerInfo_abilities_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerServerInfo_abilities_attribute
+//==== LABEL Check if attribute abilities of MediaControllerServerInfo exists, has type object and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerServerInfo:abilities A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_readonly(mcServerInfo, "abilities", mcServerInfo.abilities, "object", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_displayMode_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_displayMode_attribute.html
new file mode 100755 (executable)
index 0000000..bbcef9b
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerServerInfo_displayMode_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerServerInfo_displayMode_attribute
+//==== LABEL Check if attribute displayMode of MediaControllerServerInfo exists, has type object and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerServerInfo:displayMode A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_readonly(mcServerInfo, "displayMode", mcServerInfo.displayMode, "object", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_displayRotation_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_displayRotation_attribute.html
new file mode 100755 (executable)
index 0000000..5b3228c
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerServerInfo_displayRotation_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerServerInfo_displayRotation_attribute
+//==== LABEL Check if attribute displayRotation of MediaControllerServerInfo exists, has type object and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerServerInfo:displayRotation A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_readonly(mcServerInfo, "displayRotation", mcServerInfo.displayRotation, "object", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_mode360_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_mode360_attribute.html
new file mode 100755 (executable)
index 0000000..fa6900b
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerServerInfo_mode360_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerServerInfo_mode360_attribute
+//==== LABEL Check if attribute mode360 of MediaControllerServerInfo exists, has type object and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerServerInfo:mode360 A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_readonly(mcServerInfo, "mode360", mcServerInfo.mode360, "object", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_subtitles_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_subtitles_attribute.html
new file mode 100755 (executable)
index 0000000..5a05e4a
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerServerInfo_subtitles_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerServerInfo_subtitles_attribute
+//==== LABEL Check if attribute subtitles of MediaControllerServerInfo exists, has type object and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerServerInfo:subtitles A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_readonly(mcServerInfo, "subtitles", mcServerInfo.subtitles, "object", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_abilities_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_abilities_attribute.html
new file mode 100755 (executable)
index 0000000..78450b0
--- /dev/null
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerServer_abilities_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerServer_abilities_attribute
+//==== LABEL Check if attribute abilities of MediaControllerServer exists, has type object and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerServer:abilities A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer= tizen.mediacontroller.createServer();
+    check_readonly(mcServer, "abilities", mcServer.abilities, "object", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_displayMode_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_displayMode_attribute.html
new file mode 100755 (executable)
index 0000000..4b2000e
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerServer_displayMode_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerServer_displayMode_attribute
+//==== LABEL Check if attribute displayMode of MediaControllerServer exists, has type object and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerServer:displayMode A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer;
+    mcServer= tizen.mediacontroller.createServer();
+    check_readonly(mcServer, "displayMode", mcServer.displayMode, "object", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_displayRotation_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_displayRotation_attribute.html
new file mode 100755 (executable)
index 0000000..771dcc6
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerServer_displayRotation_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerServer_displayRotation_attribute
+//==== LABEL Check if attribute displayRotation of MediaControllerServer exists, has type object and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerServer:displayRotation A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer;
+    mcServer= tizen.mediacontroller.createServer();
+    check_readonly(mcServer, "displayRotation", mcServer.displayRotation, "object", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_mode360_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_mode360_attribute.html
new file mode 100755 (executable)
index 0000000..e47936f
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerServer_mode360_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerServer_mode360_attribute
+//==== LABEL Check if attribute mode360 of MediaControllerServer exists, has type object and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerServer:mode360 A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer;
+    mcServer= tizen.mediacontroller.createServer();
+    check_readonly(mcServer, "mode360", mcServer.mode360, "object", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_subtitles_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_subtitles_attribute.html
new file mode 100755 (executable)
index 0000000..3a240ac
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerServer_subtitles_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerServer_subtitles_attribute
+//==== LABEL Check if attribute subtitles of MediaControllerServer exists, has type object and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerServer:subtitles A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer;
+    mcServer= tizen.mediacontroller.createServer();
+    check_readonly(mcServer, "subtitles", mcServer.subtitles, "object", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener.html
new file mode 100755 (executable)
index 0000000..53ac8ce
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitlesInfo_addModeChangeListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitlesInfo_addModeChangeListener
+//==== LABEL Check if addModeChangeListener() works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitlesInfo:addModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServerInfo.subtitles.removeModeChangeListener(watchId);
+    });
+    changeListener = t.step_func(function (enabled){
+        assert_not_equals(watchId, null, "id should be not null");
+        assert_type(watchId, "long", "watcherId should be type of number");
+        t.done();
+    });
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.abilities.subtitles = "YES";
+    watchId = mcServerInfo.subtitles.addModeChangeListener(changeListener);
+    mcServer.subtitles.enabled = true;
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_exist.html
new file mode 100755 (executable)
index 0000000..10ddc6f
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitlesInfo_addModeChangeListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitlesInfo_addModeChangeListener_exist
+//==== LABEL Check if method addModeChangeListener of MediaControllerSubtitlesInfo exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitlesInfo:addModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_method_exists(mcServerInfo.subtitles, "addModeChangeListener");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_listener_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_listener_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..1aa1c7e
--- /dev/null
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitlesInfo_addModeChangeListener_listener_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitlesInfo_addModeChangeListener_listener_TypeMismatch
+//==== LABEL Check argument listener conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitlesInfo:addModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, incorrectCallback, exceptionName, i, conversionTable;
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    conversionTable = getTypeConversionExceptions("object", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        incorrectCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServerInfo.mode360.addModeChangeListener(incorrectCallback);
+            }, "Exception should be thrown - given incorrect callback");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_listener_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_listener_invalid.html
new file mode 100755 (executable)
index 0000000..c9c0841
--- /dev/null
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitlesInfo_addModeChangeListener_listener_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitlesInfo_addModeChangeListener_listener_invalid
+//==== LABEL Check if addModeChangeListener throws exception when callback is invalid listener
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitlesInfo:addModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTL
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, changeListener, exceptionName, incorrectListener, i;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    incorrectListener = getListenerConversionExceptions(["onchange"]);
+
+    for (i = 0; i < incorrectListener.length; i++) {
+        changeListener = incorrectListener[i][0];
+        exceptionName = incorrectListener[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServerInfo.subtitles.addModeChangeListener(changeListener);
+            }, "Exception should be thrown - given incorrect listener.");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_misarg.html
new file mode 100755 (executable)
index 0000000..8fae9c9
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitlesInfo_addModeChangeListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitlesInfo_addModeChangeListener_misarg
+//==== LABEL Check if addModeChangeListener method of MediaControllerSubtitles called with missing non-optional argument throws an exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitlesInfo:addModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+        mcServerInfo.subtitles.addModeChangeListener();
+    }, "Invoked without non-optional arguments.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_enabled_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_enabled_attribute.html
new file mode 100755 (executable)
index 0000000..2ca3db1
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitlesInfo_enabled_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitlesInfo_enabled_attribute
+//==== LABEL Check if attribute enabled of MediaControllerSubtitlesInfo exists, has type boolean and is readonly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitlesInfo:enabled A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ARO
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mode = mcServerInfo.subtitles;
+    check_readonly(mode, "enabled", mode.enabled, "boolean", null);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_extend.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_extend.html
new file mode 100755 (executable)
index 0000000..0cb9dad
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitlesInfo_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitlesInfo_extend
+//==== LABEL Check if MediaControllerSubtitlesInfo object is extendable
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitlesInfo:MediaControllerSubtitlesInfo U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA OBX
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_extensibility(mcServerInfo.subtitles);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_notexist.html
new file mode 100755 (executable)
index 0000000..77b88db
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitlesInfo_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitlesInfo_notexist
+//==== LABEL Check if interface MediaControllerSubtitlesInfo exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitlesInfo:MediaControllerSubtitlesInfo U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA NIO
+
+test(function () {
+    check_no_interface_object("MediaControllerSubtitlesInfo");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_removeModeChangeListener.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_removeModeChangeListener.html
new file mode 100755 (executable)
index 0000000..e3c30e6
--- /dev/null
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitlesInfo_removeModeChangeListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitlesInfo_removeModeChangeListener
+//==== LABEL Check if MediaControllerSubtitlesInfo removeModeChangeListener method works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitlesInfo:removeModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), retValue =null, watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServerInfo.subtitles.removeModeChangeListener(watchId);
+    });
+    changeListener = t.step_func(function (enabled){
+        retValue = mcServerInfo.subtitles.removeModeChangeListener(watchId);
+        assert_equals(retValue, undefined, "Incorrect returned value.");
+        t.done();
+    });
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.abilities.subtitles = "YES";
+    watchId = mcServerInfo.subtitles.addModeChangeListener(changeListener);
+    mcServer.subtitles.enabled = true;
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_removeModeChangeListener_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_removeModeChangeListener_exist.html
new file mode 100755 (executable)
index 0000000..41253f0
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitlesInfo_removeModeChangeListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitlesInfo_removeModeChangeListener_exist
+//==== LABEL check if removeModeChangeListener exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitlesInfo:removeModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    check_method_exists(mcServerInfo.subtitles, "removeModeChangeListener");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_removeModeChangeListener_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_removeModeChangeListener_misarg.html
new file mode 100755 (executable)
index 0000000..c205b5f
--- /dev/null
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitlesInfo_removeModeChangeListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitlesInfo_removeModeChangeListener_misarg
+//==== LABEL Check if removeModeChangeListener method called with missing non-optional argument does not throw any exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitlesInfo:removeModeChangeListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    mcServerInfo = mcClient.getLatestServerInfo();
+    try {
+        mcServerInfo.subtitles.removeModeChangeListener();
+    } catch(e) {
+        assert_unreached("Calling removeModeChangeListener without arguments should not throw an exception.");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest.html
new file mode 100755 (executable)
index 0000000..61b7e1e
--- /dev/null
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitlesInfo_sendRequest</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitlesInfo_sendRequest
+//==== LABEL Check if MediaControllerSubtitlesInfo sendRequest method without optional argument works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitlesInfo:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), retValue = null, mcServer, replyCallback, mcClient, mcServerInfo, changeListener, watchId;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServer.subtitles.removeChangeRequestListener(watchId);
+    });
+    changeListener = t.step_func(function (clientName, enabled){
+        return new tizen.mediacontroller.RequestReply(new tizen.Bundle({"message": "Success"}), 0);
+    });
+    replyCallback = t.step_func(function (enabled){
+        assert_equals(retValue, undefined, "Incorrect returned value.");
+        t.done();
+    });
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.abilities.subtitles = "YES";
+    watchId = mcServer.subtitles.addChangeRequestListener(changeListener);
+    retValue = mcServerInfo.subtitles.sendRequest(true, replyCallback);
+
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_exist.html
new file mode 100755 (executable)
index 0000000..e5d5103
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitlesInfo_sendRequest_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitlesInfo_sendRequest_exist
+//==== LABEL Check if sendRequest exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitlesInfo:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer, mcClient, serverInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    serverInfo = mcClient.getLatestServerInfo();
+    check_method_exists(serverInfo.subtitles, "sendRequest");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_misarg.html
new file mode 100755 (executable)
index 0000000..1cb28c3
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitlesInfo_sendRequest_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitlesInfo_sendRequest_misarg
+//==== LABEL Check if sendRequest method called with missing non-optional argument throws an exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitlesInfo:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer, mcClient, serverInfo;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcClient = tizen.mediacontroller.getClient();
+    mcServer.updatePlaybackState("PLAY");
+    serverInfo = mcClient.getLatestServerInfo();
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+        serverInfo.subtitles.sendRequest();
+    }, "Invoked without non-optional arguments.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_replyCallback_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_replyCallback_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..7ecd85f
--- /dev/null
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitlesInfo_sendRequest_replyCallback_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitlesInfo_sendRequest_replyCallback_TypeMismatch
+//==== LABEL Check if sendRequest throws exception when replyCallback is incorrect
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitlesInfo:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+//==== ONLOAD_DELAY 30
+
+test(function () {
+    var mcServer, mcClient, mcServerInfo, conversionTable, exceptionName, i, replyCallback;
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    conversionTable = getTypeConversionExceptions("functionObject", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        replyCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServerInfo.subtitles.sendRequest(true, replyCallback);
+            }, "Given incorrect replyCallback.");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_replyCallback_invalid_cb.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_replyCallback_invalid_cb.html
new file mode 100755 (executable)
index 0000000..7f5868b
--- /dev/null
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitlesInfo_sendRequest_replyCallback_invalid_cb</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitlesInfo_sendRequest_replyCallback_invalid_cb
+//==== LABEL Check if sendRequest throws exception when replyCallback is invalid
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitlesInfo:sendRequest M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTCB
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), mcServer, mcClient, mcServerInfo, incorrectCallback;
+
+t.step(function () {
+    incorrectCallback = {
+        onsuccess: t.step_func(function () {
+            assert_unreached("Invalid callback invoked");
+        })
+    };
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServer = tizen.mediacontroller.createServer();
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+        mcServerInfo.subtitles.sendRequest(true, incorrectCallback);
+    }, "Given incorrect replayCallback.");
+    t.done();
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener.html
new file mode 100755 (executable)
index 0000000..1eaf3dd
--- /dev/null
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitles_addChangeRequestListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitles_addChangeRequestListener
+//==== LABEL Check if addChangeRequestListener() works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitles:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServer.subtitles.removeChangeRequestListener(watchId);
+    });
+    changeListener = t.step_func(function (clientName, enabled){
+        assert_not_equals(watchId, null, "id should be not null");
+        assert_type(watchId, "long", "watcherId should be type of number");
+        t.done();
+    });
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.abilities.subtitles = "YES";
+    watchId = mcServer.subtitles.addChangeRequestListener(changeListener);
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServerInfo.subtitles.sendRequest(true, function(){});
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_exist.html
new file mode 100755 (executable)
index 0000000..c4487ef
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitles_addChangeRequestListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitles_addChangeRequestListener_exist
+//==== LABEL Check if method addChangeRequestListener of MediaControllerSubtitles exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitles:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    check_method_exists(mcServer.subtitles, "addChangeRequestListener");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_listener_TypeMismatch.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_listener_TypeMismatch.html
new file mode 100755 (executable)
index 0000000..0b69700
--- /dev/null
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitles_addChangeRequestListener_listener_TypeMismatch</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitles_addChangeRequestListener_listener_TypeMismatch
+//==== LABEL Check argument listener conversions exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitles:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MC
+
+test(function () {
+    var mcServer, incorrectCallback, exceptionName, i, conversionTable;
+    mcServer = tizen.mediacontroller.createServer();
+    conversionTable = getTypeConversionExceptions("object", false);
+
+    for (i = 0; i < conversionTable.length; i++) {
+        incorrectCallback = conversionTable[i][0];
+        exceptionName = conversionTable[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServer.subtitles.addChangeRequestListener(incorrectCallback);
+            }, "Exception should be thrown - given incorrect callback");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_listener_invalid.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_listener_invalid.html
new file mode 100755 (executable)
index 0000000..62a7e90
--- /dev/null
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitles_addChangeRequestListener_listener_invalid</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitles_addChangeRequestListener_listener_invalid
+//==== LABEL Check if addChangeRequestListener throws exception when callback is invalid listener
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitles:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MTL
+
+test(function () {
+    var mcServer, changeListener, exceptionName, incorrectListener, i;
+    mcServer = tizen.mediacontroller.createServer();
+    incorrectListener = getListenerConversionExceptions(["onreply"]);
+
+    for (i = 0; i < incorrectListener.length; i++) {
+        changeListener = incorrectListener[i][0];
+        exceptionName = incorrectListener[i][1];
+        assert_throws({name: exceptionName},
+            function () {
+                mcServer.subtitles.addChangeRequestListener(changeListener);
+            }, "Exception should be thrown - given incorrect listener.");
+    }
+
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_misarg.html
new file mode 100755 (executable)
index 0000000..29bd89e
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitles_addChangeRequestListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitles_addChangeRequestListener_misarg
+//==== LABEL Check if addChangeRequestListener method of MediaControllerSubtitles called with missing non-optional argument throws an exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitles:addChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    assert_throws(TYPE_MISMATCH_EXCEPTION, function () {
+        mcServer.subtitles.addChangeRequestListener();
+    }, "Invoked without non-optional arguments.");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_enabled_attribute.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_enabled_attribute.html
new file mode 100755 (executable)
index 0000000..06567b8
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitles_enabled_attribute</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitles_enabled_attribute
+//==== LABEL Check if attribute enabled of MediaControllerSubtitles exists, has type boolean
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitles:enabled A
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA AE AT ASG ADV
+
+test(function () {
+    var mcServer, mode;
+
+    mcServer = tizen.mediacontroller.createServer();
+    mode = mcServer.mode360;
+    check_attribute(mode, "enabled", false, "boolean", true);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_extend.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_extend.html
new file mode 100755 (executable)
index 0000000..ea53c2c
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitles_extend</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitles_extend
+//==== LABEL Check if MediaControllerSubtitles object is extendable
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitles:MediaControllerSubtitles U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA OBX
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    check_extensibility(mcServer.mode360);
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_notexist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_notexist.html
new file mode 100755 (executable)
index 0000000..3c838dc
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitles_notexist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitles_notexist
+//==== LABEL Check if interface MediaControllerSubtitles exists, it should not.
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitles:MediaControllerSubtitles U
+//==== SPEC_URL TBD
+//==== PRIORITY P3
+//==== TEST_CRITERIA NIO
+
+test(function () {
+    check_no_interface_object("MediaControllerSubtitles");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_removeChangeRequestListener.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_removeChangeRequestListener.html
new file mode 100755 (executable)
index 0000000..611e4ff
--- /dev/null
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitles_removeChangeRequestListener</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitles_removeChangeRequestListener
+//==== LABEL Check if MediaControllerSubtitles removeChangeRequestListener method works properly
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitles:removeChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P1
+//==== TEST_CRITERIA MR
+//==== ONLOAD_DELAY 30
+
+setup({timeout: 30000});
+
+var t = async_test(document.title, {timeout: 30000}), retValue = null, watchId = null, mcServer, changeListener, mcClient, mcServerInfo;
+
+t.step(function () {
+    add_result_callback(function(){
+        mcServer.subtitles.removeChangeRequestListener(watchId);
+    });
+    changeListener = t.step_func(function (clientName, enabled){
+        retValue = mcServer.subtitles.removeChangeRequestListener(watchId);
+        assert_equals(retValue, undefined, "Incorrect returned value.");
+        t.done();
+    });
+
+    mcServer = tizen.mediacontroller.createServer();
+    mcServer.abilities.subtitles = "YES";
+    watchId = mcServer.subtitles.addChangeRequestListener(changeListener);
+
+    mcClient = tizen.mediacontroller.getClient();
+    mcServerInfo = mcClient.getLatestServerInfo();
+    mcServerInfo.subtitles.sendRequest(true, function(){});
+});
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_removeChangeRequestListener_exist.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_removeChangeRequestListener_exist.html
new file mode 100755 (executable)
index 0000000..a58b87d
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitles_removeChangeRequestListener_exist</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitles_removeChangeRequestListener_exist
+//==== LABEL check if removeChangeRequestListener exists
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitles:removeChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P0
+//==== TEST_CRITERIA ME
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    check_method_exists(mcServer.subtitles, "removeChangeRequestListener");
+}, document.title);
+
+</script>
+</body>
+</html>
diff --git a/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_removeChangeRequestListener_misarg.html b/common/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_removeChangeRequestListener_misarg.html
new file mode 100755 (executable)
index 0000000..515e5ea
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2019 Samsung Electronics Co., Ltd.
+
+Licensed under the Apache License, Version 2.0 (the License);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Authors:
+        Zhongyuan Yuan <zy123.yuan@samsung.com>
+
+-->
+<html>
+<head>
+<title>MediaControllerSubtitles_removeChangeRequestListener_misarg</title>
+<meta charset="utf-8"/>
+<script src="support/unitcommon.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//==== TEST: MediaControllerSubtitles_removeChangeRequestListener_misarg
+//==== LABEL Check if removeChangeRequestListener method called with missing non-optional argument does not throw any exception
+//==== SPEC Tizen Web API:Multimedia:MediaController:MediaControllerSubtitles:removeChangeRequestListener M
+//==== SPEC_URL TBD
+//==== PRIORITY P2
+//==== TEST_CRITERIA MMA
+
+test(function () {
+    var mcServer;
+    mcServer = tizen.mediacontroller.createServer();
+    try {
+        mcServer.subtitles.removeChangeRequestListener();
+    } catch(e) {
+        assert_unreached("Calling removeChangeRequestListener without arguments should not throw an exception.");
+    }
+}, document.title);
+
+</script>
+</body>
+</html>
index 4d06c7c086dc3b592c4d37e7fc7edbd31a18ef37..bd8c889a8062c158acb1200364e44a9c768718c3 100755 (executable)
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check argument replayCallback conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerServerInfo_sendSearchRequest_replyCallback_TypeMismatch">
+      <testcase purpose="Check argument replyCallback conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerServerInfo_sendSearchRequest_replyCallback_TypeMismatch">
         <description>
           <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_sendSearchRequest_replyCallback_TypeMismatch.html</test_script_entry>
         </description>
           </spec>
         </specs>
       </testcase>
-      <testcase purpose="Check if sendSearchRequest throws exception when replayCallback is invalid" type="compliance" onload_delay="90" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerServerInfo_sendSearchRequest_replyCallback_invalid_cb">
+      <testcase purpose="Check if sendSearchRequest throws exception when replyCallback is invalid" type="compliance" onload_delay="90" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerServerInfo_sendSearchRequest_replyCallback_invalid_cb">
         <description>
-          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_sendSearchRequest_replayCallback_invalid_cb.html</test_script_entry>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_sendSearchRequest_replyCallback_invalid_cb.html</test_script_entry>
         </description>
         <specs>
           <spec>
           </spec>
         </specs>
       </testcase>
+      <testcase purpose="Check if attribute abilities of MediaControllerServer exists, has type object and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerServer_playbackInfo_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_abilities_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerServer" element_type="attribute" element_name="abilities" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if findSubscribedServers() works properly" type="compliance" onload_delay="90" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerClient_findSubscribedServers">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerClient" element_type="method" element_name="findSubscribedServers" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument errorCallback conversions exception" type="compliance" onload_delay="90" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerClient_findSubscribedServers_errorCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_errorCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerClient" element_type="method" element_name="findSubscribedServers" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if findSubscribedServers throws exception when errorCallback is invalid" type="compliance" onload_delay="90" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerClient_findSubscribedServers_errorCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_errorCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerClient" element_type="method" element_name="findSubscribedServers" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if method findSubscribedServers of MediaControllerClient exists" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P0" id="MediaControllerClient_findSubscribedServers_exist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerClient" element_type="method" element_name="findSubscribedServers" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if findSubscribedServers method of MediaControllerClient called with missing non-optional argument throws an exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerClient_findSubscribedServers_misarg">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerClient" element_type="method" element_name="findSubscribedServers" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument successCallback conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerClient_findSubscribedServers_successCallback_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_successCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerClient" element_type="method" element_name="findSubscribedServers" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if findSubscribedServers throws exception when successCallback is invalid" type="compliance" onload_delay="90" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerClient_findSubscribedServers_successCallback_invalid_cb">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_successCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerClient" element_type="method" element_name="findSubscribedServers" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if findSubscribedServers method works properly with errorCallback argument" type="compliance" onload_delay="90" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerClient_findSubscribedServers_with_errorCallback">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_with_errorCallback.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerClient" element_type="method" element_name="findSubscribedServers" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerClient_addAbilityChangeListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerClient addAbilityChangeListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addAbilityChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerClient_addAbilityChangeListener_exist" priority="P0" purpose="check if addAbilityChangeListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addAbilityChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerClient_addAbilityChangeListener_listener_TypeMismatch" priority="P2" purpose="Check if addAbilityChangeListener throws exception when listener is incorrect">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addAbilityChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerClient_addAbilityChangeListener_listener_invalid" priority="P2" purpose="Check if addAbilityChangeListener throws exception when listener is invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_listener_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addAbilityChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerClient_addAbilityChangeListener_misarg" priority="P2" purpose="Check if addAbilityChangeListener method called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addAbilityChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerClient_removeAbilityChangeListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerClient removeAbilityChangeListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_removeAbilityChangeListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeAbilityChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerClient_removeAbilityChangeListener_exist" priority="P0" purpose="check if removeAbilityChangeListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_removeAbilityChangeListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeAbilityChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerClient_removeAbilityChangeListener_misarg" priority="P2" purpose="Check if removeAbilityChangeListener method called with missing non-optional argument does not throw any exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_removeAbilityChangeListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeAbilityChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute abilities of MediaControllerServerInfo exists, has type object and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerServerInfo_playbackInfo_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_abilities_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerServerInfo" element_type="attribute" element_name="abilities" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerAbilities object is extendable" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerAbilities_extend">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerAbilities exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerAbilities_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute playback of MediaControllerAbilities exists, has type object and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilities_playback_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playback_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="playback" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute clientCustom of MediaControllerAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilities_clientCustom_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_clientCustom_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="clientCustom" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute playbackPosition of MediaControllerAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilities_playbackPosition_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playbackPosition_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="playbackPosition" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute playlist of MediaControllerAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilities_playlist_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playlist_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="playlist" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute repeat of MediaControllerAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilities_repeat_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_repeat_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="repeat" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute search of MediaControllerAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilities_search_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_search_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="search" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute shuffle of MediaControllerAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilities_shuffle_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_shuffle_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="shuffle" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerPlaybackAbilities object is extendable" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerPlaybackAbilities_extend">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerPlaybackAbilities exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerPlaybackAbilities_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute play of MediaControllerPlaybackAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerPlaybackAbilities_play_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_play_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="play" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute forward of MediaControllerPlaybackAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerPlaybackAbilities_forward_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_forward_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="forward" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute next of MediaControllerPlaybackAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerPlaybackAbilities_next_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_next_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="next" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute pause of MediaControllerPlaybackAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerPlaybackAbilities_pause_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_pause_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="pause" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute prev of MediaControllerPlaybackAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerPlaybackAbilities_prev_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_prev_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="prev" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute rewind of MediaControllerPlaybackAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerPlaybackAbilities_rewind_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_rewind_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="rewind" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute stop of MediaControllerPlaybackAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerPlaybackAbilities_stop_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_stop_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="stop" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute togglePlayPause of MediaControllerPlaybackAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerPlaybackAbilities_togglePlayPause_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_togglePlayPause_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="togglePlayPause" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if saveAbilities method works properly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerPlaybackAbilities_saveAbilities">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_saveAbilities.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="method" element_name="saveAbilities" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if saveAbilities exists" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P0" id="MediaControllerPlaybackAbilities_saveAbilities_exist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_saveAbilities_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="method" element_name="saveAbilities" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check using MediaControllerPlaybackAbilities::saveAbilities() method with extra argument" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerPlaybackAbilities_saveAbilities_extra_argument">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_saveAbilities_extra_argument.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="method" element_name="saveAbilities" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerAbilitiesInfo object is extendable" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerAbilitiesInfo_extend">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerAbilitiesInfo exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerAbilitiesInfo_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute playback of MediaControllerAbilitiesInfo exists, has type object and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilitiesInfo_playback_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_playback_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" element_type="attribute" element_name="playback" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute clientCustom of MediaControllerAbilitiesInfo exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilitiesInfo_clientCustom_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_clientCustom_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" element_type="attribute" element_name="clientCustom" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute playbackPosition of MediaControllerAbilitiesInfo exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilitiesInfo_playbackPosition_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_playbackPosition_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" element_type="attribute" element_name="playbackPosition" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute playlist of MediaControllerAbilitiesInfo exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilitiesInfo_playlist_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_playlist_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" element_type="attribute" element_name="playlist" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute repeat of MediaControllerAbilitiesInfo exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilitiesInfo_repeat_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_repeat_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" element_type="attribute" element_name="repeat" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute search of MediaControllerAbilitiesInfo exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilitiesInfo_search_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_search_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" element_type="attribute" element_name="search" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute shuffle of MediaControllerAbilitiesInfo exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilitiesInfo_shuffle_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_shuffle_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" element_type="attribute" element_name="shuffle" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if subscribe method works properly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilitiesInfo_subscribe">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" element_type="method" element_name="subscribe" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if subscribe exists" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P0" id="MediaControllerAbilitiesInfo_subscribe_exist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" element_type="method" element_name="subscribe" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check using MediaControllerAbilitiesInfo::subscribe() method with extra argument" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilitiesInfo_subscribe_extra_argument">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe_extra_argument.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" element_type="method" element_name="subscribe" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if subscribe method throws exception when addAbilityChangeListener is not set" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilitiesInfo_subscribe_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" element_type="method" element_name="subscribe" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if unsubscribe method works properly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilitiesInfo_unsubscribe">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_unsubscribe.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" element_type="method" element_name="unsubscribe" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if unsubscribe exists" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P0" id="MediaControllerAbilitiesInfo_unsubscribe_exist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_unsubscribe_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" element_type="method" element_name="unsubscribe" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check using MediaControllerAbilitiesInfo::unsubscribe() method with extra argument" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilitiesInfo_unsubscribe_extra_argument">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_unsubscribe_extra_argument.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" element_type="method" element_name="unsubscribe" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerPlaybackAbilitiesInfo object is extendable" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerPlaybackAbilitiesInfo_extend">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilitiesInfo" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerPlaybackAbilitiesInfo exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerPlaybackAbilitiesInfo_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilitiesInfo" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute play of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerPlaybackAbilitiesInfo_play_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_play_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilitiesInfo" element_type="attribute" element_name="play" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute forward of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerPlaybackAbilitiesInfo_forward_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_forward_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilitiesInfo" element_type="attribute" element_name="forward" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute next of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerPlaybackAbilitiesInfo_next_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_next_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilitiesInfo" element_type="attribute" element_name="next" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute pause of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerPlaybackAbilitiesInfo_pause_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_pause_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilitiesInfo" element_type="attribute" element_name="pause" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute prev of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerPlaybackAbilitiesInfo_prev_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_prev_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilitiesInfo" element_type="attribute" element_name="prev" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute rewind of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerPlaybackAbilitiesInfo_rewind_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_rewind_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilitiesInfo" element_type="attribute" element_name="rewind" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute stop of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerPlaybackAbilitiesInfo_stop_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_stop_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilitiesInfo" element_type="attribute" element_name="stop" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute togglePlayPause of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerPlaybackAbilitiesInfo_togglePlayPause_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_togglePlayPause_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilitiesInfo" element_type="attribute" element_name="togglePlayPause" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerAbilityChangeCallback exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerAbilityChangeCallback_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilityChangeCallback" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerAbilityChangeCallback onplaybackabilitychanged is called and if its arguments have proper type" type="compliance" onload_delay="30" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilityChangeCallback_onplaybackabilitychanged">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_onplaybackabilitychanged.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilityChangeCallback" element_type="method" element_name="onplaybackabilitychanged" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerAbilityChangeCallback onsimpleabilitychanged is called and if its arguments have proper type" type="compliance" onload_delay="30" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilityChangeCallback_onsimpleabilitychanged">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_onsimpleabilitychanged.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilityChangeCallback" element_type="method" element_name="onsimpleabilitychanged" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument clientCustom conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilities_clientCustom_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_clientCustom_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="clientCustom" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerAbilities throws exception with invalid clientCustom value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilities_clientCustom_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_clientCustom_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="clientCustom" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument playbackPosition conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilities_playbackPosition_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playbackPosition_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="playbackPosition" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerAbilities throws exception with invalid playbackPosition value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilities_playbackPosition_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playbackPosition_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="playbackPosition" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument playlist conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilities_playlist_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playlist_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="playlist" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerAbilities throws exception with invalid playlist value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilities_playlist_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playlist_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="playlist" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument repeat conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilities_repeat_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_repeat_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="repeat" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerAbilities throws exception with invalid repeat value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilities_repeat_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_repeat_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="repeat" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument search conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilities_search_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_search_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="search" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerAbilities throws exception with invalid search value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilities_search_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_search_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="search" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument shuffle conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilities_shuffle_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_shuffle_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="shuffle" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerAbilities throws exception with invalid shuffle value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilities_shuffle_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_shuffle_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="shuffle" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument forward conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerPlaybackAbilities_forward_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_forward_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="forward" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerPlaybackAbilities throws exception with invalid forward value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerPlaybackAbilities_forward_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_forward_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="forward" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument next conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerPlaybackAbilities_next_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_next_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="next" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerPlaybackAbilities throws exception with invalid next value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerPlaybackAbilities_next_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_next_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="next" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument pause conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerPlaybackAbilities_pause_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_pause_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="pause" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerPlaybackAbilities throws exception with invalid pause value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerPlaybackAbilities_pause_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_pause_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="pause" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument play conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerPlaybackAbilities_play_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_play_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="play" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerPlaybackAbilities throws exception with invalid play value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerPlaybackAbilities_play_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_play_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="play" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument prev conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerPlaybackAbilities_prev_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_prev_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="prev" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerPlaybackAbilities throws exception with invalid prev value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerPlaybackAbilities_prev_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_prev_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="prev" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument rewind conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerPlaybackAbilities_rewind_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_rewind_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="rewind" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerPlaybackAbilities throws exception with invalid rewind value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerPlaybackAbilities_rewind_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_rewind_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="rewind" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument stop conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerPlaybackAbilities_stop_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_stop_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="stop" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerPlaybackAbilities throws exception with invalid stop value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerPlaybackAbilities_stop_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_stop_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="stop" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument togglePlayPause conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerPlaybackAbilities_togglePlayPause_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_togglePlayPause_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="togglePlayPause" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerPlaybackAbilities throws exception with invalid togglePlayPause value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerPlaybackAbilities_togglePlayPause_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_togglePlayPause_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerPlaybackAbilities" element_type="attribute" element_name="togglePlayPause" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute mode360 of MediaControllerServer exists, has type object and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerServer_mode360_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_mode360_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerServer" element_type="attribute" element_name="mode360" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute mode360 of MediaControllerServerInfo exists, has type object and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerServerInfo_mode360_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_mode360_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerServerInfo" element_type="attribute" element_name="mode360" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute mode360 of MediaControllerAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilities_mode360_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_mode360_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="mode360" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument mode360 conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilities_mode360_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_mode360_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="mode360" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerAbilities throws exception with invalid mode360 value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilities_mode360_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_mode360_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="mode360" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute mode360 of MediaControllerAbilitiesInfo exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilitiesInfo_mode360_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_mode360_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" element_type="attribute" element_name="mode360" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerMode360 object is extendable" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerMode360_extend">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerMode360" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerMode360 exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerMode360_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerMode360" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute enabled of MediaControllerMode360 exists, has type boolean" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerMode360_enabled_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_enabled_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerMode360" element_type="attribute" element_name="enabled" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360_addChangeRequestListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerMode360 addChangeRequestListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360_addChangeRequestListener_exist" priority="P0" purpose="check if addChangeRequestListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360_addChangeRequestListener_listener_TypeMismatch" priority="P2" purpose="Check if addChangeRequestListener throws exception when listener is incorrect">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360_addChangeRequestListener_listener_invalid" priority="P2" purpose="Check if addChangeRequestListener throws exception when listener is invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_listener_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360_addChangeRequestListener_misarg" priority="P2" purpose="Check if addChangeRequestListener method called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360_removeChangeRequestListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerMode360 removeChangeRequestListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_removeChangeRequestListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360_removeChangeRequestListener_exist" priority="P0" purpose="check if removeChangeRequestListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_removeChangeRequestListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360_removeChangeRequestListener_misarg" priority="P2" purpose="Check if removeChangeRequestListener method called with missing non-optional argument does not throw any exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_removeChangeRequestListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerMode360Info object is extendable" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerMode360Info_extend">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerMode360Info" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerMode360Info exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerMode360Info_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerMode360Info" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute enabled of MediaControllerMode360Info exists, has type boolean and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerMode360Info_enabled_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_enabled_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerMode360Info" element_type="attribute" element_name="enabled" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360Info_addModeChangeListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerMode360Info addModeChangeListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360Info_addModeChangeListener_exist" priority="P0" purpose="check if addModeChangeListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360Info_addModeChangeListener_listener_TypeMismatch" priority="P2" purpose="Check if addModeChangeListener throws exception when listener is incorrect">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360Info_addModeChangeListener_listener_invalid" priority="P2" purpose="Check if addModeChangeListener throws exception when listener is invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_listener_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360Info_addModeChangeListener_misarg" priority="P2" purpose="Check if addModeChangeListener method called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360Info_removeModeChangeListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerMode360Info removeModeChangeListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_removeModeChangeListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360Info_removeModeChangeListener_exist" priority="P0" purpose="check if removeModeChangeListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_removeModeChangeListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360Info_removeModeChangeListener_misarg" priority="P2" purpose="Check if removeModeChangeListener method called with missing non-optional argument does not throw any exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_removeModeChangeListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360Info_sendRequest" onload_delay="30" priority="P1" purpose="Check if MediaControllerMode360Info sendRequest method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360Info_sendRequest_exist" priority="P0" purpose="check if sendRequest exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360Info_sendRequest_replyCallback_TypeMismatch" priority="P2" purpose="Check if sendRequest throws exception when replyCallback is incorrect">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_replyCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360Info_sendRequest_replyCallback_invalid_cb" priority="P2" purpose="Check if sendRequest throws exception when replyCallback is invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_replyCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerMode360Info_sendRequest_misarg" priority="P2" purpose="Check if sendRequest method called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerEnabledChangeCallback exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerEnabledChangeCallback_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerEnabledChangeCallback_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerEnabledChangeCallback" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerEnabledChangeCallback onchange is called and if its arguments have proper type" type="compliance" onload_delay="30" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerEnabledChangeCallback_onchange">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerEnabledChangeCallback_onchange.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerEnabledChangeCallback" element_type="method" element_name="onchange" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerMode360ChangeCallback exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerMode360ChangeCallback_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360ChangeCallback_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerMode360ChangeCallback" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerMode360ChangeCallback onreply is called and if its arguments have proper type" type="compliance" onload_delay="30" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerMode360ChangeCallback_onreply">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360ChangeCallback_onreply.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerMode360ChangeCallback" element_type="method" element_name="onreply" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute subtitles of MediaControllerServer exists, has type object and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerServer_subtitles_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_subtitles_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerServer" element_type="attribute" element_name="subtitles" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute subtitles of MediaControllerServerInfo exists, has type object and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerServerInfo_subtitles_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_subtitles_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerServerInfo" element_type="attribute" element_name="subtitles" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute subtitles of MediaControllerAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilities_subtitles_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_subtitles_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="subtitles" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument subtitles conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilities_subtitles_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_subtitles_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="subtitles" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerAbilities throws exception with invalid subtitles value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerAbilities_subtitles_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_subtitles_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="subtitles" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute subtitles of MediaControllerAbilitiesInfo exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilitiesInfo_subtitles_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subtitles_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" element_type="attribute" element_name="subtitles" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerSubtitles object is extendable" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerSubtitles_extend">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerSubtitles" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerSubtitles exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerSubtitles_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerSubtitles" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute enabled of MediaControllerSubtitles exists, has type boolean" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerSubtitles_enabled_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_enabled_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerSubtitles" element_type="attribute" element_name="enabled" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitles_addChangeRequestListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerSubtitles addChangeRequestListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitles_addChangeRequestListener_exist" priority="P0" purpose="check if addChangeRequestListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitles_addChangeRequestListener_listener_TypeMismatch" priority="P2" purpose="Check if addChangeRequestListener throws exception when listener is incorrect">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitles_addChangeRequestListener_listener_invalid" priority="P2" purpose="Check if addChangeRequestListener throws exception when listener is invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_listener_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitles_addChangeRequestListener_misarg" priority="P2" purpose="Check if addChangeRequestListener method called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitles_removeChangeRequestListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerSubtitles removeChangeRequestListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_removeChangeRequestListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitles_removeChangeRequestListener_exist" priority="P0" purpose="check if removeChangeRequestListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_removeChangeRequestListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitles_removeChangeRequestListener_misarg" priority="P2" purpose="Check if removeChangeRequestListener method called with missing non-optional argument does not throw any exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_removeChangeRequestListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerSubtitlesInfo object is extendable" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerSubtitlesInfo_extend">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerSubtitlesInfo" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerSubtitlesInfo exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerSubtitlesInfo_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerSubtitlesInfo" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute enabled of MediaControllerSubtitlesInfo exists, has type boolean and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerSubtitlesInfo_enabled_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_enabled_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerSubtitlesInfo" element_type="attribute" element_name="enabled" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitlesInfo_addModeChangeListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerSubtitlesInfo addModeChangeListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitlesInfo_addModeChangeListener_exist" priority="P0" purpose="check if addModeChangeListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitlesInfo_addModeChangeListener_listener_TypeMismatch" priority="P2" purpose="Check if addModeChangeListener throws exception when listener is incorrect">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitlesInfo_addModeChangeListener_listener_invalid" priority="P2" purpose="Check if addModeChangeListener throws exception when listener is invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_listener_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitlesInfo_addModeChangeListener_misarg" priority="P2" purpose="Check if addModeChangeListener method called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitlesInfo_removeModeChangeListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerSubtitlesInfo removeModeChangeListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_removeModeChangeListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitlesInfo_removeModeChangeListener_exist" priority="P0" purpose="check if removeModeChangeListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_removeModeChangeListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitlesInfo_removeModeChangeListener_misarg" priority="P2" purpose="Check if removeModeChangeListener method called with missing non-optional argument does not throw any exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_removeModeChangeListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitlesInfo_sendRequest" onload_delay="30" priority="P1" purpose="Check if MediaControllerSubtitlesInfo sendRequest method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitlesInfo_sendRequest_exist" priority="P0" purpose="check if sendRequest exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitlesInfo_sendRequest_replyCallback_TypeMismatch" priority="P2" purpose="Check if sendRequest throws exception when replyCallback is incorrect">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_replyCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitlesInfo_sendRequest_replyCallback_invalid_cb" priority="P2" purpose="Check if sendRequest throws exception when replyCallback is invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_replyCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerSubtitlesInfo_sendRequest_misarg" priority="P2" purpose="Check if sendRequest method called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerDisplayModeChangeCallback exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayModeChangeCallback_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeCallback_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeChangeCallback" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerDisplayModeChangeCallback onchange is called and if its arguments have proper type" type="compliance" onload_delay="30" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayModeChangeCallback_onchange">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeCallback_onchange.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeChangeCallback" element_type="method" element_name="onchange" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerDisplayModeChangeRequestCallback exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayModeChangeRequestCallback_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeRequestCallback_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeChangeRequestCallback" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerDisplayModeChangeRequestCallback onreply is called and if its arguments have proper type" type="compliance" onload_delay="30" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayModeChangeRequestCallback_onreply">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeRequestCallback_onreply.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeChangeRequestCallback" element_type="method" element_name="onreply" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute displayMode of MediaControllerServer exists, has type object and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerServer_displayMode_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_displayMode_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerServer" element_type="attribute" element_name="displayMode" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute displayMode of MediaControllerServerInfo exists, has type object and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerServerInfo_displayMode_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_displayMode_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerServerInfo" element_type="attribute" element_name="displayMode" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerDisplayMode object is extendable" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayMode_extend">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayMode" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerDisplayMode exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayMode_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayMode" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute type of MediaControllerDisplayMode exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayMode_type_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_type_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayMode" element_type="attribute" element_name="type" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayMode_addChangeRequestListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerDisplayMode addChangeRequestListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayMode_addChangeRequestListener_exist" priority="P0" purpose="check if addChangeRequestListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayMode_addChangeRequestListener_listener_TypeMismatch" priority="P2" purpose="Check if addChangeRequestListener throws exception when listener is incorrect">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayMode_addChangeRequestListener_listener_invalid" priority="P2" purpose="Check if addChangeRequestListener throws exception when listener is invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_listener_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayMode_addChangeRequestListener_misarg" priority="P2" purpose="Check if addChangeRequestListener method called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayMode_removeChangeRequestListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerDisplayMode removeChangeRequestListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_removeChangeRequestListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayMode_removeChangeRequestListener_exist" priority="P0" purpose="check if removeChangeRequestListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_removeChangeRequestListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayMode_removeChangeRequestListener_misarg" priority="P2" purpose="Check if removeChangeRequestListener method called with missing non-optional argument does not throw any exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_removeChangeRequestListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerDisplayModeInfo object is extendable" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayModeInfo_extend">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeInfo" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerDisplayModeInfo exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayModeInfo_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeInfo" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute type of MediaControllerDisplayModeInfo exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayModeInfo_type_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_type_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeInfo" element_type="attribute" element_name="type" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayModeInfo_addModeChangeListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerDisplayModeInfo addModeChangeListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayModeInfo_addModeChangeListener_exist" priority="P0" purpose="check if addModeChangeListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayModeInfo_addModeChangeListener_listener_TypeMismatch" priority="P2" purpose="Check if addModeChangeListener throws exception when listener is incorrect">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayModeInfo_addModeChangeListener_listener_invalid" priority="P2" purpose="Check if addModeChangeListener throws exception when listener is invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_listener_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayModeInfo_addModeChangeListener_misarg" priority="P2" purpose="Check if addModeChangeListener method called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayModeInfo_removeModeChangeListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerDisplayModeInfo removeModeChangeListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_removeModeChangeListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayModeInfo_removeModeChangeListener_exist" priority="P0" purpose="check if removeModeChangeListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_removeModeChangeListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayModeInfo_removeModeChangeListener_misarg" priority="P2" purpose="Check if removeModeChangeListener method called with missing non-optional argument does not throw any exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_removeModeChangeListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeModeChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayModeInfo_sendRequest" onload_delay="30" priority="P1" purpose="Check if MediaControllerDisplayModeInfo sendRequest method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayModeInfo_sendRequest_exist" priority="P0" purpose="check if sendRequest exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayModeInfo_sendRequest_replyCallback_TypeMismatch" priority="P2" purpose="Check if sendRequest throws exception when replyCallback is incorrect">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_replyCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayModeInfo_sendRequest_replyCallback_invalid_cb" priority="P2" purpose="Check if sendRequest throws exception when replyCallback is invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_replyCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayModeInfo_sendRequest_misarg" priority="P2" purpose="Check if sendRequest method called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerDisplayRotationChangeCallback exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayRotationChangeCallback_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeCallback_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationChangeCallback" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerDisplayRotationChangeCallback onchange is called and if its arguments have proper type" type="compliance" onload_delay="30" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayRotationChangeCallback_onchange">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeCallback_onchange.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationChangeCallback" element_type="method" element_name="onchange" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerDisplayRotationChangeRequestCallback exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayRotationChangeRequestCallback_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeRequestCallback_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationChangeRequestCallback" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerDisplayRotationChangeRequestCallback onreply is called and if its arguments have proper type" type="compliance" onload_delay="30" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayRotationRequestChangeCallback_onreply">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeRequestCallback_onreply.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationChangeRequestCallback" element_type="method" element_name="onreply" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute displayRotation of MediaControllerServer exists, has type object and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerServer_displayRotation_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_displayRotation_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerServer" element_type="attribute" element_name="displayRotation" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute displayRotation of MediaControllerServerInfo exists, has type object and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerServerInfo_displayRotation_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_displayRotation_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerServerInfo" element_type="attribute" element_name="displayRotation" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerDisplayRotation object is extendable" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayRotation_extend">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotation" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerDisplayRotation exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayRotation_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotation" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute displayRotation of MediaControllerDisplayRotation exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayRotation_displayRotation_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_displayRotation_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotation" element_type="attribute" element_name="displayRotation" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument displayRotation conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerDisplayRotation_displayRotation_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_displayRotation_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotation" element_type="attribute" element_name="displayRotation" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotation_addChangeRequestListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerDisplayRotation addChangeRequestListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotation_addChangeRequestListener_exist" priority="P0" purpose="check if addChangeRequestListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotation_addChangeRequestListener_listener_TypeMismatch" priority="P2" purpose="Check if addChangeRequestListener throws exception when listener is incorrect">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotation_addChangeRequestListener_listener_invalid" priority="P2" purpose="Check if addChangeRequestListener throws exception when listener is invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_listener_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotation_addChangeRequestListener_misarg" priority="P2" purpose="Check if addChangeRequestListener method called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotation_removeChangeRequestListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerDisplayRotation removeChangeRequestListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_removeChangeRequestListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotation_removeChangeRequestListener_exist" priority="P0" purpose="check if removeChangeRequestListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_removeChangeRequestListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotation_removeChangeRequestListener_misarg" priority="P2" purpose="Check if removeChangeRequestListener method called with missing non-optional argument does not throw any exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_removeChangeRequestListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeChangeRequestListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerDisplayRotationInfo object is extendable" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayRotationInfo_extend">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationInfo" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerDisplayRotationInfo exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayRotationInfo_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationInfo" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute displayRotation of MediaControllerDisplayRotationInfo exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayRotationInfo_displayRotation_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_displayRotation_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationInfo" element_type="attribute" element_name="displayRotation" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerDisplayRotationInfo addDisplayRotationChangeListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addDisplayRotationChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_exist" priority="P0" purpose="check if addDisplayRotationChangeListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addDisplayRotationChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_listener_TypeMismatch" priority="P2" purpose="Check if addDisplayRotationChangeListener throws exception when listener is incorrect">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addDisplayRotationChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_listener_invalid" priority="P2" purpose="Check if addDisplayRotationChangeListener throws exception when listener is invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_listener_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addDisplayRotationChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_misarg" priority="P2" purpose="Check if addDisplayRotationChangeListener method called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="addDisplayRotationChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerDisplayRotationInfo removeDisplayRotationChangeListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeDisplayRotationChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener_exist" priority="P0" purpose="check if removeDisplayRotationChangeListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeDisplayRotationChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener_misarg" priority="P2" purpose="Check if removeDisplayRotationChangeListener method called with missing non-optional argument does not throw any exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="removeDisplayRotationChangeListener" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotationInfo_sendRequest" onload_delay="30" priority="P1" purpose="Check if MediaControllerDisplayRotationInfo sendRequest method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotationInfo_sendRequest_exist" priority="P0" purpose="check if sendRequest exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_exist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotationInfo_sendRequest_replyCallback_TypeMismatch" priority="P2" purpose="Check if sendRequest throws exception when replyCallback is incorrect">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_replyCallback_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotationInfo_sendRequest_replyCallback_invalid_cb" priority="P2" purpose="Check if sendRequest throws exception when replyCallback is invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_replyCallback_invalid_cb.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" type="compliance" status="approved" execution_type="auto" id="MediaControllerDisplayRotationInfo_sendRequest_misarg" priority="P2" purpose="Check if sendRequest method called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_misarg.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="sendRequest" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerAbilityChangeCallback ondisplaymodeabilitychanged is called and if its arguments have proper type" type="compliance" onload_delay="30" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilityChangeCallback_ondisplaymodeabilitychanged">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_ondisplaymodeabilitychanged.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="ondisplaymodeabilitychanged" element_type="method" element_name="onplaybackabilitychanged" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute displayMode of MediaControllerAbilities exists, has type object and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilities_displayMode_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_displayMode_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="displayMode" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute displayMode of MediaControllerAbilitiesInfo exists, has type object and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilitiesInfo_displayMode_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_displayMode_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" element_type="attribute" element_name="displayMode" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerDisplayModeAbilities object is extendable" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayModeAbilities_extend">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilities" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerDisplayModeAbilities exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayModeAbilities_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilities" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute letterBox of MediaControllerDisplayModeAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayModeAbilities_letterBox_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_letterBox_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilities" element_type="attribute" element_name="letterBox" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument letterBox conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerDisplayModeAbilities_letterBox_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_letterBox_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilities" element_type="attribute" element_name="letterBox" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerDisplayModeAbilities throws exception with invalid letterBox value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerDisplayModeAbilities_letterBox_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_letterBox_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilities" element_type="attribute" element_name="letterBox" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute originSize of MediaControllerDisplayModeAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayModeAbilities_originSize_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_originSize_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilities" element_type="attribute" element_name="originSize" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument originSize conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerDisplayModeAbilities_originSize_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_originSize_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilities" element_type="attribute" element_name="originSize" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerDisplayModeAbilities throws exception with invalid originSize value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerDisplayModeAbilities_originSize_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_originSize_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilities" element_type="attribute" element_name="originSize" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute fullScreen of MediaControllerDisplayModeAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayModeAbilities_fullScreen_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_fullScreen_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilities" element_type="attribute" element_name="fullScreen" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument fullScreen conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerDisplayModeAbilities_fullScreen_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_fullScreen_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilities" element_type="attribute" element_name="fullScreen" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerDisplayModeAbilities throws exception with invalid fullScreen value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerDisplayModeAbilities_fullScreen_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_fullScreen_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilities" element_type="attribute" element_name="fullScreen" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute croppedFull of MediaControllerDisplayModeAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayModeAbilities_croppedFull_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_croppedFull_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilities" element_type="attribute" element_name="croppedFull" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument croppedFull conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerDisplayModeAbilities_croppedFull_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_croppedFull_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilities" element_type="attribute" element_name="croppedFull" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerDisplayModeAbilities throws exception with invalid croppedFull value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerDisplayModeAbilities_croppedFull_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_croppedFull_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilities" element_type="attribute" element_name="croppedFull" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerDisplayModeAbilitiesInfo object is extendable" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayModeAbilitiesInfo_extend">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilitiesInfo" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerDisplayModeAbilitiesInfo exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayModeAbilitiesInfo_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilitiesInfo" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute letterBox of MediaControllerDisplayModeAbilities exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayModeAbilities_letterBox_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_letterBox_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilities" element_type="attribute" element_name="letterBox" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute originSize of MediaControllerDisplayModeAbilities exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayModeAbilities_originSize_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_originSize_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilities" element_type="attribute" element_name="originSize" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute fullScreen of MediaControllerDisplayModeAbilities exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayModeAbilities_fullScreen_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_fullScreen_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilities" element_type="attribute" element_name="fullScreen" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute croppedFull of MediaControllerDisplayModeAbilities exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayModeAbilities_croppedFull_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_croppedFull_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayModeAbilities" element_type="attribute" element_name="croppedFull" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerAbilityChangeCallback ondisplayrotationabilitychanged is called and if its arguments have proper type" type="compliance" onload_delay="30" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilityChangeCallback_ondisplayrotationabilitychanged">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_ondisplayrotationabilitychanged.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="ondisplayrotationabilitychanged" element_type="method" element_name="onplaybackabilitychanged" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute displayRotation of MediaControllerAbilities exists, has type object and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilities_displayRotation_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_displayRotation_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilities" element_type="attribute" element_name="displayRotation" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute displayRotation of MediaControllerAbilitiesInfo exists, has type object and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerAbilitiesInfo_displayRotation_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_displayRotation_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerAbilitiesInfo" element_type="attribute" element_name="displayRotation" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerDisplayRotationAbilities object is extendable" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayRotationAbilities_extend">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilities" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerDisplayRotationAbilities exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayRotationAbilities_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilities" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute rotationNone of MediaControllerDisplayRotationAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayRotationAbilities_rotationNone_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotationNone_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilities" element_type="attribute" element_name="rotationNone" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument rotationNone conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerDisplayRotationAbilities_rotationNone_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotationNone_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilities" element_type="attribute" element_name="rotationNone" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerDisplayRotationAbilities throws exception with invalid rotationNone value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerDisplayRotationAbilities_rotationNone_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotationNone_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilities" element_type="attribute" element_name="rotationNone" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute rotation90 of MediaControllerDisplayRotationAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayRotationAbilities_rotation90_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation90_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilities" element_type="attribute" element_name="rotation90" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument rotation90 conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerDisplayRotationAbilities_rotation90_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation90_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilities" element_type="attribute" element_name="rotation90" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerDisplayRotationAbilities throws exception with invalid rotation90 value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerDisplayRotationAbilities_rotation90_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation90_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilities" element_type="attribute" element_name="rotation90" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute rotation180 of MediaControllerDisplayRotationAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayRotationAbilities_rotation180_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation180_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilities" element_type="attribute" element_name="rotation180" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument rotation180 conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerDisplayRotationAbilities_rotation180_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation180_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilities" element_type="attribute" element_name="rotation180" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerDisplayRotationAbilities throws exception with invalid rotation180 value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerDisplayRotationAbilities_rotation180_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation180_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilities" element_type="attribute" element_name="rotation180" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute rotation270 of MediaControllerDisplayRotationAbilities exists, has type string" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayRotationAbilities_rotation270_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation270_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilities" element_type="attribute" element_name="rotation270" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check argument rotation270 conversions exception" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerDisplayRotationAbilities_rotation270_TypeMismatch">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation270_TypeMismatch.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilities" element_type="attribute" element_name="rotation270" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check MediaControllerDisplayRotationAbilities throws exception with invalid rotation270 value" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P2" id="MediaControllerDisplayRotationAbilities_rotation270_invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation270_invalid.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilities" element_type="attribute" element_name="rotation270" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if MediaControllerDisplayRotationAbilitiesInfo object is extendable" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayRotationAbilitiesInfo_extend">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_extend.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilitiesInfo" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if interface MediaControllerDisplayRotationAbilitiesInfo exists, it should not." type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P3" id="MediaControllerDisplayRotationAbilitiesInfo_notexist">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_notexist.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilitiesInfo" usage="true" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute rotationNone of MediaControllerDisplayRotationAbilities exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayRotationAbilities_rotationNone_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotationNone_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilities" element_type="attribute" element_name="rotationNone" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute rotation90 of MediaControllerDisplayRotationAbilities exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayRotationAbilities_rotation90_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation90_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilities" element_type="attribute" element_name="rotation90" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute rotation180 of MediaControllerDisplayRotationAbilities exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayRotationAbilities_rotation180_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation180_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilities" element_type="attribute" element_name="rotation180" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute rotation270 of MediaControllerDisplayRotationAbilities exists, has type string and is readonly" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerDisplayRotationAbilities_rotation270_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation270_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerDisplayRotationAbilities" element_type="attribute" element_name="rotation270" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute seasonNumber of MediaControllerMetadata exists, has type long" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerMetadata_seasonNumber_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_seasonNumber_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerMetadata" element_type="attribute" element_name="seasonNumber" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute seasonTitle of MediaControllerMetadata exists, has type DOMString" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerMetadata_seasonTitle_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_seasonTitle_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerMetadata" element_type="attribute" element_name="seasonTitle" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute episodeNumber of MediaControllerMetadata exists, has type long" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerMetadata_episodeNumber_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_episodeNumber_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerMetadata" element_type="attribute" element_name="episodeNumber" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute episodeTitle of MediaControllerMetadata exists, has type DOMString" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerMetadata_episodeTitle_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_episodeTitle_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerMetadata" element_type="attribute" element_name="episodeTitle" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute resolutionWidth of MediaControllerMetadata exists, has type long" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerMetadata_resolutionWidth_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_resolutionWidth_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerMetadata" element_type="attribute" element_name="resolutionWidth" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
+      <testcase purpose="Check if attribute resolutionHeight of MediaControllerMetadata exists, has type long" type="compliance" status="approved" component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" priority="P1" id="MediaControllerMetadata_resolutionHeight_attribute">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_resolutionHeight_attribute.html</test_script_entry>
+        </description>
+        <specs>
+          <spec>
+            <spec_assertion interface="MediaControllerMetadata" element_type="attribute" element_name="resolutionHeight" specification="MediaController" section="Multimedia" category="Tizen Device API Specifications"/>
+            <spec_url>https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/mediacontroller.html</spec_url>
+            <spec_statement>TBD</spec_statement>
+          </spec>
+        </specs>
+      </testcase>
     </set>
   </suite>
 </test_definition>
index 52f212c54e70817fc236a97a1c119f8984afa0d9..d8b99fe05c2eec68dc53fa9258de5aeaef91e083 100755 (executable)
           <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_updateIconURI_exist.html</test_script_entry>
         </description>
       </testcase>
-      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerServer_iconURI_attribute" priority="P1" purpose="Check if attribute iconURI of MediaControllerServer exists, has type MediaControllerPlaybackInfo and is readonly">
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerServer_iconURI_attribute" priority="P1" purpose="Check if attribute iconURI of MediaControllerServer exists, has type string and is readonly">
         <description>
           <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_iconURI_attribute.html</test_script_entry>
         </description>
       </testcase>
-      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerServerInfo_iconURI_attribute" priority="P1" purpose="Check if attribute iconURI of MediaControllerServerInfo exists, has type MediaControllerPlaybackInfo and is readonly">
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerServerInfo_iconURI_attribute" priority="P1" purpose="Check if attribute iconURI of MediaControllerServerInfo exists, has type string and is readonly">
         <description>
           <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_iconURI_attribute.html</test_script_entry>
         </description>
           <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSearchRequestCallback_onrequest.html</test_script_entry>
         </description>
       </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerServer_abilities_attribute" priority="P1" purpose="Check if attribute abilities of MediaControllerServer exists, has type object and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_abilities_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerClient_findSubscribedServers" onload_delay="90" priority="P1" purpose="Check if findSubscribedServers() works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerClient_findSubscribedServers_errorCallback_TypeMismatch" onload_delay="90" priority="P2" purpose="Check argument errorCallback conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_errorCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerClient_findSubscribedServers_errorCallback_invalid_cb" onload_delay="90" priority="P2" purpose="Check if findSubscribedServers throws exception when errorCallback is invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_errorCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerClient_findSubscribedServers_exist" priority="P0" purpose="Check if method findSubscribedServers of MediaControllerClient exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerClient_findSubscribedServers_misarg" priority="P2" purpose="Check if findSubscribedServers method of MediaControllerClient called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerClient_findSubscribedServers_successCallback_TypeMismatch" priority="P2" purpose="Check argument successCallback conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_successCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerClient_findSubscribedServers_successCallback_invalid_cb" onload_delay="90" priority="P2" purpose="Check if findSubscribedServers throws exception when successCallback is invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_successCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerClient_findSubscribedServers_with_errorCallback" onload_delay="90" priority="P1" purpose="Check if findSubscribedServers method works properly with errorCallback argument">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_findSubscribedServers_with_errorCallback.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerClient_addAbilityChangeListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerClient addAbilityChangeListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerClient_addAbilityChangeListener_exist" priority="P0" purpose="check if addAbilityChangeListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerClient_addAbilityChangeListener_listener_TypeMismatch" priority="P2" purpose="Check if addAbilityChangeListener throws exception when listener is incorrect">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerClient_addAbilityChangeListener_listener_invalid" priority="P2" purpose="Check if addAbilityChangeListener throws exception when listener is invalid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_listener_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerClient_addAbilityChangeListener_misarg" priority="P2" purpose="Check if addAbilityChangeListener method called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_addAbilityChangeListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerClient_removeAbilityChangeListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerClient removeAbilityChangeListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_removeAbilityChangeListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerClient_removeAbilityChangeListener_exist" priority="P0" purpose="check if removeAbilityChangeListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_removeAbilityChangeListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerClient_removeAbilityChangeListener_misarg" priority="P2" purpose="Check if removeAbilityChangeListener method called with missing non-optional argument does not throw any exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerClient_removeAbilityChangeListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerServerInfo_abilities_attribute" priority="P1" purpose="Check if attribute abilities of MediaControllerServerInfo exists, has type object and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_abilities_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_extend" priority="P3" purpose="Check if MediaControllerAbilities object is extendable">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_notexist" priority="P3" purpose="Check if interface MediaControllerAbilities exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_playback_attribute" priority="P1" purpose="Check if attribute playback of MediaControllerAbilities exists, has type object and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playback_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_clientCustom_attribute" priority="P1" purpose="Check if attribute clientCustom of MediaControllerAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_clientCustom_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_clientCustom_invalid" priority="P2" purpose="Check MediaControllerAbilities throws exception with invalid clientCustom value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_clientCustom_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_clientCustom_TypeMismatch" priority="P2" purpose="Check argument clientCustom conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_clientCustom_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_playbackPosition_attribute" priority="P1" purpose="Check if attribute playbackPosition of MediaControllerAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playbackPosition_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_playbackPosition_invalid" priority="P2" purpose="Check MediaControllerAbilities throws exception with invalid playbackPosition value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playbackPosition_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_playbackPosition_TypeMismatch" priority="P2" purpose="Check argument playbackPosition conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playbackPosition_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_playlist_attribute" priority="P1" purpose="Check if attribute playlist of MediaControllerAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playlist_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_playlist_invalid" priority="P2" purpose="Check MediaControllerAbilities throws exception with invalid playlist value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playlist_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_playlist_TypeMismatch" onload_delay="90" priority="P2" purpose="Check argument playlist conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_playlist_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_repeat_attribute" priority="P1" purpose="Check if attribute repeat of MediaControllerAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_repeat_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_repeat_invalid" priority="P2" purpose="Check MediaControllerAbilities throws exception with invalid repeat value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_repeat_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_repeat_TypeMismatch" priority="P2" purpose="Check argument repeat conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_repeat_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_search_attribute" priority="P1" purpose="Check if attribute search of MediaControllerAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_search_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_search_invalid" priority="P2" purpose="Check MediaControllerAbilities throws exception with invalid search value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_search_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_search_TypeMismatch" priority="P2" purpose="Check argument search conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_search_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_shuffle_attribute" priority="P1" purpose="Check if attribute shuffle of MediaControllerAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_shuffle_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_shuffle_invalid" priority="P2" purpose="Check MediaControllerAbilities throws exception with invalid shuffle value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_shuffle_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_shuffle_TypeMismatch" priority="P2" purpose="Check argument shuffle conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_shuffle_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_extend" priority="P3" purpose="Check if MediaControllerPlaybackAbilities object is extendable">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_notexist" priority="P3" purpose="Check if interface MediaControllerPlaybackAbilities exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_play_attribute" priority="P1" purpose="Check if attribute play of MediaControllerPlaybackAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_play_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_play_invalid" priority="P2" purpose="Check MediaControllerPlaybackAbilities throws exception with invalid play value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_play_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_play_TypeMismatch" priority="P2" purpose="Check argument play conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_play_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_forward_attribute" priority="P1" purpose="Check if attribute forward of MediaControllerPlaybackAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_forward_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_forward_invalid" priority="P2" purpose="Check MediaControllerPlaybackAbilities throws exception with invalid forward value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_forward_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_forward_TypeMismatch" priority="P2" purpose="Check argument forward conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_forward_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_next_attribute" priority="P1" purpose="Check if attribute next of MediaControllerPlaybackAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_next_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_next_invalid" priority="P2" purpose="Check MediaControllerPlaybackAbilities throws exception with invalid next value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_next_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_next_TypeMismatch" priority="P2" purpose="Check argument next conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_next_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_pause_attribute" priority="P1" purpose="Check if attribute pause of MediaControllerPlaybackAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_pause_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_pause_invalid" priority="P2" purpose="Check MediaControllerPlaybackAbilities throws exception with invalid pause value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_pause_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_pause_TypeMismatch" priority="P2" purpose="Check argument pause conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_pause_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_prev_attribute" priority="P1" purpose="Check if attribute prev of MediaControllerPlaybackAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_prev_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_prev_invalid" priority="P2" purpose="Check MediaControllerPlaybackAbilities throws exception with invalid prev value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_prev_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_prev_TypeMismatch" priority="P2" purpose="Check argument prev conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_prev_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_rewind_attribute" priority="P1" purpose="Check if attribute rewind of MediaControllerPlaybackAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_rewind_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_rewind_invalid" priority="P2" purpose="Check MediaControllerPlaybackAbilities throws exception with invalid rewind value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_rewind_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_rewind_TypeMismatch" priority="P2" purpose="Check argument rewind conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_rewind_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_stop_attribute" priority="P1" purpose="Check if attribute stop of MediaControllerPlaybackAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_stop_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_stop_invalid" priority="P2" purpose="Check MediaControllerPlaybackAbilities throws exception with invalid stop value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_stop_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_stop_TypeMismatch" priority="P2" purpose="Check argument stop conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_stop_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_togglePlayPause_attribute" priority="P1" purpose="Check if attribute togglePlayPause of MediaControllerPlaybackAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_togglePlayPause_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_togglePlayPause_invalid" priority="P2" purpose="Check MediaControllerPlaybackAbilities throws exception with invalid togglePlayPause value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_togglePlayPause_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_togglePlayPause_TypeMismatch" priority="P2" purpose="Check argument togglePlayPause conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_togglePlayPause_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_saveAbilities" priority="P1" purpose="Check if saveAbilities method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_saveAbilities.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_saveAbilities_exist" priority="P0" purpose="Check if saveAbilities exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_saveAbilities_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilities_saveAbilities_extra_argument" priority="P2" purpose="Check using MediaControllerPlaybackAbilities::saveAbilitiest() method with extra argument">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilities_saveAbilities_extra_argument.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_extend" priority="P3" purpose="Check if MediaControllerAbilitiesInfo object is extendable">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_notexist" priority="P3" purpose="Check if interface MediaControllerAbilitiesInfo exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_playback_attribute" priority="P1" purpose="Check if attribute playback of MediaControllerAbilitiesInfo exists, has type object and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_playback_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_clientCustom_attribute" priority="P1" purpose="Check if attribute clientCustom of MediaControllerAbilitiesInfo exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_clientCustom_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_playbackPosition_attribute" priority="P1" purpose="Check if attribute playbackPosition of MediaControllerAbilitiesInfo exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_playbackPosition_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_playlist_attribute" priority="P1" purpose="Check if attribute playlist of MediaControllerAbilitiesInfo exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_playlist_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_repeat_attribute" priority="P1" purpose="Check if attribute repeat of MediaControllerAbilitiesInfo exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_repeat_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_search_attribute" priority="P1" purpose="Check if attribute search of MediaControllerAbilitiesInfo exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_search_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_shuffle_attribute" priority="P1" purpose="Check if attribute shuffle of MediaControllerAbilitiesInfo exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_shuffle_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_subscribe" priority="P1" purpose="Check if subscribe method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_subscribe_exist" priority="P0" purpose="Check if subscribe exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_subscribe_extra_argument" priority="P2" purpose="Check using MediaControllerAbilitiesInfo::subscribe() method with extra argument">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe_extra_argument.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_subscribe_invalid" priority="P2" purpose="Check if subscribe method throws exception when addAbilityChangeListener is not set">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subscribe_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_unsubscribe" priority="P1" purpose="Check if unsubscribe method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_unsubscribe.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_unsubscribe_exist" priority="P0" purpose="Check if unsubscribe exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_unsubscribe_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_unsubscribe_extra_argument" priority="P2" purpose="Check using MediaControllerAbilitiesInfo::unsubscribe() method with extra argument">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_unsubscribe_extra_argument.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilitiesInfo_extend" priority="P3" purpose="Check if MediaControllerPlaybackAbilitiesInfo object is extendable">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilitiesInfo_notexist" priority="P3" purpose="Check if interface MediaControllerPlaybackAbilitiesInfo exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilitiesInfo_play_attribute" priority="P1" purpose="Check if attribute play of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_play_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilitiesInfo_forward_attribute" priority="P1" purpose="Check if attribute forward of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_forward_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilitiesInfo_next_attribute" priority="P1" purpose="Check if attribute next of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_next_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilitiesInfo_pause_attribute" priority="P1" purpose="Check if attribute pause of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_pause_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilitiesInfo_prev_attribute" priority="P1" purpose="Check if attribute prev of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_prev_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilitiesInfo_rewind_attribute" priority="P1" purpose="Check if attribute rewind of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_rewind_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilitiesInfo_stop_attribute" priority="P1" purpose="Check if attribute stop of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_stop_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerPlaybackAbilitiesInfo_togglePlayPause_attribute" priority="P1" purpose="Check if attribute togglePlayPause of MediaControllerPlaybackAbilitiesInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerPlaybackAbilitiesInfo_togglePlayPause_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilityChangeCallback_notexist" priority="P3" purpose="Check if interface MediaControllerAbilityChangeCallback exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilityChangeCallback_onplaybackabilitychanged" onload_delay="30" priority="P1" purpose="Check if MediaControllerAbilityChangeCallback onplaybackabilitychanged is called and if its arguments have proper type">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_onplaybackabilitychanged.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilityChangeCallback_onsimpleabilitychanged" onload_delay="30" priority="P1" purpose="Check if MediaControllerAbilityChangeCallback onsimpleabilitychanged is called and if its arguments have proper type">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_onsimpleabilitychanged.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerServer_mode360_attribute" priority="P1" purpose="Check if attribute mode360 of MediaControllerServer exists, has type object and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_mode360_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerServerInfo_mode360_attribute" priority="P1" purpose="Check if attribute mode360 of MediaControllerServerInfo exists, has type object and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_mode360_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_mode360_attribute" priority="P1" purpose="Check if attribute mode360 of MediaControllerAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_mode360_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_mode360_invalid" priority="P2" purpose="Check MediaControllerAbilities throws exception with invalid mode360 value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_mode360_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_mode360_TypeMismatch" priority="P2" purpose="Check argument mode360 conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_mode360_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_mode360_attribute" priority="P1" purpose="Check if attribute mode360 of MediaControllerAbilitiesInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_mode360_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360_extend" priority="P3" purpose="Check if MediaControllerMode360 object is extendable">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360_notexist" priority="P3" purpose="Check if interface MediaControllerMode360 exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360_enabled_attribute" priority="P1" purpose="Check if attribute enabled of MediaControllerMode360 exists, has type boolean">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_enabled_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360_addChangeRequestListener" onload_delay="90" priority="P1" purpose="Check if addChangeRequestListener() works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360_addChangeRequestListener_exist" priority="P0" purpose="Check if method addChangeRequestListener of MediaControllerMode360 exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360_addChangeRequestListener_listener_TypeMismatch" priority="P2" purpose="Check argument listener conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360_addChangeRequestListener_listener_invalid" priority="P2" purpose="Check if addChangeRequestListener throws exception when callback is inavlid listener">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_listener_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360_addChangeRequestListener_misarg" priority="P2" purpose="Check if addChangeRequestListener method of MediaControllerMode360 called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_addChangeRequestListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360_removeChangeRequestListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerMode360 removeChangeRequestListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_removeChangeRequestListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360_removeChangeRequestListener_exist" priority="P0" purpose="check if removeChangeRequestListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_removeChangeRequestListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360_removeChangeRequestListener_misarg" priority="P2" purpose="Check if removeChangeRequestListener method called with missing non-optional argument does not throw any exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360_removeChangeRequestListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360Info_extend" priority="P3" purpose="Check if MediaControllerMode360Info object is extendable">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360Info_notexist" priority="P3" purpose="Check if interface MediaControllerMode360Info exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360Info_enabled_attribute" priority="P1" purpose="Check if attribute enabled of MediaControllerMode360Info exists, has type boolean and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_enabled_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360Info_addModeChangeListener" onload_delay="90" priority="P1" purpose="Check if addModeChangeListener() works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360Info_addModeChangeListener_exist" priority="P0" purpose="Check if method addModeChangeListener of MediaControllerMode360Info exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360Info_addModeChangeListener_listener_TypeMismatch" priority="P2" purpose="Check argument listener conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360Info_addModeChangeListener_listener_invalid" priority="P2" purpose="Check if addModeChangeListener throws exception when callback is inavlid listener">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_listener_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360Info_addModeChangeListener_misarg" priority="P2" purpose="Check if addModeChangeListener method of MediaControllerMode360Info called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_addModeChangeListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360Info_removeModeChangeListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerMode360Info removeModeChangeListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_removeModeChangeListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360Info_removeModeChangeListener_exist" priority="P0" purpose="check if removeModeChangeListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_removeModeChangeListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360Info_removeModeChangeListener_misarg" priority="P2" purpose="Check if removeModeChangeListener method called with missing non-optional argument does not throw any exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_removeModeChangeListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360Info_sendRequest" onload_delay="90" priority="P1" purpose="Check if sendRequest() works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360Info_sendRequest_exist" priority="P0" purpose="Check if method sendRequest of MediaControllerMode360Info exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360Info_sendRequest_replyCallback_TypeMismatch" priority="P2" purpose="Check argument replyCallback conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_replyCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360Info_sendRequest_replyCallback_invalid_cb" priority="P2" purpose="Check if sendRequest throws exception when replyCallback is inavlid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_replyCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMode360Info_sendRequest_misarg" priority="P2" purpose="Check if sendRequest method of MediaControllerMode360Info called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMode360Info_sendRequest_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerEnabledChangeCallback_notexist" priority="P3" purpose="Check if interface MediaControllerEnabledChangeCallback exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerEnabledChangeCallback_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerEnabledChangeCallback_onchange" onload_delay="30" priority="P1" purpose="Check if MediaControllerEnabledChangeCallback onchange is called and if its arguments have proper type">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerEnabledChangeCallback_onchange.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerEnabledChangeRequestCallback_notexist" priority="P3" purpose="Check if interface MediaControllerEnabledChangeRequestCallback exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerEnabledChangeRequestCallback_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerEnabledChangeRequestCallback_onreply" onload_delay="30" priority="P1" purpose="Check if MediaControllerEnabledChangeRequestCallback onchange is called and if its arguments have proper type">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerEnabledChangeRequestCallback_onreply.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerServer_subtitles_attribute" priority="P1" purpose="Check if attribute subtitles of MediaControllerServer exists, has type object and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_subtitles_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerServerInfo_subtitles_attribute" priority="P1" purpose="Check if attribute subtitles of MediaControllerServerInfo exists, has type object and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_subtitles_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_subtitles_attribute" priority="P1" purpose="Check if attribute subtitles of MediaControllerAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_subtitles_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_subtitles_invalid" priority="P2" purpose="Check MediaControllerAbilities throws exception with invalid subtitles value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_subtitles_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_subtitles_TypeMismatch" priority="P2" purpose="Check argument subtitles conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_subtitles_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_subtitles_attribute" priority="P1" purpose="Check if attribute subtitles of MediaControllerAbilitiesInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_subtitles_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitles_extend" priority="P3" purpose="Check if MediaControllersubtitles object is extendable">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitles_notexist" priority="P3" purpose="Check if interface MediaControllersubtitles exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitles_enabled_attribute" priority="P1" purpose="Check if attribute enabled of MediaControllersubtitles exists, has type boolean">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_enabled_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitles_addChangeRequestListener" onload_delay="90" priority="P1" purpose="Check if addChangeRequestListener() works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitles_addChangeRequestListener_exist" priority="P0" purpose="Check if method addChangeRequestListener of MediaControllersubtitles exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitles_addChangeRequestListener_listener_TypeMismatch" priority="P2" purpose="Check argument listener conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitles_addChangeRequestListener_listener_invalid" priority="P2" purpose="Check if addChangeRequestListener throws exception when callback is inavlid listener">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_listener_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitles_addChangeRequestListener_misarg" priority="P2" purpose="Check if addChangeRequestListener method of MediaControllersubtitles called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_addChangeRequestListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitles_removeChangeRequestListener" onload_delay="30" priority="P1" purpose="Check if MediaControllersubtitles removeChangeRequestListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_removeChangeRequestListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitles_removeChangeRequestListener_exist" priority="P0" purpose="check if removeChangeRequestListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_removeChangeRequestListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitles_removeChangeRequestListener_misarg" priority="P2" purpose="Check if removeChangeRequestListener method called with missing non-optional argument does not throw any exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitles_removeChangeRequestListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitlesInfo_extend" priority="P3" purpose="Check if MediaControllerSubtitlesInfo object is extendable">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitlesInfo_notexist" priority="P3" purpose="Check if interface MediaControllerSubtitlesInfo exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitlesInfo_enabled_attribute" priority="P1" purpose="Check if attribute enabled of MediaControllerSubtitlesInfo exists, has type boolean and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_enabled_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitlesInfo_addModeChangeListener" onload_delay="90" priority="P1" purpose="Check if addModeChangeListener() works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitlesInfo_addModeChangeListener_exist" priority="P0" purpose="Check if method addModeChangeListener of MediaControllerSubtitlesInfo exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitlesInfo_addModeChangeListener_listener_TypeMismatch" priority="P2" purpose="Check argument listener conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitlesInfo_addModeChangeListener_listener_invalid" priority="P2" purpose="Check if addModeChangeListener throws exception when callback is inavlid listener">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_listener_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitlesInfo_addModeChangeListener_misarg" priority="P2" purpose="Check if addModeChangeListener method of MediaControllerSubtitlesInfo called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_addModeChangeListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitlesInfo_removeModeChangeListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerSubtitlesInfo removeModeChangeListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_removeModeChangeListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitlesInfo_removeModeChangeListener_exist" priority="P0" purpose="check if removeModeChangeListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_removeModeChangeListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitlesInfo_removeModeChangeListener_misarg" priority="P2" purpose="Check if removeModeChangeListener method called with missing non-optional argument does not throw any exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_removeModeChangeListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitlesInfo_sendRequest" onload_delay="90" priority="P1" purpose="Check if sendRequest() works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitlesInfo_sendRequest_exist" priority="P0" purpose="Check if method sendRequest of MediaControllerSubtitlesInfo exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitlesInfo_sendRequest_replyCallback_TypeMismatch" priority="P2" purpose="Check argument replyCallback conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_replyCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitlesInfo_sendRequest_replyCallback_invalid_cb" priority="P2" purpose="Check if sendRequest throws exception when replyCallback is inavlid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_replyCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerSubtitlesInfo_sendRequest_misarg" priority="P2" purpose="Check if sendRequest method of MediaControllerSubtitlesInfo called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerSubtitlesInfo_sendRequest_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeChangeCallback_notexist" priority="P3" purpose="Check if interface MediaControllerDisplayModeChangeCallback exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeCallback_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeChangeCallback_onchange" onload_delay="30" priority="P1" purpose="Check if MediaControllerDisplayModeChangeCallback onchange is called and if its arguments have proper type">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeCallback_onchange.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeChangeRequestCallback_notexist" priority="P3" purpose="Check if interface MediaControllerDisplayModeChangeRequestCallback exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeRequestCallback_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeChangeRequestCallback_onreply" onload_delay="30" priority="P1" purpose="Check if MediaControllerDisplayModeChangeRequestCallback onchange is called and if its arguments have proper type">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeChangeRequestCallback_onreply.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerServer_displayMode_attribute" priority="P1" purpose="Check if attribute displayMode of MediaControllerServer exists, has type object and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_displayMode_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerServerInfo_displayMode_attribute" priority="P1" purpose="Check if attribute displayMode of MediaControllerServerInfo exists, has type object and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_displayMode_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayMode_extend" priority="P3" purpose="Check if MediaControllerDisplayMode object is extendable">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayMode_notexist" priority="P3" purpose="Check if interface MediaControllerDisplayMode exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayMode_type_attribute" priority="P1" purpose="Check if attribute type of MediaControllerDisplayMode exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_type_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayMode_addChangeRequestListener" onload_delay="90" priority="P1" purpose="Check if addChangeRequestListener() works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayMode_addChangeRequestListener_exist" priority="P0" purpose="Check if method addChangeRequestListener of MediaControllerDisplayMode exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayMode_addChangeRequestListener_listener_TypeMismatch" priority="P2" purpose="Check argument listener conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayMode_addChangeRequestListener_listener_invalid" priority="P2" purpose="Check if addChangeRequestListener throws exception when callback is inavlid listener">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_listener_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayMode_addChangeRequestListener_misarg" priority="P2" purpose="Check if addChangeRequestListener method of MediaControllerDisplayMode called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_addChangeRequestListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayMode_removeChangeRequestListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerDisplayMode removeChangeRequestListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_removeChangeRequestListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayMode_removeChangeRequestListener_exist" priority="P0" purpose="check if removeChangeRequestListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_removeChangeRequestListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayMode_removeChangeRequestListener_misarg" priority="P2" purpose="Check if removeChangeRequestListener method called with missing non-optional argument does not throw any exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayMode_removeChangeRequestListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeInfo_extend" priority="P3" purpose="Check if MediaControllerDisplayModeInfo object is extendable">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeInfo_notexist" priority="P3" purpose="Check if interface MediaControllerDisplayModeInfo exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeInfo_type_attribute" priority="P1" purpose="Check if attribute type of MediaControllerDisplayModeInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_type_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeInfo_addModeChangeListener" onload_delay="90" priority="P1" purpose="Check if addModeChangeListener() works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeInfo_addModeChangeListener_exist" priority="P0" purpose="Check if method addModeChangeListener of MediaControllerDisplayModeInfo exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeInfo_addModeChangeListener_listener_TypeMismatch" priority="P2" purpose="Check argument listener conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeInfo_addModeChangeListener_listener_invalid" priority="P2" purpose="Check if addModeChangeListener throws exception when callback is inavlid listener">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_listener_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeInfo_addModeChangeListener_misarg" priority="P2" purpose="Check if addModeChangeListener method of MediaControllerDisplayModeInfo called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_addModeChangeListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeInfo_removeModeChangeListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerDisplayModeInfo removeModeChangeListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_removeModeChangeListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeInfo_removeModeChangeListener_exist" priority="P0" purpose="check if removeModeChangeListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_removeModeChangeListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeInfo_removeModeChangeListener_misarg" priority="P2" purpose="Check if removeModeChangeListener method called with missing non-optional argument does not throw any exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_removeModeChangeListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeInfo_sendRequest" onload_delay="90" priority="P1" purpose="Check if sendRequest() works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeInfo_sendRequest_exist" priority="P0" purpose="Check if method sendRequest of MediaControllerDisplayModeInfo exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeInfo_sendRequest_replyCallback_TypeMismatch" priority="P2" purpose="Check argument replyCallback conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_replyCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeInfo_sendRequest_replyCallback_invalid_cb" priority="P2" purpose="Check if sendRequest throws exception when replyCallback is inavlid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_replyCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeInfo_sendRequest_misarg" priority="P2" purpose="Check if sendRequest method of MediaControllerDisplayModeInfo called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeInfo_sendRequest_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationChangeCallback_notexist" priority="P3" purpose="Check if interface MediaControllerDisplayRotationChangeCallback exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeCallback_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationChangeCallback_onchange" onload_delay="30" priority="P1" purpose="Check if MediaControllerDisplayRotationChangeCallback onchange is called and if its arguments have proper type">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeCallback_onchange.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationChangeRequestCallback_notexist" priority="P3" purpose="Check if interface MediaControllerDisplayRotationChangeRequestCallback exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeRequestCallback_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationChangeRequestCallback_onreply" onload_delay="30" priority="P1" purpose="Check if MediaControllerDisplayRotationChangeRequestCallback onchange is called and if its arguments have proper type">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationChangeRequestCallback_onreply.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerServer_displayRotation_attribute" priority="P1" purpose="Check if attribute displayRotation of MediaControllerServer exists, has type object and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServer_displayRotation_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerServerInfo_displayRotation_attribute" priority="P1" purpose="Check if attribute displayRotation of MediaControllerServerInfo exists, has type object and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerServerInfo_displayRotation_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotation_extend" priority="P3" purpose="Check if MediaControllerDisplayRotation object is extendable">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotation_notexist" priority="P3" purpose="Check if interface MediaControllerDisplayRotation exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotation_displayRotation_attribute" priority="P1" purpose="Check if attribute displayRotation of MediaControllerDisplayRotation exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_displayRotation_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotation_displayRotation_TypeMismatch" priority="P2" purpose="Check argument displayRotation conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_displayRotation_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotation_addChangeRequestListener" onload_delay="90" priority="P1" purpose="Check if addChangeRequestListener() works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotation_addChangeRequestListener_exist" priority="P0" purpose="Check if method addChangeRequestListener of MediaControllerDisplayRotation exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotation_addChangeRequestListener_listener_TypeMismatch" priority="P2" purpose="Check argument listener conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotation_addChangeRequestListener_listener_invalid" priority="P2" purpose="Check if addChangeRequestListener throws exception when callback is inavlid listener">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_listener_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotation_addChangeRequestListener_misarg" priority="P2" purpose="Check if addChangeRequestListener method of MediaControllerDisplayRotation called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_addChangeRequestListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotation_removeChangeRequestListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerDisplayRotation removeChangeRequestListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_removeChangeRequestListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotation_removeChangeRequestListener_exist" priority="P0" purpose="check if removeChangeRequestListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_removeChangeRequestListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotation_removeChangeRequestListener_misarg" priority="P2" purpose="Check if removeChangeRequestListener method called with missing non-optional argument does not throw any exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotation_removeChangeRequestListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationInfo_extend" priority="P3" purpose="Check if MediaControllerDisplayRotationInfo object is extendable">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationInfo_notexist" priority="P3" purpose="Check if interface MediaControllerDisplayRotationInfo exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationInfo_displayRotation_attribute" priority="P1" purpose="Check if attribute displayRotation of MediaControllerDisplayRotationInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_displayRotation_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener" onload_delay="90" priority="P1" purpose="Check if addDisplayRotationChangeListener() works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_exist" priority="P0" purpose="Check if method addDisplayRotationChangeListener of MediaControllerDisplayRotationInfo exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_listener_TypeMismatch" priority="P2" purpose="Check argument listener conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_listener_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_listener_invalid" priority="P2" purpose="Check if addDisplayRotationChangeListener throws exception when callback is inavlid listener">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_listener_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_misarg" priority="P2" purpose="Check if addDisplayRotationChangeListener method of MediaControllerDisplayRotationInfo called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_addDisplayRotationChangeListener_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener" onload_delay="30" priority="P1" purpose="Check if MediaControllerDisplayRotationInfo removeDisplayRotationChangeListener method works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener_exist" priority="P0" purpose="check if removeDisplayRotationChangeListener exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener_misarg" priority="P2" purpose="Check if removeDisplayRotationChangeListener method called with missing non-optional argument does not throw any exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_removeDisplayRotationChangeListener.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationInfo_sendRequest" onload_delay="90" priority="P1" purpose="Check if sendRequest() works properly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationInfo_sendRequest_exist" priority="P0" purpose="Check if method sendRequest of MediaControllerDisplayRotationInfo exists">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_exist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationInfo_sendRequest_replyCallback_TypeMismatch" priority="P2" purpose="Check argument replyCallback conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_replyCallback_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationInfo_sendRequest_replyCallback_invalid_cb" priority="P2" purpose="Check if sendRequest throws exception when replyCallback is inavlid">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_replyCallback_invalid_cb.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationInfo_sendRequest_misarg" priority="P2" purpose="Check if sendRequest method of MediaControllerDisplayRotationInfo called with missing non-optional argument throws an exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationInfo_sendRequest_misarg.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilityChangeCallback_ondisplaymodeabilitychanged" onload_delay="30" priority="P1" purpose="Check if MediaControllerAbilityChangeCallback ondisplaymodeabilitychanged is called and if its arguments have proper type">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_ondisplaymodeabilitychanged.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_displayMode_attribute" priority="P1" purpose="Check if attribute displayMode of MediaControllerAbilities exists, has type object and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_displayMode_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_displayMode_attribute" priority="P1" purpose="Check if attribute displayMode of MediaControllerAbilitiesInfo exists, has type object and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_displayMode_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilities_extend" priority="P3" purpose="Check if MediaControllerDisplayModeAbilities object is extendable">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilities_notexist" priority="P3" purpose="Check if interface MediaControllerDisplayModeAbilities exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilities_letterBox_attribute" priority="P1" purpose="Check if attribute letterBox of MediaControllerDisplayModeAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_letterBox_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilities_letterBox_invalid" priority="P2" purpose="Check MediaControllerDisplayModeAbilities throws exception with invalid letterBox value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_letterBox_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilities_letterBox_TypeMismatch" priority="P2" purpose="Check argument letterBox conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_letterBox_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilities_originSize_attribute" priority="P1" purpose="Check if attribute originSize of MediaControllerDisplayModeAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_originSize_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilities_originSize_invalid" priority="P2" purpose="Check MediaControllerDisplayModeAbilities throws exception with invalid originSize value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_originSize_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilities_originSize_TypeMismatch" priority="P2" purpose="Check argument originSize conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_originSize_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilities_fullScreen_attribute" priority="P1" purpose="Check if attribute fullScreen of MediaControllerDisplayModeAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_fullScreen_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilities_fullScreen_invalid" priority="P2" purpose="Check MediaControllerDisplayModeAbilities throws exception with invalid fullScreen value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_fullScreen_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilities_fullScreen_TypeMismatch" priority="P2" purpose="Check argument fullScreen conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_fullScreen_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilities_croppedFull_attribute" priority="P1" purpose="Check if attribute croppedFull of MediaControllerDisplayModeAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_croppedFull_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilities_croppedFull_invalid" priority="P2" purpose="Check MediaControllerDisplayModeAbilities throws exception with invalid croppedFull value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_croppedFull_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilities_croppedFull_TypeMismatch" priority="P2" purpose="Check argument croppedFull conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilities_croppedFull_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilitiesInfo_extend" priority="P3" purpose="Check if MediaControllerDisplayModeAbilitiesInfo object is extendable">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilitiesInfo_notexist" priority="P3" purpose="Check if interface MediaControllerDisplayModeAbilitiesInfo exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilitiesInfo_letterBox_attribute" priority="P1" purpose="Check if attribute letterBox of MediaControllerDisplayModeAbilitiesInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_letterBox_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilitiesInfo_originSize_attribute" priority="P1" purpose="Check if attribute originSize of MediaControllerDisplayModeAbilitiesInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_originSize_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilitiesInfo_fullScreen_attribute" priority="P1" purpose="Check if attribute fullScreen of MediaControllerDisplayModeAbilitiesInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_fullScreen_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayModeAbilitiesInfo_croppedFull_attribute" priority="P1" purpose="Check if attribute croppedFull of MediaControllerDisplayModeAbilitiesInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayModeAbilitiesInfo_croppedFull_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilityChangeCallback_ondisplayrotationabilitychanged" onload_delay="30" priority="P1" purpose="Check if MediaControllerAbilityChangeCallback ondisplayrotationabilitychanged is called and if its arguments have proper type">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilityChangeCallback_ondisplayrotationabilitychanged.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilities_displayRotation_attribute" priority="P1" purpose="Check if attribute displayRotation of MediaControllerAbilities exists, has type object and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilities_displayRotation_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerAbilitiesInfo_displayRotation_attribute" priority="P1" purpose="Check if attribute displayRotation of MediaControllerAbilitiesInfo exists, has type object and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerAbilitiesInfo_displayRotation_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilities_extend" priority="P3" purpose="Check if MediaControllerDisplayRotationAbilities object is extendable">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilities_notexist" priority="P3" purpose="Check if interface MediaControllerDisplayRotationAbilities exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilities_rotationNone_attribute" priority="P1" purpose="Check if attribute rotationNone of MediaControllerDisplayRotationAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotationNone_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilities_rotationNone_invalid" priority="P2" purpose="Check MediaControllerDisplayRotationAbilities throws exception with invalid rotationNone value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotationNone_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilities_rotationNone_TypeMismatch" priority="P2" purpose="Check argument rotationNone conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotationNone_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilities_rotation90_attribute" priority="P1" purpose="Check if attribute rotation90 of MediaControllerDisplayRotationAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation90_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilities_rotation90_invalid" priority="P2" purpose="Check MediaControllerDisplayRotationAbilities throws exception with invalid rotation90 value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation90_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilities_rotation90_TypeMismatch" priority="P2" purpose="Check argument rotation90 conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation90_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilities_rotation180_attribute" priority="P1" purpose="Check if attribute rotation180 of MediaControllerDisplayRotationAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation180_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilities_rotation180_invalid" priority="P2" purpose="Check MediaControllerDisplayRotationAbilities throws exception with invalid rotation180 value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation180_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilities_rotation180_TypeMismatch" priority="P2" purpose="Check argument rotation180 conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation180_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilities_rotation270_attribute" priority="P1" purpose="Check if attribute rotation270 of MediaControllerDisplayRotationAbilities exists, has type string">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation270_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilities_rotation270_invalid" priority="P2" purpose="Check MediaControllerDisplayRotationAbilities throws exception with invalid rotation270 value">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation270_invalid.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilities_rotation270_TypeMismatch" priority="P2" purpose="Check argument rotation270 conversions exception">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilities_rotation270_TypeMismatch.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilitiesInfo_extend" priority="P3" purpose="Check if MediaControllerDisplayRotationAbilitiesInfo object is extendable">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_extend.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilitiesInfo_notexist" priority="P3" purpose="Check if interface MediaControllerDisplayRotationAbilitiesInfo exists, it should not.">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_notexist.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilitiesInfo_rotationNone_attribute" priority="P1" purpose="Check if attribute rotationNone of MediaControllerDisplayRotationAbilitiesInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_rotationNone_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilitiesInfo_rotation90_attribute" priority="P1" purpose="Check if attribute rotation90 of MediaControllerDisplayRotationAbilitiesInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_rotation90_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilitiesInfo_rotation180_attribute" priority="P1" purpose="Check if attribute rotation180 of MediaControllerDisplayRotationAbilitiesInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_rotation180_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerDisplayRotationAbilitiesInfo_rotation270_attribute" priority="P1" purpose="Check if attribute rotation270 of MediaControllerDisplayRotationAbilitiesInfo exists, has type string and is readonly">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerDisplayRotationAbilitiesInfo_rotation270_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMetadata_seasonNumber_attribute" priority="P1" purpose="Check if attribute seasonNumber of MediaControllerMetadata exists, has type long">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_seasonNumber_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMetadata_seasonTitle_attribute" priority="P1" purpose="Check if attribute seasonTitle of MediaControllerMetadata exists, has type DOMString">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_seasonTitle_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMetadata_episodeNumber_attribute" priority="P1" purpose="Check if attribute episodeNumber of MediaControllerMetadata exists, has type long">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_episodeNumber_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMetadata_episodeTitle_attribute" priority="P1" purpose="Check if attribute episodeTitle of MediaControllerMetadata exists, has type DOMString">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_episodeTitle_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMetadata_resolutionWidth_attribute" priority="P1" purpose="Check if attribute resolutionWidth of MediaControllerMetadata exists, has type long">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_resolutionWidth_attribute.html</test_script_entry>
+        </description>
+      </testcase>
+      <testcase component="Tizen Device APIs/Multimedia/MediaController" execution_type="auto" id="MediaControllerMetadata_resolutionHeight_attribute" priority="P1" purpose="Check if attribute resolutionHeight of MediaControllerMetadata exists, has type long">
+        <description>
+          <test_script_entry>/opt/tct-mediacontroller-tizen-tests/mediacontroller/MediaControllerMetadata_resolutionHeight_attribute.html</test_script_entry>
+        </description>
+      </testcase>
     </set>
   </suite>
 </test_definition>