framework_gem 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/{lib/EXECUTION_ENGINE.md → EXECUTION_ENGINE.md} +0 -0
- data/{lib/Gemfile → Gemfile} +4 -1
- data/{lib/README.md → README.md} +0 -0
- data/{lib/config → config}/ConfigParams.xml +0 -0
- data/{lib/config → config}/ImageROI.xml +0 -0
- data/{lib/config → config}/ROI.xml +0 -0
- data/{lib/config → config}/Userlog4j.xml +0 -0
- data/{lib/config → config}/schema-docs/mode.xsd +0 -0
- data/{lib/config → config}/schema-docs/processTestJobs.xsd +0 -0
- data/{lib/config → config}/schema-docs/rackip.xsd +0 -0
- data/{lib/copy_ref_images.rb → copy_ref_images.rb} +0 -0
- data/{lib/copy_repo.rb → copy_repo.rb} +0 -0
- data/{lib/dsllib → dsllib}/common/dncs/dncs_utils.rb +0 -0
- data/{lib/dsllib → dsllib}/common/mas_db/mas_conductor.rb +0 -0
- data/{lib/dsllib → dsllib}/common/mas_db/mas_db.rb +0 -0
- data/{lib/dsllib → dsllib}/common/mas_db/mas_publish.rb +0 -0
- data/{lib/dsllib → dsllib}/common/mas_db/mas_rest_services.rb +0 -0
- data/{lib/dsllib → dsllib}/common/mas_db/mas_soap_services.rb +0 -0
- data/{lib/dsllib → dsllib}/common/mas_db/mas_utils.rb +0 -0
- data/{lib/dsllib → dsllib}/common/remote_diagnostics/mdn_remote_diagnostics.rb +0 -0
- data/{lib/dsllib → dsllib}/common/remote_diagnostics/odn_web_server.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/excel_export.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/excel_module.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/server_components_utils.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/stb_health_check_utils.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/sword_utils.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/tmc_utils.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/virtual_keyboard_navigator.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/virtual_keyboard_vp_navigator.rb +0 -0
- data/{lib/dsllib → dsllib}/performance/DTA/roi.rb +0 -0
- data/{lib/dsllib → dsllib}/performance/DTA/utils.rb +0 -0
- data/{lib/dsllib → dsllib}/performance/iguide_concurrent_test/ROI.rb +0 -0
- data/{lib/dsllib → dsllib}/performance/iguide_concurrent_test/utils.rb +0 -0
- data/{lib/dsllib → dsllib}/performance/measure_tune.rb +0 -0
- data/{lib/dsllib → dsllib}/performance/perf_lib.rb +0 -0
- data/framework_gem.rb +3 -0
- data/lib/{lib/data_services → data_services}/channel.rb +0 -0
- data/lib/{lib/data_services → data_services}/data_services.rb +0 -0
- data/lib/{lib/data_services → data_services}/guide.rb +0 -0
- data/lib/{lib/data_services → data_services}/lineup.rb +0 -0
- data/lib/{lib/data_services → data_services}/program.rb +0 -0
- data/lib/{lib/data_services → data_services}/schedule.rb +0 -0
- data/lib/{lib/data_services → data_services}/splunk_connector.rb +0 -0
- data/lib/{lib/data_services → data_services}/splunk_data_reader.rb +0 -0
- data/lib/{lib/element → element}/element.rb +0 -0
- data/lib/{lib/extensions → extensions}/array_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/datetime_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/file_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/float_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/integer_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/nethttp_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/object_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/string_extensions.rb +0 -0
- data/lib/helpers/tmc_helpers/core_helper/core_helper.rb +29 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/csv_helper/csv_helper.rb +0 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/email_helper/email_helper.rb +0 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/http_helper/http_helper.rb +0 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/roi_helper/roi_helper.rb +0 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/snmp_helper/snmp_helper.rb +0 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/ssh_helper/ssh_helper.rb +0 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/tmc_helpers.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/apple_tv/apple_tv_password_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/apple_tv/apple_tv_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/apple_tv/apple_tv_username_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/keyboard_layout.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/roku/roku_reset_pin_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/roku/roku_rsg_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/roku/roku_rsg_signin_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/roku/roku_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/roku/roku_signin_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/samsung_tv/samsung_tv_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/samsung_tv/samsung_tv_signin_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/stb/odn/odn_on_demand_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/stb/odn/odn_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_netflix_email_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_netflix_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_netflix_name_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/tivo/tivo_password_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/tivo/tivo_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/tivo/tivo_username_keyboard.rb +0 -0
- data/lib/{lib/keys → keys}/apple_tv/apple_tv_keys.rb +0 -0
- data/lib/{lib/keys → keys}/base_keys.rb +0 -0
- data/lib/{lib/keys → keys}/dta/dta_keys.rb +0 -0
- data/lib/{lib/keys → keys}/mdn/mdn_keys.rb +0 -0
- data/lib/{lib/keys → keys}/passport/passport_keys.rb +0 -0
- data/lib/{lib/keys → keys}/roku/roku_keys.rb +0 -0
- data/lib/{lib/keys → keys}/roku_tv/roku_tv_keys.rb +0 -0
- data/lib/{lib/keys → keys}/samsung_tv/samsung_tv_keys.rb +0 -0
- data/lib/{lib/keys → keys}/sara/sara_keys.rb +0 -0
- data/lib/{lib/keys → keys}/stb/iguide/iguide_keys.rb +0 -0
- data/lib/{lib/keys → keys}/stb/odn/odn_keys.rb +0 -0
- data/lib/{lib/keys → keys}/stb/spectrum/spectrum_keys.rb +0 -0
- data/lib/{lib/keys → keys}/stb/stb_keys.rb +0 -0
- data/lib/{lib/keys → keys}/tivo/tivo_keys.rb +0 -0
- data/lib/{lib/logger → logger}/multi_io.rb +0 -0
- data/lib/{lib/logger → logger}/tmc_dut_logger.rb +0 -0
- data/lib/{lib/logger → logger}/tmc_logger.rb +0 -0
- data/lib/{lib/mixins → mixins}/assignable.rb +0 -0
- data/lib/{lib/mixins → mixins}/can_have_special_methods.rb +0 -0
- data/lib/{lib/mixins → mixins}/enumish.rb +0 -0
- data/lib/{lib/new_platform.rb → new_platform.rb} +0 -0
- data/lib/{lib/new_sub_platform.rb → new_sub_platform.rb} +0 -0
- data/lib/{lib/platform → platform}/apple_tv/apple_tv.rb +0 -0
- data/lib/{lib/platform → platform}/apple_tv/apple_tv_1080/apple_tv_1080.rb +0 -0
- data/lib/{lib/platform → platform}/apple_tv/apple_tv_720/apple_tv_720.rb +0 -0
- data/lib/{lib/platform → platform}/dta/dta.rb +0 -0
- data/lib/{lib/platform → platform}/dta/dta_1080/dta_1080.rb +0 -0
- data/lib/{lib/platform → platform}/dta/dta_720/dta_720.rb +0 -0
- data/lib/{lib/platform → platform}/mdn/mdn.rb +0 -0
- data/lib/{lib/platform → platform}/mdn/mdn_1080/mdn_1080.rb +0 -0
- data/lib/{lib/platform → platform}/mdn/mdn_720/mdn_720.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/android/android.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/android/android_phone/android_phone.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/android/android_tablet/android_tablet.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/ios/ios.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/ios/ios_phone/ios_phone.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/ios/ios_tablet/ios_tablet.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/mobile.rb +0 -0
- data/lib/{lib/platform → platform}/passport/passport.rb +0 -0
- data/lib/{lib/platform → platform}/passport/passport1080/passport_1080.rb +0 -0
- data/lib/{lib/platform → platform}/passport/passport_720/passport_720.rb +0 -0
- data/lib/{lib/platform → platform}/platform.rb +0 -0
- data/lib/{lib/platform → platform}/roku/roku.rb +0 -0
- data/lib/{lib/platform → platform}/roku/roku_720/roku_720.rb +0 -0
- data/lib/{lib/platform → platform}/roku_tv/roku_tv.rb +0 -0
- data/lib/{lib/platform → platform}/roku_tv/roku_tv_1080/roku_tv_1080.rb +0 -0
- data/lib/{lib/platform → platform}/roku_tv/roku_tv_720/roku_tv_720.rb +0 -0
- data/lib/{lib/platform → platform}/samsung_tv/samsung_tv.rb +0 -0
- data/lib/{lib/platform → platform}/samsung_tv/samsung_tv_1080/samsung_tv_1080.rb +0 -0
- data/lib/{lib/platform → platform}/samsung_tv/samsung_tv_720/samsung_tv_720.rb +0 -0
- data/lib/{lib/platform → platform}/sara/sara.rb +0 -0
- data/lib/{lib/platform → platform}/sara/sara_1080/sara_1080.rb +0 -0
- data/lib/{lib/platform → platform}/sara/sara_720/sara_720.rb +0 -0
- data/lib/{lib/platform → platform}/stb/iguide/iguide.rb +0 -0
- data/lib/{lib/platform → platform}/stb/iguide/iguide_1080/iguide_1080.rb +0 -0
- data/lib/{lib/platform → platform}/stb/iguide/iguide_720/iguide_720.rb +0 -0
- data/lib/{lib/platform → platform}/stb/odn/odn.rb +0 -0
- data/lib/{lib/platform → platform}/stb/odn/odn_1080/odn_1080.rb +0 -0
- data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720.rb +0 -0
- data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720_moto/odn_720_moto.rb +0 -0
- data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720_sa/odn_720_sa.rb +0 -0
- data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch.rb +0 -0
- data/lib/{lib/platform → platform}/stb/stb.rb +0 -0
- data/lib/{lib/platform → platform}/template.txt +0 -0
- data/lib/{lib/platform → platform}/tivo/tivo.rb +0 -0
- data/lib/{lib/platform → platform}/tivo/tivo_1080/tivo_1080.rb +0 -0
- data/lib/{lib/platform → platform}/tivo/tivo_720/tivo_720.rb +0 -0
- data/lib/{lib/platform → platform}/web/web.rb +0 -0
- data/lib/{lib/platform_libs → platform_libs}/roku/roku_controller.rb +0 -0
- data/lib/{lib/prereqs → prereqs}/prereqs.rb +0 -0
- data/lib/{lib/prereqs → prereqs}/prereqs_for_dut.rb +0 -0
- data/lib/{lib/prereqs → prereqs}/prereqs_for_test.rb +0 -0
- data/lib/{lib/remotes → remotes}/remotes.rb +0 -0
- data/lib/{lib/remotes → remotes}/stb/spectrum/spectrum_remotes.rb +0 -0
- data/lib/{lib/roi → roi}/black/black_roi.rb +0 -0
- data/lib/{lib/roi → roi}/color/color_roi.rb +0 -0
- data/lib/{lib/roi → roi}/image/image_roi.rb +0 -0
- data/lib/{lib/roi → roi}/roi.rb +0 -0
- data/lib/{lib/roi → roi}/template_roi.txt +0 -0
- data/lib/{lib/roi → roi}/text/text_roi.rb +0 -0
- data/lib/{lib/roi → roi}/video/video_roi.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_video_rois.rb +2 -1
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/mobile_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/mobile_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/mobile_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/mobile_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/mobile_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/mobile_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/stb_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/stb_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/stb_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/stb_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/stb_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/stb_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/template.txt +0 -0
- data/lib/{User_Lib/rois → rois}/text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/video_rois.rb +0 -0
- data/lib/{lib/screen → screen}/screen.rb +0 -0
- data/lib/{lib/screen → screen}/template.txt +0 -0
- data/lib/{lib/screen → screen}/template_screen.txt +0 -0
- data/lib/{lib/screens → screens}/apple_tv/apple_tv_screens.rb +0 -0
- data/lib/{lib/screens → screens}/dta/dta_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mdn/mdn_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/android/android_phone/android_phone_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/android/android_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/android/android_tablet/android_tablet_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/ios/ios_phone/ios_phone_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/ios/ios_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/ios/ios_tablet/ios_tablet_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/mobile_screens.rb +0 -0
- data/lib/{lib/screens → screens}/passport/passport_screens.rb +0 -0
- data/lib/{lib/screens → screens}/roku/roku_screens.rb +0 -0
- data/lib/{lib/screens → screens}/roku_tv/roku_tv_screens.rb +0 -0
- data/lib/{lib/screens → screens}/samsung_tv/samsung_tv_screens.rb +0 -0
- data/lib/{lib/screens → screens}/sara/sara_screens.rb +0 -0
- data/lib/{lib/screens → screens}/screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/iguide/iguide_1080/iguide_1080_screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/iguide/iguide_720/iguide_720_screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/iguide/iguide_screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/odn/odn_screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/spectrum/spectrum_screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/stb_screens.rb +0 -0
- data/lib/{lib/screens → screens}/template.txt +0 -0
- data/lib/{lib/screens → screens}/tivo/tivo_screens.rb +0 -0
- data/lib/{lib/selenium → selenium}/appium/appium.rb +0 -0
- data/lib/{lib/selenium → selenium}/selenium.rb +0 -0
- data/lib/{lib/selenium → selenium}/webdriver/webdriver.rb +0 -0
- data/lib/{lib/test_case → test_case}/boilerplate/functional.rb +0 -0
- data/lib/{lib/test_case → test_case}/boilerplate/performance.rb +0 -0
- data/lib/{lib/test_case → test_case}/ci_test.rb +0 -0
- data/lib/{lib/test_case → test_case}/functional_test_case.rb +0 -0
- data/lib/{lib/test_case → test_case}/make_boilerplate.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/apple_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/base_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/dta_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/iguide_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/mdn_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/monitoring_test.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/odn_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/passport_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/report_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/roku_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/sara_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/spec_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/performance_test_case.rb +0 -0
- data/lib/{lib/test_case → test_case}/test_case.rb +0 -0
- data/lib/{lib/test_case → test_case}/test_error.rb +0 -0
- data/lib/{lib/test_case → test_case}/test_exception.rb +0 -0
- data/lib/{lib/test_case → test_case}/test_status.rb +0 -0
- data/lib/{lib/test_case → test_case}/test_step.rb +0 -0
- data/lib/{lib/test_case → test_case}/test_trace.rb +0 -0
- data/lib/{lib/test_data.rb → test_data.rb} +0 -0
- data/lib/test_wrapper.rb +95 -0
- data/{lib/misc → misc}/get_latest_android.sh +0 -0
- data/{lib/misc → misc}/get_latest_ios.sh +0 -0
- data/{lib/package-lock.json → package-lock.json} +0 -0
- data/{lib/syntax_eval.rb → syntax_eval.rb} +27 -35
- data/tmc-core.gemspec +9 -0
- data/{lib/tools → tools}/convert_old_scripts.rb +0 -0
- data/{lib/tools → tools}/find_duplicate_rois.rb +0 -0
- data/{lib/tools → tools}/roku/inspector.rb +0 -0
- data/{lib/tools → tools}/syntax_checker.rb +2 -4
- data/{lib/upload_ref_images.rb → upload_ref_images.rb} +0 -0
- metadata +576 -873
- data/lib/User_Lib/helpers/helpers.rb +0 -13
- data/lib/User_Lib/screen/apple_tv/apple_tv_dvr.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_guide.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_library.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_live_tv.rb +0 -17
- data/lib/User_Lib/screen/apple_tv/apple_tv_login.rb +0 -24
- data/lib/User_Lib/screen/apple_tv/apple_tv_main_menu.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_mini_guide.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_movies.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_on_demand.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_parental_controls.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_product_page.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_screen.rb +0 -23
- data/lib/User_Lib/screen/apple_tv/apple_tv_search.rb +0 -31
- data/lib/User_Lib/screen/apple_tv/apple_tv_settings.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_tv_shows.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_video_store.rb +0 -25
- data/lib/User_Lib/screen/dta/dta_dvr.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_guide.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_library.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_live_tv.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_log_in.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_main_menu.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_mini_guide.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_movies.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_on_demand.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_parental_controls.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_product_page.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_screen.rb +0 -24
- data/lib/User_Lib/screen/dta/dta_search.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_settings.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_tv_shows.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_video_store.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_dvr.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_guide.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_library.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_live_tv.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_log_in.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_main_menu.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_mini_guide.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_movies.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_on_demand.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_parental_controls.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_product_page.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_screen.rb +0 -24
- data/lib/User_Lib/screen/mdn/mdn_search.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_settings.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_tv_shows.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_video_store.rb +0 -26
- data/lib/User_Lib/screen/mobile/android/android_devices.rb +0 -35
- data/lib/User_Lib/screen/mobile/android/android_dvr.rb +0 -337
- data/lib/User_Lib/screen/mobile/android/android_favorites.rb +0 -164
- data/lib/User_Lib/screen/mobile/android/android_guide.rb +0 -256
- data/lib/User_Lib/screen/mobile/android/android_live_tv.rb +0 -372
- data/lib/User_Lib/screen/mobile/android/android_login.rb +0 -111
- data/lib/User_Lib/screen/mobile/android/android_main_menu.rb +0 -53
- data/lib/User_Lib/screen/mobile/android/android_on_demand.rb +0 -402
- data/lib/User_Lib/screen/mobile/android/android_parental_controls.rb +0 -73
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_dvr.rb +0 -31
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_guide.rb +0 -39
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_live_tv.rb +0 -104
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_main_menu.rb +0 -27
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_on_demand.rb +0 -35
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_product_page.rb +0 -7
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_search.rb +0 -26
- data/lib/User_Lib/screen/mobile/android/android_privacy_legal.rb +0 -54
- data/lib/User_Lib/screen/mobile/android/android_product_page.rb +0 -484
- data/lib/User_Lib/screen/mobile/android/android_screen.rb +0 -56
- data/lib/User_Lib/screen/mobile/android/android_search.rb +0 -39
- data/lib/User_Lib/screen/mobile/android/android_settings.rb +0 -90
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_dvr.rb +0 -58
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_guide.rb +0 -24
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_live_tv.rb +0 -24
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_main_menu.rb +0 -19
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_on_demand.rb +0 -16
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_product_page.rb +0 -45
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_search.rb +0 -14
- data/lib/User_Lib/screen/mobile/devices_mobile.rb +0 -53
- data/lib/User_Lib/screen/mobile/dvr_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/favorites_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/guide_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/ios/ios_devices.rb +0 -43
- data/lib/User_Lib/screen/mobile/ios/ios_dvr.rb +0 -231
- data/lib/User_Lib/screen/mobile/ios/ios_favorites.rb +0 -79
- data/lib/User_Lib/screen/mobile/ios/ios_guide.rb +0 -53
- data/lib/User_Lib/screen/mobile/ios/ios_live_tv.rb +0 -413
- data/lib/User_Lib/screen/mobile/ios/ios_login.rb +0 -76
- data/lib/User_Lib/screen/mobile/ios/ios_main_menu.rb +0 -38
- data/lib/User_Lib/screen/mobile/ios/ios_on_demand.rb +0 -371
- data/lib/User_Lib/screen/mobile/ios/ios_parental_controls.rb +0 -104
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_dvr.rb +0 -14
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_live_tv.rb +0 -36
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_main_menu.rb +0 -7
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_on_demand.rb +0 -7
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_search.rb +0 -13
- data/lib/User_Lib/screen/mobile/ios/ios_privacy_legal.rb +0 -56
- data/lib/User_Lib/screen/mobile/ios/ios_product_page.rb +0 -441
- data/lib/User_Lib/screen/mobile/ios/ios_screen.rb +0 -60
- data/lib/User_Lib/screen/mobile/ios/ios_search.rb +0 -145
- data/lib/User_Lib/screen/mobile/ios/ios_settings.rb +0 -34
- data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_live_tv.rb +0 -34
- data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_main_menu.rb +0 -7
- data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_on_demand.rb +0 -7
- data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_search.rb +0 -13
- data/lib/User_Lib/screen/mobile/live_tv_mobile.rb +0 -73
- data/lib/User_Lib/screen/mobile/login_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/main_menu_mobile.rb +0 -83
- data/lib/User_Lib/screen/mobile/mobile_screen.rb +0 -232
- data/lib/User_Lib/screen/mobile/on_demand_mobile.rb +0 -70
- data/lib/User_Lib/screen/mobile/parental_controls_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/privacy_legal_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/product_page_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/search_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/settings_mobile.rb +0 -33
- data/lib/User_Lib/screen/passport/passport_dvr.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_guide.rb +0 -37
- data/lib/User_Lib/screen/passport/passport_library.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_live_tv.rb +0 -17
- data/lib/User_Lib/screen/passport/passport_main_menu.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_mini_guide.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_movies.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_on_demand.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_parental_controls.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_product_page.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_screen.rb +0 -23
- data/lib/User_Lib/screen/passport/passport_search.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_settings.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_tv_shows.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_video_store.rb +0 -25
- data/lib/User_Lib/screen/roku/brs/roku_guide_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_home_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_live_tv_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_login_brs.rb +0 -103
- data/lib/User_Lib/screen/roku/brs/roku_main_menu_brs.rb +0 -46
- data/lib/User_Lib/screen/roku/brs/roku_on_demand_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_product_page_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_screen_brs.rb +0 -9
- data/lib/User_Lib/screen/roku/brs/roku_search_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_settings_brs.rb +0 -42
- data/lib/User_Lib/screen/roku/brs/roku_watch_later_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_welcome_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/roku_dvr.rb +0 -7
- data/lib/User_Lib/screen/roku/roku_guide.rb +0 -590
- data/lib/User_Lib/screen/roku/roku_home.rb +0 -346
- data/lib/User_Lib/screen/roku/roku_library.rb +0 -26
- data/lib/User_Lib/screen/roku/roku_live_tv.rb +0 -210
- data/lib/User_Lib/screen/roku/roku_login.rb +0 -795
- data/lib/User_Lib/screen/roku/roku_main_menu.rb +0 -425
- data/lib/User_Lib/screen/roku/roku_mini_guide.rb +0 -7
- data/lib/User_Lib/screen/roku/roku_on_demand.rb +0 -479
- data/lib/User_Lib/screen/roku/roku_product_page.rb +0 -483
- data/lib/User_Lib/screen/roku/roku_screen.rb +0 -85
- data/lib/User_Lib/screen/roku/roku_search.rb +0 -229
- data/lib/User_Lib/screen/roku/roku_settings.rb +0 -304
- data/lib/User_Lib/screen/roku/roku_watch_later.rb +0 -51
- data/lib/User_Lib/screen/roku/roku_welcome.rb +0 -10
- data/lib/User_Lib/screen/roku_tv/roku_tv_dvr.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_guide.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_home.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_library.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_live_tv.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_login.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_main_menu.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_mini_guide.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_on_demand.rb +0 -26
- data/lib/User_Lib/screen/roku_tv/roku_tv_product_page.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_screen.rb +0 -7
- data/lib/User_Lib/screen/roku_tv/roku_tv_search.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_settings.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_watch_later.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_welcome.rb +0 -14
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_dvr.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_guide.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_library.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_live_tv.rb +0 -21
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_login.rb +0 -13
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_main_menu.rb +0 -64
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_mini_guide.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_movies.rb +0 -140
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_on_demand.rb +0 -76
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_parental_controls.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_product_page.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_screen.rb +0 -74
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_search.rb +0 -29
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_settings.rb +0 -189
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_tv_shows.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_video_store.rb +0 -24
- data/lib/User_Lib/screen/sara/sara_dvr.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_guide.rb +0 -43
- data/lib/User_Lib/screen/sara/sara_library.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_live_tv.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_log_in.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_main_menu.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_mini_guide.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_movies.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_on_demand.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_parental_controls.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_product_page.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_screen.rb +0 -24
- data/lib/User_Lib/screen/sara/sara_search.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_settings.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_tv_shows.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_video_store.rb +0 -26
- data/lib/User_Lib/screen/stb/iguide/iguide_devices.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_dvr.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_favorites.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_guide.rb +0 -39
- data/lib/User_Lib/screen/stb/iguide/iguide_home.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_library.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_live_tv.rb +0 -59
- data/lib/User_Lib/screen/stb/iguide/iguide_login.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_main_menu.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_mini_guide.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_movies.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_on_demand.rb +0 -531
- data/lib/User_Lib/screen/stb/iguide/iguide_parental_controls.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_privacy_legal.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_product_page.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_quick_menu.rb +0 -7
- data/lib/User_Lib/screen/stb/iguide/iguide_screen.rb +0 -21
- data/lib/User_Lib/screen/stb/iguide/iguide_search.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_settings.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_tv_shows.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_video_store.rb +0 -10
- data/lib/User_Lib/screen/stb/login_stb.rb +0 -5
- data/lib/User_Lib/screen/stb/odn/odn_dvr.rb +0 -59
- data/lib/User_Lib/screen/stb/odn/odn_favorites.rb +0 -8
- data/lib/User_Lib/screen/stb/odn/odn_guide.rb +0 -177
- data/lib/User_Lib/screen/stb/odn/odn_live_tv.rb +0 -115
- data/lib/User_Lib/screen/stb/odn/odn_login.rb +0 -8
- data/lib/User_Lib/screen/stb/odn/odn_main_menu.rb +0 -175
- data/lib/User_Lib/screen/stb/odn/odn_on_demand.rb +0 -1170
- data/lib/User_Lib/screen/stb/odn/odn_on_demand_kids.rb +0 -23
- data/lib/User_Lib/screen/stb/odn/odn_on_demand_left_menu.rb +0 -180
- data/lib/User_Lib/screen/stb/odn/odn_parental_controls.rb +0 -9
- data/lib/User_Lib/screen/stb/odn/odn_product_page.rb +0 -8
- data/lib/User_Lib/screen/stb/odn/odn_screen.rb +0 -111
- data/lib/User_Lib/screen/stb/odn/odn_search.rb +0 -167
- data/lib/User_Lib/screen/stb/odn/odn_settings.rb +0 -142
- data/lib/User_Lib/screen/stb/spectrum/spectrum_diagnostics.rb +0 -27
- data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/screen_spectrum_docsis.rb +0 -12
- data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_guide.rb +0 -10
- data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_main_menu.rb +0 -10
- data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_settings.rb +0 -10
- data/lib/User_Lib/screen/stb/spectrum/spectrum_dvr.rb +0 -1781
- data/lib/User_Lib/screen/stb/spectrum/spectrum_guide.rb +0 -841
- data/lib/User_Lib/screen/stb/spectrum/spectrum_library.rb +0 -384
- data/lib/User_Lib/screen/stb/spectrum/spectrum_live_tv.rb +0 -259
- data/lib/User_Lib/screen/stb/spectrum/spectrum_main_menu.rb +0 -223
- data/lib/User_Lib/screen/stb/spectrum/spectrum_mini_guide.rb +0 -404
- data/lib/User_Lib/screen/stb/spectrum/spectrum_movies.rb +0 -420
- data/lib/User_Lib/screen/stb/spectrum/spectrum_netflix.rb +0 -37
- data/lib/User_Lib/screen/stb/spectrum/spectrum_on_demand.rb +0 -2137
- data/lib/User_Lib/screen/stb/spectrum/spectrum_parental_controls.rb +0 -528
- data/lib/User_Lib/screen/stb/spectrum/spectrum_pay_per_view.rb +0 -26
- data/lib/User_Lib/screen/stb/spectrum/spectrum_product_page.rb +0 -58
- data/lib/User_Lib/screen/stb/spectrum/spectrum_screen.rb +0 -48
- data/lib/User_Lib/screen/stb/spectrum/spectrum_search.rb +0 -92
- data/lib/User_Lib/screen/stb/spectrum/spectrum_settings.rb +0 -1657
- data/lib/User_Lib/screen/stb/spectrum/spectrum_tv_shows.rb +0 -1532
- data/lib/User_Lib/screen/stb/spectrum/spectrum_video_store.rb +0 -1598
- data/lib/User_Lib/screen/stb/stb_screen.rb +0 -7
- data/lib/User_Lib/screen/tivo/tivo_dvr.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_guide.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_library.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_live_tv.rb +0 -17
- data/lib/User_Lib/screen/tivo/tivo_login.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_main_menu.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_mini_guide.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_movies.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_on_demand.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_parental_controls.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_product_page.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_screen.rb +0 -20
- data/lib/User_Lib/screen/tivo/tivo_search.rb +0 -31
- data/lib/User_Lib/screen/tivo/tivo_settings.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_tv_shows.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_video_store.rb +0 -25
- data/lib/diagnostics/conductor/conductor_checkup.tmc +0 -24
- data/lib/diagnostics/db/mad_db_check.tmc +0 -56
- data/lib/diagnostics/db/mas_db_checkup.tmc +0 -24
- data/lib/diagnostics/db/mas_db_checkup_gem.tmc +0 -20
- data/lib/diagnostics/db/mas_db_checkup_jar.tmc +0 -50
- data/lib/diagnostics/iguide/iguide_nvram_reset.tmc +0 -23
- data/lib/diagnostics/iguide/iguide_prepare_stb.tmc +0 -33
- data/lib/diagnostics/iguide/iguide_prepare_stb_and_health_check.tmc +0 -63
- data/lib/diagnostics/iguide/iguide_stb_health_check.tmc +0 -54
- data/lib/diagnostics/prepare_stb.tmc +0 -30
- data/lib/diagnostics/prepare_stb_and_health_check.tmc +0 -56
- data/lib/diagnostics/script_options/options_checkup.tmc +0 -145
- data/lib/diagnostics/server_components_check.tmc +0 -62
- data/lib/diagnostics/ssh/dncs_checkup.tmc +0 -24
- data/lib/diagnostics/ssh/mas_checkup.tmc +0 -24
- data/lib/diagnostics/stb_health_check.tmc +0 -46
- data/lib/diagnostics/stb_ip_check.tmc +0 -120
- data/lib/diagnostics/webservices/mas_rest_services_checkup.tmc +0 -24
- data/lib/diagnostics/webservices/mas_soap_services_checkup.tmc +0 -24
- data/lib/end_iteration.rb +0 -4
- data/lib/lib/test_wrapper.rb +0 -146
- data/lib/run_test.rb +0 -4
- data/lib/script_validator.rb +0 -48
@@ -1,43 +0,0 @@
|
|
1
|
-
require './lib/screen/mobile/ios/ios_screen'
|
2
|
-
require './lib/screen/mobile/devices_mobile'
|
3
|
-
|
4
|
-
# Defines iOS-specific methods on the Devices screen
|
5
|
-
|
6
|
-
class IosDevices < IosScreen
|
7
|
-
include DevicesMobile
|
8
|
-
|
9
|
-
# Public: Returns the list of devices
|
10
|
-
#
|
11
|
-
# Returns the list of deviceses
|
12
|
-
def get_devices
|
13
|
-
dut.elements({:type => 'UIATableCell', :min => 1, :info => [:name]})
|
14
|
-
end
|
15
|
-
|
16
|
-
# Public: Returns the elements for the enabled image areas
|
17
|
-
#
|
18
|
-
# Returns the elements for the enabled image areasas
|
19
|
-
def get_enabled_image_areas
|
20
|
-
fract = 0.2
|
21
|
-
dut.elements({:type => 'UIATableCell', :info => [:x, :y, :width, :height]}).map do |cell|
|
22
|
-
# Only the right fraction of each cell
|
23
|
-
new_w = cell[:width] * fract
|
24
|
-
new_x = (cell[:x] + cell[:width]) - new_w
|
25
|
-
cell[:width] = new_w
|
26
|
-
cell[:x] = new_x
|
27
|
-
cell
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
# Public: Selects the device given by name or index
|
32
|
-
#
|
33
|
-
# name_or_index - name or index of device
|
34
|
-
#
|
35
|
-
# Returns true if successfully selected the device given by name or index, otherwise falsese
|
36
|
-
def select_device?(name_or_index)
|
37
|
-
if name_or_index.is_a?(String)
|
38
|
-
name_or_index = get_devices.index(name_or_index) + 1
|
39
|
-
end
|
40
|
-
dut.tap?({:type => 'UIATableCell', :x => 0.9, :index => name_or_index})
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|
@@ -1,231 +0,0 @@
|
|
1
|
-
require './lib/screen/mobile/ios/ios_screen'
|
2
|
-
require './lib/screen/mobile/dvr_mobile'
|
3
|
-
|
4
|
-
# Defines iOS-specific methods on the DVR screen
|
5
|
-
|
6
|
-
class IosDvr < IosScreen
|
7
|
-
include DvrMobile
|
8
|
-
|
9
|
-
# Public: Taps on edit button in DVR Manager
|
10
|
-
#
|
11
|
-
# Returns true if button is successfully tapped, otherwise false
|
12
|
-
def edit_recordings?
|
13
|
-
dut.tap?({:name => 'Edit'})
|
14
|
-
end
|
15
|
-
|
16
|
-
# Public: Checks checkbox indicated by index number
|
17
|
-
#
|
18
|
-
# index - index number of checkbox
|
19
|
-
#
|
20
|
-
# Examples:
|
21
|
-
# dut.screens.dvr.check_box?(2)
|
22
|
-
# # => 'True'
|
23
|
-
#
|
24
|
-
# Returns true if successfully checked the box given by index, otherwise false
|
25
|
-
def check_box?(index)
|
26
|
-
dut.tap?({:name => 'regexp:rdvr checkBoxes', :index => index})
|
27
|
-
end
|
28
|
-
|
29
|
-
# Public: Returns the title of the show given by index
|
30
|
-
#
|
31
|
-
# index - index number of show title to retrieve
|
32
|
-
#
|
33
|
-
# Examples:
|
34
|
-
# dut.screens.dvr.get_show_title(2)
|
35
|
-
# # => 'NCIS'
|
36
|
-
#
|
37
|
-
# Returns the title of the show given by index
|
38
|
-
def get_show_title(index)
|
39
|
-
dut.element({:type => 'UIATableCell', :is_visible => true, :info => [:name], :index => index})
|
40
|
-
end
|
41
|
-
|
42
|
-
# Public: Click on delete button after selecting recorded shows to delete
|
43
|
-
#
|
44
|
-
# Returns true if successfully clicked Delete Recordings, otherwise false
|
45
|
-
def delete_recordings?
|
46
|
-
dut.tap?({:name => 'regexp:Delete [0-9]+ recordings'})
|
47
|
-
end
|
48
|
-
|
49
|
-
# Public: Taps on cancel button after selecting recorded show to delete
|
50
|
-
#
|
51
|
-
# Returns true if successfully canceled deletion, otherwise false
|
52
|
-
def cancel_delete?
|
53
|
-
dut.tap?({:description => 'No'})
|
54
|
-
end
|
55
|
-
|
56
|
-
# Public: Searches for specified show title
|
57
|
-
#
|
58
|
-
# title - name of show to be searched for
|
59
|
-
#
|
60
|
-
# Examples:
|
61
|
-
# dut.screens.dvr.show_title?("NCIS")
|
62
|
-
# # => 'True'
|
63
|
-
#
|
64
|
-
# Returns true if the given show title is found, otherwise false
|
65
|
-
def show_title_found?(title)
|
66
|
-
dut.element?({:name => title, :type => 'UIATableCell'})
|
67
|
-
end
|
68
|
-
|
69
|
-
# Public: Checks if DVR Manager was displayed properly
|
70
|
-
#
|
71
|
-
# Returns true if the page was displayed as required, otherwise false
|
72
|
-
def displayed?
|
73
|
-
dut.element?({:name => 'DVR Manager', :type => 'UIANavigationBar', :is_visible => true, :is_on_screen => true})
|
74
|
-
end
|
75
|
-
|
76
|
-
# Public: Searches for given tab name
|
77
|
-
#
|
78
|
-
# tab_name - name of tab to be searched for
|
79
|
-
#
|
80
|
-
# Examples:
|
81
|
-
# dut.screens.dvr.is_tab?("My Recordings")
|
82
|
-
# # => 'True'
|
83
|
-
#
|
84
|
-
# Returns true if the given tab is visible, otherwise false
|
85
|
-
def is_tab?(tab_name)
|
86
|
-
dut.element?({:name => tab_name, :is_visible => true, :is_on_screen => true})
|
87
|
-
end
|
88
|
-
|
89
|
-
# Public: Returns the number of devices
|
90
|
-
#
|
91
|
-
# Examples:
|
92
|
-
# dut.screens.dvr.device_count
|
93
|
-
# # => '3'
|
94
|
-
#
|
95
|
-
# Returns the number of devices
|
96
|
-
def device_count
|
97
|
-
tcfail('Failed to expand device list!') unless dut.tap?({:name => 'settings icon tv'})
|
98
|
-
dut.elements({:name => 'regexp:^icon ', :info => [:name]}).count
|
99
|
-
end
|
100
|
-
|
101
|
-
# Public: Returns the series title at the given index
|
102
|
-
#
|
103
|
-
# index - index of the series to get the title of
|
104
|
-
#
|
105
|
-
# Examples:
|
106
|
-
# dut.screens.dvr.get_series_title(2)
|
107
|
-
# # => 'NCIS'
|
108
|
-
#
|
109
|
-
# Returns the series title at the given index (1-based)
|
110
|
-
def get_series_title(index)
|
111
|
-
dut.element({:type => 'UIATableCell', :is_visible => true, :index => index, :info => [:name]})
|
112
|
-
end
|
113
|
-
|
114
|
-
# Public: Selects a series given by name or index
|
115
|
-
#
|
116
|
-
# name_or_index - Name or index of sereies to select
|
117
|
-
#
|
118
|
-
# Examples:
|
119
|
-
# dut.screens.dvr.select_series?("NCIS")
|
120
|
-
# OR
|
121
|
-
# dut.screens.dvr.select_series?(2)
|
122
|
-
# # => 'True'
|
123
|
-
#
|
124
|
-
# Returns true if successfully selected the series given by name or index (1-based), otherwise false
|
125
|
-
def select_series?(name_or_index)
|
126
|
-
if name_or_index.is_a?(Fixnum)
|
127
|
-
dut.tap?({:type => 'UIATableCell', :is_visible => true, :index => name_or_index})
|
128
|
-
else
|
129
|
-
dut.tap?({:type => 'UIATableCell', :name => name_or_index})
|
130
|
-
end
|
131
|
-
end
|
132
|
-
|
133
|
-
# Public: Selects the episode given by the name or index
|
134
|
-
#
|
135
|
-
# name_or_index - name or index of the episode to be selected
|
136
|
-
#
|
137
|
-
# Examples:
|
138
|
-
# dut.screens.dvr.select_episode?("Outside")
|
139
|
-
# OR
|
140
|
-
# dut.screens.dvr.select_episode?(3)
|
141
|
-
# # => 'True'
|
142
|
-
#
|
143
|
-
# Returns true if successfully selected the episode given by name or index (1-based), otherwise false
|
144
|
-
def select_episode?(name_or_index)
|
145
|
-
if name_or_index.is_a?(Fixnum)
|
146
|
-
#TODO: We need a better way to identify these so we don't have to use this silly regex
|
147
|
-
dut.tap?({:name => 'regexp:^S\d+ E\d+$', :index => name_or_index})
|
148
|
-
else
|
149
|
-
dut.tap?({:type => 'UIATableCell', :name => name_or_index})
|
150
|
-
end
|
151
|
-
end
|
152
|
-
|
153
|
-
# Public: Looks to see if Cancel button exists
|
154
|
-
#
|
155
|
-
# Returns true if Cancel button exists
|
156
|
-
def cancel_exist?
|
157
|
-
dut.element?({:name => 'Cancel'})
|
158
|
-
end
|
159
|
-
|
160
|
-
# Public: Checks if at least one checkbox exists
|
161
|
-
#
|
162
|
-
# Returns true if at least one delete checkbox is found
|
163
|
-
def delete_checkboxes_exist?
|
164
|
-
dut.elements?({:name => 'rdvr checkBoxes justbox', :min => 1})
|
165
|
-
end
|
166
|
-
|
167
|
-
# Public: Checks if 'Date Recorded' and 'A-Z' tabs exist
|
168
|
-
#
|
169
|
-
# Returns true if 'Date Recorded' and 'A-Z' tabs exist
|
170
|
-
def tabs_exist?
|
171
|
-
dut.element?({:name => 'Date Recorded'})
|
172
|
-
dut.element?({:name => 'A-Z'})
|
173
|
-
end
|
174
|
-
|
175
|
-
# Public: Checks to see if deletion instructions exist
|
176
|
-
#
|
177
|
-
# Returns true if deletion instructions are found
|
178
|
-
def instructions_exist?
|
179
|
-
dut.element?({:name => 'Select one or more recordings to delete from your DVR'})
|
180
|
-
end
|
181
|
-
|
182
|
-
# Public: Checks a delete box indicated by index number
|
183
|
-
#
|
184
|
-
# index - index number of episode to be checked
|
185
|
-
#
|
186
|
-
# Examples:
|
187
|
-
# dut.screens.dvr.select_episode_index?(2)
|
188
|
-
# # => 'True'
|
189
|
-
#
|
190
|
-
# Returns true if delete box was checked successfully
|
191
|
-
def select_episode_index?(index)
|
192
|
-
dut.tap?({:name => 'regexp:rdvr checkBoxes', :index => index})
|
193
|
-
end
|
194
|
-
|
195
|
-
# Public: Checks to see if delete button exists
|
196
|
-
#
|
197
|
-
# Returns true if delete button exists
|
198
|
-
def delete_button_exists?
|
199
|
-
dut.element?({:name => 'regexp:Delete [0-9]+ recording'})
|
200
|
-
end
|
201
|
-
|
202
|
-
# Public: Checks to see if the checkbox has changed to a dash after some, but not all, episodes in a series are selected
|
203
|
-
#
|
204
|
-
# Returns true if checkbox changes to a dash
|
205
|
-
def checkbox_dash_exists?
|
206
|
-
dut.element?({:name => 'rdvr checkBoxes minus'})
|
207
|
-
end
|
208
|
-
|
209
|
-
# Public: Gets number of episodes from text
|
210
|
-
#
|
211
|
-
# Examples:
|
212
|
-
# dut.screens.dvr.get_number_episodes
|
213
|
-
# # => '4'
|
214
|
-
#
|
215
|
-
# Returns text from number of episodes
|
216
|
-
def get_number_episodes
|
217
|
-
dut.element({:name => 'regexp:[0-9] Episodes', :index => 1})[:name]
|
218
|
-
end
|
219
|
-
|
220
|
-
# Public: Gets text displayed on delete button
|
221
|
-
#
|
222
|
-
# Examples:
|
223
|
-
# dut.screens.dvr.get_delete_button_text
|
224
|
-
# # => 'Delete'
|
225
|
-
#
|
226
|
-
# Returns text on delete button
|
227
|
-
def get_delete_button_text
|
228
|
-
dut.element({:name => 'regexp:Delete [0-9]+ recording'})[:name]
|
229
|
-
end
|
230
|
-
|
231
|
-
end
|
@@ -1,79 +0,0 @@
|
|
1
|
-
require './lib/screen/mobile/ios/ios_screen'
|
2
|
-
require './lib/screen/mobile/favorites_mobile'
|
3
|
-
|
4
|
-
# Defines iOS-specific methods on the Favorites screen
|
5
|
-
|
6
|
-
class IosFavorites < IosScreen
|
7
|
-
include FavoritesMobile
|
8
|
-
|
9
|
-
# Public: Checks if favorites screen is displayed
|
10
|
-
#
|
11
|
-
# Returns true if the Favorites screen is displayed, otherwise false
|
12
|
-
def displayed?
|
13
|
-
dut.elements?({:name => 'HeartSmall', :min => 1})
|
14
|
-
end
|
15
|
-
|
16
|
-
# Public: Gets the callsign of the first channel that is not a favorite
|
17
|
-
#
|
18
|
-
# Examples:
|
19
|
-
# dut.screens.favorites.get_non_favorite
|
20
|
-
# # => 'WBTVDT'
|
21
|
-
#
|
22
|
-
# Returns the callsign of the first channel that is not a favorite
|
23
|
-
# This entry can and will return nil. You should absolutely always
|
24
|
-
# test for nil prior to using the result.
|
25
|
-
def get_non_favorite
|
26
|
-
callsigns = []
|
27
|
-
static_txts = get_cached_elements.select {|e| e[:type].eql?('UIAStaticText') && e[:is_visible] && e[:is_on_screen]}
|
28
|
-
(2..static_txts.count - 1).step(2) do |i|
|
29
|
-
callsigns << static_txts[i][:text]
|
30
|
-
end
|
31
|
-
favorite_roi = dut.roi.image.highlight
|
32
|
-
get_cached_elements.select {|e| e[:name].eql?('HeartSmall')}.each_with_index do |elem, i|
|
33
|
-
# Return the first one which is not highlighted
|
34
|
-
favorite_roi.x = elem[:x]
|
35
|
-
favorite_roi.y = elem[:y]
|
36
|
-
favorite_roi.width = elem[:width]
|
37
|
-
favorite_roi.height = elem[:height]
|
38
|
-
return callsigns[i] unless favorite_roi.displayed?(:timeout => 30.sec)
|
39
|
-
end
|
40
|
-
nil
|
41
|
-
end
|
42
|
-
|
43
|
-
# Public: Clicks on callsign to toggle a Favorite
|
44
|
-
#
|
45
|
-
# callsign - text next to channel number to click on
|
46
|
-
#
|
47
|
-
# Examples:
|
48
|
-
# dut.screens.favorites.toggle?("WBTVDT")
|
49
|
-
# # => 'True'
|
50
|
-
#
|
51
|
-
# Returns true if successfully clicked the given callsign to toggle a favorite
|
52
|
-
def toggle?(callsign)
|
53
|
-
dut.tap?({:name => callsign, :is_visible => true, :is_on_screen => true})
|
54
|
-
end
|
55
|
-
|
56
|
-
# Public: Checks a given channel to see if it is favorite
|
57
|
-
#
|
58
|
-
# callsign - text next to channel to check
|
59
|
-
#
|
60
|
-
# Examples:
|
61
|
-
# dut.screens.favorites.is_favorite?("WJZYDT")
|
62
|
-
# # => 'True'
|
63
|
-
#
|
64
|
-
# Returns true if the channel given by callsign is a favorite, otherwise false
|
65
|
-
def is_favorite?(callsign)
|
66
|
-
static_txts = get_cached_elements.select do |e|
|
67
|
-
e[:type].eql?('UIAStaticText') && e[:is_visible] && e[:is_on_screen]
|
68
|
-
end.map {|e| e[:text]}
|
69
|
-
i = (static_txts.index(callsign) - 2) / 2
|
70
|
-
heart = dut.element(:name => 'HeartSmall', :index => i + 1)
|
71
|
-
favorite_roi = dut.roi.image.highlight
|
72
|
-
favorite_roi.x = heart[:x]
|
73
|
-
favorite_roi.y = heart[:y]
|
74
|
-
favorite_roi.width = heart[:width]
|
75
|
-
favorite_roi.height = heart[:height]
|
76
|
-
favorite_roi.displayed?(:timeout => 30.sec)
|
77
|
-
end
|
78
|
-
|
79
|
-
end
|
@@ -1,53 +0,0 @@
|
|
1
|
-
require './lib/screen/mobile/ios/ios_screen'
|
2
|
-
require './lib/screen/mobile/guide_mobile'
|
3
|
-
|
4
|
-
# Defines iOS-specific methods on the Guide screen
|
5
|
-
|
6
|
-
class IosGuide < IosScreen
|
7
|
-
include GuideMobile
|
8
|
-
|
9
|
-
# Public: Taps the button to select filter
|
10
|
-
#
|
11
|
-
# Returns true if button is tapped successfully
|
12
|
-
def go_to_filter?
|
13
|
-
dut.tap?({:name => 'Filter'})
|
14
|
-
end
|
15
|
-
|
16
|
-
# Public: Checks to see if given filter is present
|
17
|
-
#
|
18
|
-
# regex - string to look for
|
19
|
-
#
|
20
|
-
# Examples:
|
21
|
-
# dut.screens.guide.is_filter_present?("Favorites")
|
22
|
-
# # => 'True'
|
23
|
-
#
|
24
|
-
# Returns true if the filter given by the regex is present, otherwise falsese
|
25
|
-
def is_filter_present?(regex)
|
26
|
-
raise 'Failed to determine filters for iOS! Filter elements are not retrievable!'
|
27
|
-
end
|
28
|
-
|
29
|
-
# Returns a list of all currently visible shows by title, i.e. ["Dr. Phil", "Maury"]
|
30
|
-
def get_visible_titles(args = {})
|
31
|
-
raise 'Failed to get visible titles for iOS! Titles are not retrievable!'
|
32
|
-
#titles = until_not_empty(args) do
|
33
|
-
# dut.find_elements({:type => 'show'}, $sleep_time).map {|c| c['text']}
|
34
|
-
#end
|
35
|
-
#loginfo2("Visible titles: #{titles.map {|t| %Q("#{t}")}.join(', ')}")
|
36
|
-
#titles
|
37
|
-
end
|
38
|
-
|
39
|
-
# Returns the element for the scroll area
|
40
|
-
def get_scroll_area
|
41
|
-
# TODO: could move get_cached_elements into TMC server as param to find_elements, etc.
|
42
|
-
elements = get_cached_elements.select {|e| e[:type].eql?('UIAScrollView')}
|
43
|
-
tcfail 'More than one scroll area!' unless elements.count == 1
|
44
|
-
elements.first
|
45
|
-
end
|
46
|
-
|
47
|
-
# Returns the currently-displayed date as a hash with keys [:day, :date, :time]
|
48
|
-
def get_date
|
49
|
-
static_texts = dut.elements({:type => 'UIAStaticText', :is_on_screen => true, :info => [:name]})
|
50
|
-
{:day => static_texts[0], :date => static_texts[1], :time => static_texts[2]}
|
51
|
-
end
|
52
|
-
|
53
|
-
end
|
@@ -1,413 +0,0 @@
|
|
1
|
-
require './lib/screen/mobile/ios/ios_screen'
|
2
|
-
require './lib/screen/mobile/live_tv_mobile'
|
3
|
-
|
4
|
-
# Defines iOS-specific methods on the Live TV screen
|
5
|
-
|
6
|
-
class IosLiveTv < IosScreen
|
7
|
-
include LiveTvMobile
|
8
|
-
|
9
|
-
# Returns true if the mini guide is visible, otherwise false
|
10
|
-
def mini_guide_visible?
|
11
|
-
dut.element?(:name => 'channelTable', :many_elements => true)
|
12
|
-
end
|
13
|
-
|
14
|
-
# Returns a list of all currently visible channels' elements
|
15
|
-
def get_visible_channel_titles(args={})
|
16
|
-
elements = args.fetch(:elements, false)
|
17
|
-
timeout = args.fetch(:timeout, 3.min)
|
18
|
-
area = scroll_area
|
19
|
-
chans = until_not_empty(:timeout => timeout) do
|
20
|
-
ret = dut.elements({:type => 'UIATableCell', :name => 'regexp:.+', :is_visible => true, :is_on_screen => true,
|
21
|
-
:min => 1, :timeout => timeout}) || []
|
22
|
-
ret = ret.select { |e| e[:y] < (area[:y] + area[:height]) }
|
23
|
-
ret = ret.map { |e| e[:name] } unless elements
|
24
|
-
ret
|
25
|
-
end
|
26
|
-
logger.info("Visible channel titles: #{(elements ? chans.map {|e| e[:name]} : chans).inspect}")
|
27
|
-
chans
|
28
|
-
end
|
29
|
-
|
30
|
-
# Returns a list of all currently visible channel numbers' elements
|
31
|
-
def get_visible_channel_numbers(args={})
|
32
|
-
elements = args.fetch(:elements, false)
|
33
|
-
timeout = args.fetch(:timeout, 3.min)
|
34
|
-
area = scroll_area
|
35
|
-
chans = until_not_empty(:timeout => timeout) do
|
36
|
-
ret = get_cached_elements(:refresh => true).select do |e|
|
37
|
-
e[:type].eql?('UIAStaticText') && e[:is_on_screen] && e[:is_visible] && !e[:name].match(/^Ch \d+$/).nil?
|
38
|
-
end
|
39
|
-
ret = ret.select { |e| e[:y] < (area[:y] + area[:height]) }
|
40
|
-
ret = ret.map {|e| e[:name]} unless elements
|
41
|
-
ret.uniq
|
42
|
-
end
|
43
|
-
logger.info("Visible channel numbers: #{(elements ? chans.map {|e| e[:name]} : chans).inspect}")
|
44
|
-
chans
|
45
|
-
end
|
46
|
-
|
47
|
-
# Attempts to "watch" n channels by just clicking on them. Returns a list of the watched channel numbers if
|
48
|
-
# successful, otherwise fails the test.
|
49
|
-
def watch_channels(n, args={})
|
50
|
-
watched = args.fetch(:already_watched, [])
|
51
|
-
timeout_s = args.fetch(:timeout, 600.sec) / 1.sec
|
52
|
-
area = scroll_area
|
53
|
-
start_time = Time.now
|
54
|
-
while (Time.now - start_time) <= timeout_s
|
55
|
-
# Watch all the visible channels
|
56
|
-
visible_chans = get_visible_channel_numbers(:elements => true)
|
57
|
-
visible_chans.each do |chan|
|
58
|
-
chan_num = chan[:name]
|
59
|
-
next if watched.include?(chan_num) # no need to watch the same channel twice
|
60
|
-
y_pct = chan == visible_chans.first ? 0.99 : 0.01
|
61
|
-
tcfail "Failed to tap #{chan_num}!" unless dut.tap?({:name => chan_num, :type => 'UIAStaticText',
|
62
|
-
:is_visible => true, :is_on_screen => true, :index => 1,
|
63
|
-
:y => y_pct})
|
64
|
-
enter_pin_once
|
65
|
-
dismiss_hint_once
|
66
|
-
watched << chan_num
|
67
|
-
break if watched.count == n
|
68
|
-
end
|
69
|
-
break if watched.count == n
|
70
|
-
tcfail 'Failed to scroll down!' unless dut.screens.live_tv.scroll_down?(1, :area => area)
|
71
|
-
end
|
72
|
-
tcfail "Failed to watch #{n} channels!" unless watched.count == n
|
73
|
-
watched
|
74
|
-
end
|
75
|
-
|
76
|
-
# Returns a list of the elements for the Recently Watched channels
|
77
|
-
def get_all_recently_watched
|
78
|
-
dut.elements({:type => 'UIACollectionCell', :name => 'regexp:^(?!clear_recents_showcard)'}) || []
|
79
|
-
end
|
80
|
-
|
81
|
-
def select_recently_watched?(n, args={})
|
82
|
-
timeout = args.fetch(:timeout, 30.sec)
|
83
|
-
dut.tap?({:type => 'UIACollectionCell', :name => 'regexp:^(?!clear_recents_showcard)', :index => n,
|
84
|
-
:timeout => timeout})
|
85
|
-
end
|
86
|
-
|
87
|
-
# Returns true if successfully tapped the playing Live TV video content, otherwise false
|
88
|
-
def tap_video?
|
89
|
-
if dut.element?({:name => 'This show is blocked by Parental Controls', :is_visible => true, :many_elements => true})
|
90
|
-
tcfail 'Failed to tap highlighted channel!' unless dut.tap?(
|
91
|
-
{:name => get_highlighted_channel[:title], :type => 'UIATableCell', :many_elements => true})
|
92
|
-
tcfail 'Failed to enter PIN!' unless enter_pin?
|
93
|
-
sleep(5.sec) # Give it some time, otherwise we start looking right away and it takes longer...
|
94
|
-
end
|
95
|
-
#TODO: on the tablet, the UIAScrollView is the whole screen, even if video isn't.
|
96
|
-
dut.tap?({:type => 'UIAScrollView', :timeout => 2.min, :index => 1})
|
97
|
-
end
|
98
|
-
|
99
|
-
# Returns true if video is playing, otherwise false
|
100
|
-
def video_playing?(args={})
|
101
|
-
if dut.element?({:name => 'This show is blocked by Parental Controls', :is_visible => true, :timeout => 2.min})
|
102
|
-
tcfail 'Failed to tap highlighted channel!' unless dut.tap?(
|
103
|
-
{:name => get_highlighted_channel[:title], :type => 'UIATableCell'})
|
104
|
-
tcfail 'Failed to enter PIN!' unless enter_pin?
|
105
|
-
sleep(5.sec) # Give it some time, otherwise we start looking right away and it takes longer...
|
106
|
-
end
|
107
|
-
area = args[:area] || video_area
|
108
|
-
dut.roi.video.new(:element => area, :threshold => 10).displayed?(args)
|
109
|
-
end
|
110
|
-
|
111
|
-
# Returns true if the video is fullscreen, otherwise false
|
112
|
-
def fullscreen?
|
113
|
-
logger.info('Checking if video is full-screen')
|
114
|
-
exp_res = dut.resolution.values.sort
|
115
|
-
video_res = get_video_size.values.sort
|
116
|
-
new_video_res = nil
|
117
|
-
until new_video_res == video_res
|
118
|
-
new_video_res = get_video_size.values.sort
|
119
|
-
end
|
120
|
-
logger.info("Expected resolution: #{exp_res.join('x')}")
|
121
|
-
logger.info("Video resolution: #{video_res.join('x')}")
|
122
|
-
video_res == exp_res
|
123
|
-
end
|
124
|
-
|
125
|
-
# Returns the element for the scroll area
|
126
|
-
def scroll_area
|
127
|
-
area = dut.element({:name => 'channelTable'})
|
128
|
-
tcfail 'Failed to get scroll area!' if area.nil?
|
129
|
-
# Reduce height to account for navigation menu
|
130
|
-
nav = dut.element({:type => 'UIATabBar'})
|
131
|
-
area[:height] -= nav[:height] unless nav.nil?
|
132
|
-
area
|
133
|
-
end
|
134
|
-
|
135
|
-
# Returns true if the navigation menu is visible, otherwise false
|
136
|
-
def navigation_menu_visible?
|
137
|
-
buttons = dut.elements({:type => 'UIAButton', :is_on_screen => true, :is_visible => true, :info => [:name]})
|
138
|
-
['Live', 'Guide', 'DVR Manager', 'On Demand', 'Settings'].each do |opt|
|
139
|
-
unless buttons.count(opt) == 1
|
140
|
-
return false
|
141
|
-
end
|
142
|
-
end
|
143
|
-
true
|
144
|
-
end
|
145
|
-
|
146
|
-
# Returns true if successfully chose to open filters, otherwise false
|
147
|
-
def open_filters?
|
148
|
-
dut.tap?({:name => 'live2 filter icon', :many_elements => true})
|
149
|
-
end
|
150
|
-
|
151
|
-
# Returns true if successfully chose to sort by title, otherwise false
|
152
|
-
def sort_by_title?
|
153
|
-
sort_by?('Show Title A - Z')
|
154
|
-
end
|
155
|
-
|
156
|
-
# Returns true if successfully chose to sort by channel number, otherwise false
|
157
|
-
def sort_by_channel_number?
|
158
|
-
sort_by?('Channel Number')
|
159
|
-
end
|
160
|
-
|
161
|
-
# Returns true if successfully chose to sort by network, otherwise false
|
162
|
-
def sort_by_netowrk?
|
163
|
-
sort_by?('Network A - Z')
|
164
|
-
end
|
165
|
-
|
166
|
-
def sort_by?(sort)
|
167
|
-
logger.info("Sorting by #{sort.inspect}")
|
168
|
-
filter_by?(sort)
|
169
|
-
end
|
170
|
-
|
171
|
-
# Returns true if successfully chose the given filter, otherwise false
|
172
|
-
def filter_by?(filter)
|
173
|
-
logger.info("Filtering by #{filter.inspect}")
|
174
|
-
if open_filters?
|
175
|
-
sleep(5.sec) # give some time for the filters to show up
|
176
|
-
elements = dut.elements
|
177
|
-
visible_filters = elements.select do |e|
|
178
|
-
e[:type].eql?('UIATableCell') && e[:is_on_screen] && e[:is_visible]
|
179
|
-
end.map { |f| f[:name].strip }
|
180
|
-
logger.info("Visible filters: #{visible_filters.inspect}")
|
181
|
-
navbar = elements.select { |e| e[:type].eql?('UIATabBar') }.first
|
182
|
-
area = elements.select { |e| e[:name].eql?('channelTable') }.first
|
183
|
-
area[:height] -= navbar[:height]
|
184
|
-
scroll_dir = :down
|
185
|
-
last_filters = nil
|
186
|
-
start_time = Time.now
|
187
|
-
while (Time.now - start_time) <= 600 # 10 minutes
|
188
|
-
logger.info('Locating filter')
|
189
|
-
if visible_filters.include?(filter)
|
190
|
-
return false unless dut.tap?({:name => "regexp:#{filter}", :index => 1, :timeout => 0.sec}, :sleep_time => 2.sec)
|
191
|
-
return true
|
192
|
-
end
|
193
|
-
if visible_filters == last_filters
|
194
|
-
scroll_dir = scroll_dir.eql?(:down) ? :up : :down
|
195
|
-
end
|
196
|
-
last_filters = visible_filters
|
197
|
-
scroll?(scroll_dir, 1, :area => area, :sleep_time => 500.ms)
|
198
|
-
visible_filters = dut.elements(
|
199
|
-
{:type => 'UIATableCell', :is_on_screen => true, :is_visible => true, :info => [:name]})
|
200
|
-
end
|
201
|
-
logger.info('Failed to locate filter')
|
202
|
-
end
|
203
|
-
false
|
204
|
-
end
|
205
|
-
|
206
|
-
# Returns a hash with keys :width and :height for the video content
|
207
|
-
def get_video_size
|
208
|
-
# TODO: Rest server should round to the nearest 1/scaleFactor
|
209
|
-
#TODO: on the tablet, the UIAScrollView is the whole screen, even if video isn't.
|
210
|
-
area = dut.element({:type => 'UIAScrollView', :index => 1, :timeout => 2.min})
|
211
|
-
{:width => area[:width].round, :height => area[:height].round}
|
212
|
-
end
|
213
|
-
|
214
|
-
# Returns the element for the video area
|
215
|
-
def video_area
|
216
|
-
#TODO: on the tablet, the UIAScrollView is the whole screen, even if video isn't.
|
217
|
-
area = dut.element({:type => 'UIAScrollView', :index => 1, :timeout => 2.min})
|
218
|
-
# Bound it to the screen resolution if needed
|
219
|
-
res = dut.resolution
|
220
|
-
[[:x, :width], [:y, :height]].each do |coord, dimension|
|
221
|
-
if (area[coord] + area[dimension]) > res[dimension]
|
222
|
-
area[dimension] -= area[coord]
|
223
|
-
end
|
224
|
-
end
|
225
|
-
area
|
226
|
-
end
|
227
|
-
|
228
|
-
# Verifies Recently Watched channels contains the given channels and that it behaves as a FIFO. Fails the test if
|
229
|
-
# unsuccessful.
|
230
|
-
def verify_recently_watched(channels)
|
231
|
-
logger.info("Verifying Recently Watched contains: #{channels.inspect}")
|
232
|
-
recently_watched = get_all_recently_watched
|
233
|
-
tcfail("Found #{recently_watched.count} Recently Watched!") unless recently_watched.count == 8
|
234
|
-
# Verify required channels are in "Recently Watched"
|
235
|
-
area = video_area
|
236
|
-
last = channels.count
|
237
|
-
while channels.count > 0
|
238
|
-
# Swipe right until we can select the "oldest" recently watched channel
|
239
|
-
until select_recently_watched?(last, :timeout => 0.sec)
|
240
|
-
tcfail('Failed to scroll right!') unless dut.screens.live_tv.scroll_left?(1, :area => area)
|
241
|
-
sleep(5.sec)
|
242
|
-
end
|
243
|
-
# Verify the highlighted channel number matches the expected one
|
244
|
-
highlighted = get_highlighted_channel
|
245
|
-
matches = highlighted[:number].eql?(channels.first)
|
246
|
-
matches_str = matches ? 'matches' : 'does not match'
|
247
|
-
logger.info("Highlighted channel (#{highlighted[:number]}) #{matches_str} expected channel (#{channels.first})")
|
248
|
-
tcfail('Recently Watched verification failed!') unless matches
|
249
|
-
channels.shift
|
250
|
-
end
|
251
|
-
end
|
252
|
-
|
253
|
-
# Returns a hash with keys :name and :number for the highlighted channel
|
254
|
-
def get_highlighted_channel(args={})
|
255
|
-
logger.info('Getting highlighted channel')
|
256
|
-
sleep 15.sec
|
257
|
-
chan_names = until_not_empty(:timeout => 3.min) do
|
258
|
-
get_visible_channel_titles
|
259
|
-
end
|
260
|
-
timeout = args.fetch(:timeout, 5.min)
|
261
|
-
start_time = Time.now
|
262
|
-
while (Time.now - start_time) <= (timeout / 1.sec)
|
263
|
-
chan_names.each do |chan_name|
|
264
|
-
# There are 2 if this is the highlighted one. Pick the one that is inside the table cell of the same name.
|
265
|
-
cell = dut.elements({:name => chan_name, :type => 'UIATableCell'}).first
|
266
|
-
if (cell.nil?)
|
267
|
-
tcfail "Was not able to get a UIATableCell in ios_live_tv.rb function get_highlighted_channel"
|
268
|
-
end
|
269
|
-
right = cell[:x] + cell[:width]
|
270
|
-
bottom = cell[:y] + cell[:height]
|
271
|
-
logger.info("Looking for channel title")
|
272
|
-
chan_title = until_not_nil(:timeout => 3.min) do
|
273
|
-
logger.info("Looking for an element with a name of #{chan_name}")
|
274
|
-
chan_titles = dut.elements({:name => chan_name, :type => 'UIAStaticText', :timeout => 30.sec})
|
275
|
-
chan_titles.select { |c| c[:x] > cell[:x] && c[:x] < right && c[:y] > cell[:y] && c[:y] < bottom }.first
|
276
|
-
end
|
277
|
-
if (chan_title.nil?)
|
278
|
-
tcfail "Unable to locate channel title"
|
279
|
-
end
|
280
|
-
logger.info("Checking if #{chan_name.inspect} is highlighted")
|
281
|
-
highlight = dut.roi.color.new(:rgb => [27, 176, 223], :element => chan_title)
|
282
|
-
if highlight.displayed?(:timeout => 30.sec)
|
283
|
-
logger.info('Found highlighted channel title')
|
284
|
-
dut.elements({:name => 'regexp:^Ch \d+$', :type => 'UIAStaticText'}).each do |e|
|
285
|
-
logger.info("Checking if channel number #{e[:name].inspect} is highlighted")
|
286
|
-
highlight = dut.roi.color.new(:rgb => [27, 176, 223], :element => e)
|
287
|
-
if highlight.displayed?(:timeout => 30.sec)
|
288
|
-
logger.info('Found highlighted channel number')
|
289
|
-
highlight_number = e[:name]
|
290
|
-
logger.info("Highlighted: #{chan_name} (#{highlight_number})")
|
291
|
-
return {:title => chan_name, :number => highlight_number}
|
292
|
-
end
|
293
|
-
end
|
294
|
-
end
|
295
|
-
end
|
296
|
-
end
|
297
|
-
{}
|
298
|
-
end
|
299
|
-
|
300
|
-
def select_channel_ending_within(ms)
|
301
|
-
logger.info("Selecting channel ending within #{ms} ms (#{ms.to_f / 1.min} min)")
|
302
|
-
mins = (ms.to_f / 1000) / 60
|
303
|
-
start_time = Time.now
|
304
|
-
while (Time.now - start_time) <= 1800 # 30 minutes
|
305
|
-
elements = get_cached_elements(:refresh => true)
|
306
|
-
assets = elements.select {|e| e[:type].eql?('UIATableCell')}
|
307
|
-
next if assets.count == 0
|
308
|
-
titles = assets.map {|a| a[:name]}
|
309
|
-
showtimes = elements.select {|e| e[:name] =~ /^(\d+:\d+[AP]M - \d+:\d+[AP]M|On Next:.*)$/}
|
310
|
-
tcfail 'Failed to map titles to showtimes!' unless titles.count == showtimes.count
|
311
|
-
# Calculate timezone adjustment
|
312
|
-
local_time = Time.now.getlocal
|
313
|
-
edt_offset = -4.hr
|
314
|
-
est_offset = -5.hr
|
315
|
-
tz_target = local_time.dst? ? edt_offset : est_offset
|
316
|
-
tz_adj_hr = (tz_target - local_utc_offset) / 1.hr
|
317
|
-
logger.info("Adjustment for local timezone #{local_time.zone}: #{tz_adj_hr} hr")
|
318
|
-
all_titles = []
|
319
|
-
# Find a show ending within the time limit.
|
320
|
-
showtimes.each_with_index do |showtime, i|
|
321
|
-
next if showtime[:name].include?('On Next')
|
322
|
-
end_time = showtime[:name].split('-').last.strip
|
323
|
-
is_pm = end_time.match(/(?i)AM/).nil?
|
324
|
-
end_parts = end_time.split(':')
|
325
|
-
end_hr = end_parts.first.to_i
|
326
|
-
# Convert to 24-hr format
|
327
|
-
if is_pm
|
328
|
-
end_hr += 12 unless end_hr == 12
|
329
|
-
elsif end_hr == 12
|
330
|
-
end_hr = 0
|
331
|
-
end
|
332
|
-
end_min = end_parts.last.match(/\d+/).to_s.to_i
|
333
|
-
d_hr = end_hr - (local_time.hour + tz_adj_hr)
|
334
|
-
d_min = end_min - local_time.min
|
335
|
-
d_sec = 0 - local_time.sec
|
336
|
-
if d_hr < 0
|
337
|
-
# End time is tomorrow
|
338
|
-
d_hr += 24
|
339
|
-
end
|
340
|
-
d_total_min = ((d_hr * 60) + d_min + (d_sec / 60)).round
|
341
|
-
title = titles[i]
|
342
|
-
all_titles << title
|
343
|
-
logger.info("Calculated #{d_total_min} minutes to end of showtime for #{title.inspect}: #{showtime[:name]}")
|
344
|
-
if d_total_min < mins
|
345
|
-
# Now scroll to the title if necessary and tap on it
|
346
|
-
scroll_area = elements.select {|e| e[:name].eql?('channelTable')}.first
|
347
|
-
scroll_start_time = Time.now
|
348
|
-
while (Time.now - scroll_start_time) <= (d_total_min * 60)
|
349
|
-
target = dut.element({:name => title, :type => 'UIATableCell', :index => all_titles.count(title),
|
350
|
-
:many_elements => true, :info => [:x, :y, :width, :height, :is_on_screen]})
|
351
|
-
if target[:is_on_screen]
|
352
|
-
tap_x = target[:x] + (target[:width] * 0.5)
|
353
|
-
tap_y = target[:y] + (target[:height] * 0.5)
|
354
|
-
if dut.tap?({:x => tap_x, :y => tap_y, :coordinates => true})
|
355
|
-
enter_pin_once
|
356
|
-
dismiss_hint_once
|
357
|
-
return title, showtime[:name]
|
358
|
-
else
|
359
|
-
logger.info('Failed to tap title')
|
360
|
-
end
|
361
|
-
else
|
362
|
-
scroll_dir = target[:y] > dut.resolution[:height] ? :down : :up
|
363
|
-
tcfail 'Failed to scroll!' unless scroll?(scroll_dir, 1, :area => scroll_area)
|
364
|
-
end
|
365
|
-
end
|
366
|
-
# That show ended while we were trying to scroll to it, but we have time to try a different one
|
367
|
-
logger.info('Timed out searching for title. Trying again...')
|
368
|
-
end
|
369
|
-
end
|
370
|
-
end
|
371
|
-
tcfail "Failed to find a channel ending within #{ms / 1.min} minutes!"
|
372
|
-
end
|
373
|
-
|
374
|
-
# Returns true if successfully selected the channel given by title, otherwise false
|
375
|
-
def select_channel_title?(title)
|
376
|
-
dut.tap?({:name => title, :type => 'UIATableCell', :many_elements => true})
|
377
|
-
end
|
378
|
-
|
379
|
-
def get_showtime_for_channel(channel_title)
|
380
|
-
loginfo2(%Q(Getting showtime for channel title "#{channel_title}"))
|
381
|
-
elements = get_cached_elements(:refresh => true)
|
382
|
-
assets = elements.select {|e| e[:type].eql?('UIATableCell')}
|
383
|
-
showtimes = elements.select {|e| e[:name] =~ /^(\d+:\d+[AP]M - \d+:\d+[AP]M|On Next:.*)$/}
|
384
|
-
tcfail 'Failed to map titles to showtimes!' unless assets.count == showtimes.count
|
385
|
-
i = assets.index {|a| a[:name].eql?(channel_title)}
|
386
|
-
tcfail %Q(Failed to find channel playing "#{channel_title}"!) if i.nil?
|
387
|
-
showtime = showtimes[i]
|
388
|
-
tcfail 'Failed to get showtime!' if showtime.nil?
|
389
|
-
loginfo2("Got showtime: #{showtime[:name]}")
|
390
|
-
showtime[:name]
|
391
|
-
end
|
392
|
-
|
393
|
-
# Returns true if the given channel title is visible, otherwise false
|
394
|
-
def channel_title_visible?(channel_title)
|
395
|
-
dut.element?({:name => channel_title, :type => 'UIATableCell', :is_on_screen => true, :is_visible => true})
|
396
|
-
end
|
397
|
-
|
398
|
-
def is_hint?
|
399
|
-
sleep(10.sec) # Give the hint time to show up
|
400
|
-
dut.element?({:name => 'Hint', :is_visible => true, :many_elements => true, :timeout => 0.sec})
|
401
|
-
end
|
402
|
-
|
403
|
-
def dismiss_hint?
|
404
|
-
if dut.tap?({:name => 'Hint', :is_visible => true, :many_elements => true})
|
405
|
-
self.dismissed_hint=(true)
|
406
|
-
loginfo2('Dismissed hint')
|
407
|
-
true
|
408
|
-
else
|
409
|
-
false
|
410
|
-
end
|
411
|
-
end
|
412
|
-
|
413
|
-
end
|