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,164 +0,0 @@
|
|
1
|
-
require './lib/screen/mobile/android/android_screen'
|
2
|
-
require './lib/screen/mobile/favorites_mobile'
|
3
|
-
|
4
|
-
# Defines Android-specific methods on the Favorites screen
|
5
|
-
|
6
|
-
class AndroidFavorites < AndroidScreen
|
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 => 'com.TWCableTV:id/imgheart', :min => 1})
|
14
|
-
end
|
15
|
-
|
16
|
-
# Public: Clicks on callsign to toggle a Favorite
|
17
|
-
#
|
18
|
-
# callsign - text next to channel number to click on
|
19
|
-
#
|
20
|
-
# Examples:
|
21
|
-
# dut.screens.favorites.toggle?("WBTVDT")
|
22
|
-
# # => 'True'
|
23
|
-
#
|
24
|
-
# Returns true if successfully clicked the given callsign to toggle a favorite
|
25
|
-
def toggle?(callsign)
|
26
|
-
retval = false
|
27
|
-
logger.info("Attempting to toggle '#{callsign}'")
|
28
|
-
i = dut.elements(:name => 'com.TWCableTV:id/txtcallsign').map {|e| e[:text]}.index(callsign)
|
29
|
-
if nil != i
|
30
|
-
logger.info("Tapping on imgheart index #{i + 1}")
|
31
|
-
retval = dut.tap?(:name => 'com.TWCableTV:id/imgheart', :index => i + 1)
|
32
|
-
else
|
33
|
-
logger.info("index is nil in toggle?")
|
34
|
-
end
|
35
|
-
return retval
|
36
|
-
end
|
37
|
-
|
38
|
-
# Public: Checks a given channel to see if it is favorite
|
39
|
-
#
|
40
|
-
# callsign - text next to channel to check
|
41
|
-
#
|
42
|
-
# Examples:
|
43
|
-
# dut.screens.favorites.is_favorite?("WJZYDT")
|
44
|
-
# # => 'True'
|
45
|
-
#
|
46
|
-
# Returns true if the channel given by callsign is a favorite, otherwise false
|
47
|
-
def is_favorite?(callsign)
|
48
|
-
callsign_map = favorites_map()
|
49
|
-
cs_heart = nil
|
50
|
-
logger.info("Finding #{callsign}")
|
51
|
-
callsign_map.each do |f|
|
52
|
-
logger.info("Is it #{f[:callsign_text]}?")
|
53
|
-
if callsign == f[:callsign_text]
|
54
|
-
cs_heart = f[:heart]
|
55
|
-
logger.info("Found it")
|
56
|
-
break
|
57
|
-
end
|
58
|
-
end
|
59
|
-
tcfail "Could not find #{callsign}" unless nil != cs_heart
|
60
|
-
favorite_roi = dut.roi.image.favorites_heart_selected
|
61
|
-
favorite_roi.x = cs_heart[:x]
|
62
|
-
favorite_roi.y = cs_heart[:y]
|
63
|
-
favorite_roi.width = cs_heart[:width]
|
64
|
-
favorite_roi.height = cs_heart[:height]
|
65
|
-
|
66
|
-
favorite_roi.img_x = cs_heart[:x]
|
67
|
-
favorite_roi.img_y = cs_heart[:y]
|
68
|
-
favorite_roi.img_width = cs_heart[:width]
|
69
|
-
favorite_roi.img_height = cs_heart[:height]
|
70
|
-
|
71
|
-
favorite_roi.displayed?(:timeout => 30.sec)
|
72
|
-
end
|
73
|
-
|
74
|
-
# Public: Gets the callsign of the first channel that is not a favorite
|
75
|
-
#
|
76
|
-
# Examples:
|
77
|
-
# dut.screens.favorites.get_non_favorite
|
78
|
-
# # => 'WBTVDT'
|
79
|
-
#
|
80
|
-
# Returns the callsign of the first channel that is not a favorite
|
81
|
-
# This entry can and will return nil. You should absolutely always
|
82
|
-
# test for nil prior to using the result.
|
83
|
-
def get_non_favorite
|
84
|
-
callsign_map = favorites_map()
|
85
|
-
|
86
|
-
callsign_map.each do |entry|
|
87
|
-
favorite_roi = dut.roi.image.favorites_heart_selected
|
88
|
-
# Return the first one which is not highlighted
|
89
|
-
favorite_roi.x = entry[:heart][:x]
|
90
|
-
favorite_roi.y = entry[:heart][:y]
|
91
|
-
favorite_roi.width = entry[:heart][:width]
|
92
|
-
favorite_roi.height = entry[:heart][:height]
|
93
|
-
|
94
|
-
favorite_roi.img_x = entry[:heart][:x]
|
95
|
-
favorite_roi.img_y = entry[:heart][:y]
|
96
|
-
favorite_roi.img_width = entry[:heart][:width]
|
97
|
-
favorite_roi.img_height = entry[:heart][:height]
|
98
|
-
|
99
|
-
return entry[:callsign][:text] unless favorite_roi.displayed?(:timeout => 30.sec)
|
100
|
-
end
|
101
|
-
nil
|
102
|
-
end
|
103
|
-
|
104
|
-
# Public: Gets callsigns of channels that are favorites
|
105
|
-
#
|
106
|
-
# Examples:
|
107
|
-
# dut.screens.favorites.get_favorites
|
108
|
-
# # => 'WBTVDT', 'WJZYDT'
|
109
|
-
# Returns the callsigns of channels that are favorites
|
110
|
-
def get_favorites
|
111
|
-
callsigns = dut.elements(:name => 'com.TWCableTV:id/txtcallsign')
|
112
|
-
favorites = []
|
113
|
-
favorite_roi = dut.roi.image.highlight
|
114
|
-
dut.elements(:name => 'com.TWCableTV:id/imgheart').each_with_index do |elem, i|
|
115
|
-
# Include the ones which are highlighted
|
116
|
-
favorite_roi.x = elem[:x]
|
117
|
-
favorite_roi.y = elem[:y]
|
118
|
-
favorite_roi.width = elem[:width]
|
119
|
-
favorite_roi.height = elem[:height]
|
120
|
-
favorites << callsigns[i][:text] if favorite_roi.displayed?(:timeout => 30.sec)
|
121
|
-
end
|
122
|
-
favorites
|
123
|
-
end
|
124
|
-
|
125
|
-
# Public: Gets callsigns of channels that are not favorites
|
126
|
-
#
|
127
|
-
# Examples:
|
128
|
-
# dut.screens.favorites.get_non_favorites
|
129
|
-
# # => 'WSOCDT','WAXNDT'
|
130
|
-
#
|
131
|
-
# Returns the callsigns of channels that are not favorites
|
132
|
-
def get_non_favorites
|
133
|
-
callsigns = dut.elements(:name => 'com.TWCableTV:id/txtcallsign')
|
134
|
-
non_favorites = []
|
135
|
-
favorite_roi = dut.roi.image.highlight
|
136
|
-
dut.elements(:name => 'com.TWCableTV:id/imgheart').each_with_index do |elem, i|
|
137
|
-
# Include the ones which are not highlighted
|
138
|
-
favorite_roi.x = elem[:x]
|
139
|
-
favorite_roi.y = elem[:y]
|
140
|
-
favorite_roi.width = elem[:width]
|
141
|
-
favorite_roi.height = elem[:height]
|
142
|
-
non_favorites << callsigns[i][:text] unless favorite_roi.displayed?(:timeout => 30.sec)
|
143
|
-
end
|
144
|
-
non_favorites
|
145
|
-
end
|
146
|
-
|
147
|
-
# Private: Maps txtcallsign indexes to imgheart indexes, so that other methods
|
148
|
-
# in this object can find the correct heart for a specific callsign.
|
149
|
-
# This method gathers both txtcallsign and imgheart arrays, sorts them
|
150
|
-
# both by index and assumes that lowest-to-highest txtcallsigns match
|
151
|
-
# lowest-to-highest imghearts
|
152
|
-
def favorites_map
|
153
|
-
callsigns = dut.elements({:name => "com.TWCableTV:id/txtcallsign"})
|
154
|
-
hearts = dut.elements({:name => "com.TWCableTV:id/imgheart"})
|
155
|
-
callsigns.sort! { |x,y| x[:index] <=> y[:index] }
|
156
|
-
hearts.sort! { |x,y| x[:index] <=> y[:index] }
|
157
|
-
retval = []
|
158
|
-
callsigns.each_with_index do |callsign, i|
|
159
|
-
retval[i] = { :callsign => callsign, :heart => hearts[i], :callsign_text => callsign[:text], :callsign_index => callsign[:index], :heart_index => hearts[i][:index] }
|
160
|
-
end
|
161
|
-
return retval
|
162
|
-
end
|
163
|
-
|
164
|
-
end
|
@@ -1,256 +0,0 @@
|
|
1
|
-
require './lib/screen/mobile/android/android_screen'
|
2
|
-
require './lib/screen/mobile/guide_mobile'
|
3
|
-
|
4
|
-
# Defines Android-specific methods on the Guide screen
|
5
|
-
|
6
|
-
class AndroidGuide < AndroidScreen
|
7
|
-
include GuideMobile
|
8
|
-
|
9
|
-
#Public: Checks to see if given filter is present
|
10
|
-
#
|
11
|
-
# regex - string to look for
|
12
|
-
#
|
13
|
-
# Examples:
|
14
|
-
# dut.screens.guide.is_filter_present?("Favorites")
|
15
|
-
# # => 'True'
|
16
|
-
#
|
17
|
-
# Returns true if the filter given by the regex is present, otherwise false
|
18
|
-
def is_filter_present?(regex)
|
19
|
-
dut.element?({:text => "regexp:#{regex}"})
|
20
|
-
end
|
21
|
-
|
22
|
-
# Public: Returns a list of all currently visible channels by channel number
|
23
|
-
#
|
24
|
-
# Examples:
|
25
|
-
# dut.screens.guide.get_visible_channel_numbers
|
26
|
-
# # => ["10","25","26"]
|
27
|
-
#
|
28
|
-
# Returns a list of all currently visible channels by channel number, i.e. ["10", "25"]
|
29
|
-
def get_visible_channel_numbers
|
30
|
-
dut.elements({:type => 'channel', :min => 1}).map {|c| c[:number]}
|
31
|
-
end
|
32
|
-
|
33
|
-
# Public: Returns a list of all currently visible shows by title
|
34
|
-
#
|
35
|
-
# Examples:
|
36
|
-
# dut.screens.guide.get_visible_titles
|
37
|
-
# # => ["Dr. Phil", "Maury", "News Hour"]
|
38
|
-
#
|
39
|
-
# Returns a list of all currently visible shows by title, i.e. ["Dr. Phil", "Maury"]
|
40
|
-
def get_visible_titles
|
41
|
-
titles = dut.elements({:type => 'show', :min => 1}).map {|c| c[:text]}
|
42
|
-
loginfo2("Visible titles: #{titles.map {|t| %Q("#{t}")}.join(', ')}") #"
|
43
|
-
titles
|
44
|
-
end
|
45
|
-
|
46
|
-
# Public: Returns the element for the scroll area
|
47
|
-
#
|
48
|
-
# Returns the element for the scroll area
|
49
|
-
def scroll_area
|
50
|
-
dut.element({:name => 'com.TWCableTV:id/gridGuideView'})
|
51
|
-
end
|
52
|
-
|
53
|
-
# Public: Returns the currently-displayed date as a hash with keys
|
54
|
-
#
|
55
|
-
# Examples:
|
56
|
-
# dut.screens.guide.date
|
57
|
-
# # => [:day => '14', :date => '11/14/2016', :time => '13:22:00']
|
58
|
-
#
|
59
|
-
# Returns the currently-displayed date as a hash with keys [:day, :date, :time]
|
60
|
-
def date
|
61
|
-
{:day => dut.element({:name => 'com.TWCableTV:id/guideDayText'})[:text],
|
62
|
-
:date => dut.element({:name => 'com.TWCableTV:id/guideDateText'})[:text],
|
63
|
-
:time => nil}
|
64
|
-
end
|
65
|
-
|
66
|
-
# Public: Opens the Day/Date Wheel
|
67
|
-
#
|
68
|
-
# Returns true if the day/date wheel is opened successfully, otherwise false
|
69
|
-
def go_to_date_wheel?
|
70
|
-
dut.tap?({:name => 'com.TWCableTV:id/guideDayDateLayout'})
|
71
|
-
end
|
72
|
-
|
73
|
-
# Public: Flicks the date wheel
|
74
|
-
#
|
75
|
-
# Returns true if the date wheel is flicked successfully
|
76
|
-
def flick_date_wheel?
|
77
|
-
dut.flick?({:from => {:name => 'com.TWCableTV:id/guideDateTimeDialogDateWheel', :x => 0.51, :y => 0.64}, :to => {:name => 'com.TWCableTV:id/guideDateTimeDialogDateWheel', :x => 0.49, :y => 0.31}, :duration => 500})
|
78
|
-
end
|
79
|
-
|
80
|
-
# Public: Flicks the time wheel
|
81
|
-
#
|
82
|
-
# Returns true if the time wheel is flicked successfully
|
83
|
-
def flick_time_wheel?
|
84
|
-
dut.flick?({:from => {:name => 'com.TWCableTV:id/guideDateTimeDialogTimeWheel', :x => 0.51, :y => 0.63}, :to => {:name => 'com.TWCableTV:id/guideDateTimeDialogTimeWheel', :x => 0.68, :y => 0.29}, :duration => 500})
|
85
|
-
end
|
86
|
-
|
87
|
-
# Public: Taps Get Listings buttons
|
88
|
-
#
|
89
|
-
# Returns true if Get Listings is tapped successfully, otherwise false
|
90
|
-
def tap_get_listings?
|
91
|
-
dut.tap?({:name => 'com.TWCableTV:id/guideDateTimeListingsButton'})
|
92
|
-
end
|
93
|
-
|
94
|
-
# Public: Scroll down guide listings
|
95
|
-
#
|
96
|
-
# Returns true if the scroll is successful, otherwise false
|
97
|
-
def scroll_down?
|
98
|
-
dut.flick?({:from => {:name => 'com.TWCableTV:id/gridGuideView', :x => 0.4, :y => 0.8}, :to => {:name => 'com.TWCableTV:id/gridGuideView', :x => 0.4, :y => 0.2}, :duration => 500})
|
99
|
-
end
|
100
|
-
|
101
|
-
# Public: Scroll up guide listings
|
102
|
-
#
|
103
|
-
# Returns true if the scroll is successful, otherwise false
|
104
|
-
def scroll_up?
|
105
|
-
dut.flick?({:from => {:name => 'com.TWCableTV:id/gridGuideView', :x => 0.4, :y => 0.2}, :to => {:name => 'com.TWCableTV:id/gridGuideView', :x => 0.4, :y => 0.8}, :duration => 500})
|
106
|
-
end
|
107
|
-
|
108
|
-
# Public: Scroll right across guide listings
|
109
|
-
#
|
110
|
-
# Returns true if scroll right is successful
|
111
|
-
def scroll_right?
|
112
|
-
dut.flick?({:from => {:name => 'com.TWCableTV:id/gridGuideView', :x => 0.8, :y => 0.5}, :to => {:name => 'com.TWCableTV:id/gridGuideView', :x => 0.2, :y => 0.5}, :duration => 500})
|
113
|
-
end
|
114
|
-
|
115
|
-
# Public: Scroll left across guide listings
|
116
|
-
#
|
117
|
-
# Returns true if scroll left is successful
|
118
|
-
def scroll_left?
|
119
|
-
dut.flick?({:from => {:name => 'com.TWCableTV:id/gridGuideView', :x => 0.2, :y => 0.5}, :to => {:name => 'com.TWCableTV:id/gridGuideView', :x => 0.8, :y => 0.5}, :duration => 500})
|
120
|
-
end
|
121
|
-
|
122
|
-
# Public: Get show title by index
|
123
|
-
#
|
124
|
-
# index - integer of show index
|
125
|
-
#
|
126
|
-
# Examples:
|
127
|
-
# dut.screens.guide.get_show_title(2)
|
128
|
-
# # => 'NCIS'
|
129
|
-
#
|
130
|
-
# Returns the text of a show title
|
131
|
-
def get_show_title(index)
|
132
|
-
dut.element({:type => 'show', :index => index})[:text]
|
133
|
-
end
|
134
|
-
|
135
|
-
# Public: Taps on show by index
|
136
|
-
#
|
137
|
-
# index - integer of show index
|
138
|
-
#
|
139
|
-
# Examples:
|
140
|
-
# dut.screens.guide.tap_show?(2)
|
141
|
-
# # => 'True'
|
142
|
-
#
|
143
|
-
# Returns true is show is tapped successfully, otherwise false
|
144
|
-
def tap_show?(index)
|
145
|
-
dut.tap?({:type => 'show', :index => index})
|
146
|
-
end
|
147
|
-
|
148
|
-
# Public: Check if the back button exists on current screen
|
149
|
-
#
|
150
|
-
# Returns true if back button is found, otherwise false
|
151
|
-
def back_button_exists?
|
152
|
-
dut.element?({:name => 'com.TWCableTV:id/phoneHeaderBackButton'})
|
153
|
-
end
|
154
|
-
|
155
|
-
# Public: Taps on back button
|
156
|
-
#
|
157
|
-
# Returns true if back button is tapped successfully, otherwise false
|
158
|
-
def tap_back_button?
|
159
|
-
dut.tap?({:name => 'com.TWCableTV:id/phoneHeaderBackButton'})
|
160
|
-
end
|
161
|
-
|
162
|
-
# Public: Gets show title on show card
|
163
|
-
#
|
164
|
-
# Examples:
|
165
|
-
# dut.screens.guide.get_show_card_title?
|
166
|
-
# # => 'NCIS'
|
167
|
-
#
|
168
|
-
# Returns string of title found on show card
|
169
|
-
def get_show_card_title?
|
170
|
-
dut.element({:name => 'com.TWCableTV:id/minorCatName'})[:text]
|
171
|
-
end
|
172
|
-
|
173
|
-
# Public: Checks if record button exists on current screen
|
174
|
-
#
|
175
|
-
# Returns true if the record button is found, otherwise false
|
176
|
-
def record_button_exists?
|
177
|
-
dut.element?({:text => 'Record'})
|
178
|
-
end
|
179
|
-
|
180
|
-
# Public: Taps record button on show card
|
181
|
-
#
|
182
|
-
# Returns true if record button is tapped successfully
|
183
|
-
def tap_record_button?
|
184
|
-
dut.tap?({:text => 'Record'})
|
185
|
-
end
|
186
|
-
|
187
|
-
# Public: Find Series button in record dialog
|
188
|
-
#
|
189
|
-
# Returns true if series button is found, otherwise false
|
190
|
-
def record_series_tab_exists?
|
191
|
-
dut.element?({:text => 'Series'})
|
192
|
-
end
|
193
|
-
|
194
|
-
# Public: Tap on Series button in Record dialog
|
195
|
-
#
|
196
|
-
# Returns true if series button is tapped successfully, otherwise false
|
197
|
-
def tap_record_series_tab?
|
198
|
-
dut.tap?({:text => 'Series'})
|
199
|
-
end
|
200
|
-
|
201
|
-
# Public: Tap on Record button inside the Record dialog
|
202
|
-
#
|
203
|
-
# Returns true if the record button is tapped succesfully
|
204
|
-
def tap_confirm_record_button?
|
205
|
-
dut.tap?({:name => 'com.TWCableTV:id/confirmButton'})
|
206
|
-
end
|
207
|
-
|
208
|
-
# Public: Look for popup alert title
|
209
|
-
#
|
210
|
-
# Returns true if popup alert is found
|
211
|
-
def popup_exists?
|
212
|
-
dut.element?({:name => 'android:id/alertTitle'})
|
213
|
-
end
|
214
|
-
|
215
|
-
# Public: Get popup text
|
216
|
-
#
|
217
|
-
# Examples:
|
218
|
-
# dut.screens.guide.get_popup_text
|
219
|
-
# # => 'Unable to schedule recording.'
|
220
|
-
#
|
221
|
-
# Returns
|
222
|
-
def get_popup_text
|
223
|
-
dut.element({:name => 'android:id/message'})[:text]
|
224
|
-
end
|
225
|
-
|
226
|
-
# Public: Tap OK button
|
227
|
-
#
|
228
|
-
# Returns true if OK button is tapped successfully
|
229
|
-
def tap_OK_button?
|
230
|
-
dut.tap?({:text => 'OK'})
|
231
|
-
end
|
232
|
-
|
233
|
-
# Public: Look for show on Guide
|
234
|
-
#
|
235
|
-
# attempt - index number of show to check
|
236
|
-
#
|
237
|
-
# Examples:
|
238
|
-
# dut.screens.guide.show_exists?(2)
|
239
|
-
# # => 'True'
|
240
|
-
#
|
241
|
-
# Returns true if the show is found, otherwise false
|
242
|
-
def show_exists?(attempt)
|
243
|
-
dut.element?({:type => 'show', :index => attempt})
|
244
|
-
end
|
245
|
-
|
246
|
-
# Tap on Options button
|
247
|
-
def tap_options_button?
|
248
|
-
dut.tap?({:text => 'Options'})
|
249
|
-
end
|
250
|
-
|
251
|
-
# Tap on Cancel button
|
252
|
-
def tap_cancel_button?
|
253
|
-
dut.tap?({:name => 'com.TWCableTV:id/cancelButton'})
|
254
|
-
end
|
255
|
-
|
256
|
-
end
|
@@ -1,372 +0,0 @@
|
|
1
|
-
require './lib/screen/mobile/android/android_screen'
|
2
|
-
require './lib/screen/mobile/live_tv_mobile'
|
3
|
-
|
4
|
-
# Defines Android-specific methods on the Live TV screen
|
5
|
-
|
6
|
-
class AndroidLiveTv < AndroidScreen
|
7
|
-
include LiveTvMobile
|
8
|
-
|
9
|
-
# Returns true if the mini guide is visible, otherwise false
|
10
|
-
def mini_guide_visible?
|
11
|
-
dut.element?(:name => 'com.TWCableTV:id/liveTv2ChannelListView')
|
12
|
-
end
|
13
|
-
|
14
|
-
def is_hint?
|
15
|
-
dut.element?({:name => 'com.TWCableTV:id/liveTv2HintText1', :timeout => 10.sec})
|
16
|
-
end
|
17
|
-
|
18
|
-
def dismiss_hint?
|
19
|
-
if dut.tap?({:name => 'com.TWCableTV:id/liveTv2HintText1'})
|
20
|
-
self.dismissed_hint=(true)
|
21
|
-
loginfo2('Dismissed hint')
|
22
|
-
true
|
23
|
-
else
|
24
|
-
false
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
# Attempts to "watch" n channels by just clicking on them. Returns a list of the watched show titles if successful,
|
29
|
-
# otherwise fails the test.
|
30
|
-
def watch_channels(n, args={})
|
31
|
-
watched = args.fetch(:already_watched, [])
|
32
|
-
timeout_s = args.fetch(:timeout, 300.sec) / 1000
|
33
|
-
start_time = Time.now
|
34
|
-
while (Time.now - start_time) <= timeout_s
|
35
|
-
chans = dut.elements({:name => 'com.TWCableTV:id/liveTvChannelListNowTitle'}).map {|title| title[:text]}
|
36
|
-
# Watch all the visible chans
|
37
|
-
chans.each do |chan|
|
38
|
-
next if watched.include?(chan) # no need to watch the same channel twice
|
39
|
-
if !dismissed_hint? && dut.tap?({:name => 'com.TWCableTV:id/liveTv2HintText1', :timeout => 0.sec})
|
40
|
-
dismissed_hint = true # this is a setter method, keep it!
|
41
|
-
loginfo2('Dismissed hint')
|
42
|
-
end
|
43
|
-
y_pct = chan == chans.first ? 0.99 : 0.01
|
44
|
-
tcfail "Failed to tap #{chan}!" unless dut.tap?({:name => 'com.TWCableTV:id/liveTvChannelListNowTitle',
|
45
|
-
:text => chan, :index => 1,
|
46
|
-
:y => y_pct,}, :sleep_time => 5.sec)
|
47
|
-
enter_pin_once
|
48
|
-
watched << chan
|
49
|
-
break if watched.count == n
|
50
|
-
end
|
51
|
-
break if watched.count == n
|
52
|
-
# Swipe up from the last to the 2nd channel (because the 1st one may be partially hidden under "All Channels" now)
|
53
|
-
tcfail 'Failed to swipe!' unless dut.swipe?({:from => {:name => 'com.TWCableTV:id/liveTvChannelListNowTitle',
|
54
|
-
:text => chans[-1],
|
55
|
-
:timeout => 10.sec},
|
56
|
-
:to=> {:name => 'com.TWCableTV:id/liveTvChannelListNowTitle',
|
57
|
-
:text => chans[1],
|
58
|
-
:timeout => 10.sec}})
|
59
|
-
end
|
60
|
-
tcfail "Failed to watch #{n} channels!" unless watched.count == n
|
61
|
-
watched
|
62
|
-
end
|
63
|
-
|
64
|
-
# Verifies Recently Watched channels contains the given channels and that it behaves as a FIFO. Fails the test if
|
65
|
-
# unsuccessful.
|
66
|
-
def verify_recently_watched(channels)
|
67
|
-
content = video_area
|
68
|
-
x = content[:x].to_f + (content[:width].to_f * 0.95)
|
69
|
-
y = content[:y].to_f + (content[:height].to_f * 0.5)
|
70
|
-
x_offset_big = content[:width].to_f * -0.90
|
71
|
-
x_offset_sm = content[:width].to_f * -0.25
|
72
|
-
|
73
|
-
# Verify channels are in "Recently Watched"
|
74
|
-
while channels.count > 0
|
75
|
-
# Swipe content all the way right
|
76
|
-
(1..4).each do |_|
|
77
|
-
tcfail 'Failed to swipe Live TV content!' unless dut.swipe?({:from => {:x => x, :y => y, :coordinates => true},
|
78
|
-
:xOffset => x_offset_big, :yOffset => 0})
|
79
|
-
end
|
80
|
-
# Click oldest recently watched
|
81
|
-
visible_chans = dut.elements({:name => 'com.TWCableTV:id/showCard', :info => []})
|
82
|
-
tcfail 'Failed tap last Recently Watched channel!' unless dut.tap?({:name => 'com.TWCableTV:id/showCard',
|
83
|
-
:index => visible_chans.count})
|
84
|
-
# Verify the name matches
|
85
|
-
playing_now_txt = get_playing_now
|
86
|
-
unless playing_now_txt == channels.first
|
87
|
-
tcfail %Q(Playing channel "#{playing_now_txt}" did not match expected channel "#{channels.first}"!)
|
88
|
-
end
|
89
|
-
channels.shift
|
90
|
-
# Swipe right slightly and delete the last recently watched
|
91
|
-
tcfail 'Failed to swipe Live TV content slightly!' unless dut.swipe?(
|
92
|
-
{:from => {:x => x, :y => y, :coordinates => true}, :xOffset => x_offset_sm, :yOffset => 0})
|
93
|
-
tcfail 'Failed to delete newest Recently Watched channel!' unless dut.swipe?(
|
94
|
-
{:from => {:name => 'com.TWCableTV:id/showCard', :index=>1},
|
95
|
-
:to => {:name => 'com.TWCableTV:id/showCard', :y => 0.1, :index => 1}, :duration => 2.sec})
|
96
|
-
end
|
97
|
-
# Swipe live content all the way right and verify there are no Recently Watched channels
|
98
|
-
(1..4).each do |_|
|
99
|
-
tcfail 'Failed to swipe Live TV content!' unless dut.swipe?(
|
100
|
-
{:from => {:x => x, :y => y, :coordinates => true}, :xOffset => x_offset_big, :yOffset => 0})
|
101
|
-
end
|
102
|
-
tcfail 'Recently Watched is not empty!' if dut.elements?({:name => 'com.TWCableTV:id/showCard'})
|
103
|
-
end
|
104
|
-
|
105
|
-
# Returns true if the given channel title is visible, otherwise false
|
106
|
-
def channel_title_visible?(channel_title)
|
107
|
-
dut.element?({:name => 'com.TWCableTV:id/liveTvChannelListNowTitle', :text => channel_title})
|
108
|
-
end
|
109
|
-
|
110
|
-
# Returns a list of all currently visible channels' elements
|
111
|
-
def get_visible_channel_titles(args={})
|
112
|
-
params = {:name => 'com.TWCableTV:id/liveTvChannelListNowTitle', :min => 1}
|
113
|
-
params[:info] = [:text] unless args.fetch(:element, false)
|
114
|
-
dut.elements(params)
|
115
|
-
end
|
116
|
-
|
117
|
-
# Returns a list of all currently visible channel numbers' elements
|
118
|
-
def get_visible_channel_numbers(args={})
|
119
|
-
logger.info('Getting visible channel numbers')
|
120
|
-
elements = args.fetch(:elements, false)
|
121
|
-
elems = dut.elements({:name => 'com.TWCableTV:id/liveTvChannelListChannelNumber', :min => 1}) || []
|
122
|
-
chan_nums = elems.map {|c| c[:text]}
|
123
|
-
logger.info("Got visible channel numbers: #{chan_nums.inspect}")
|
124
|
-
elements ? elems : chan_nums
|
125
|
-
end
|
126
|
-
|
127
|
-
# Returns a list of all currently visible on now showtimes' elements
|
128
|
-
def get_visible_channel_showtimes(args={})
|
129
|
-
logger.info('Getting visible channel showtimes')
|
130
|
-
elements = args.fetch(:elements, false)
|
131
|
-
elems = dut.elements({:name => 'com.TWCableTV:id/liveTvChannelListNowShowTime', :min => 1}) || []
|
132
|
-
showtimes = elems.map {|c| c[:text]}
|
133
|
-
logger.info("Got visible channel showtimes: #{showtimes.inspect}")
|
134
|
-
elements ? elems : showtimes
|
135
|
-
end
|
136
|
-
|
137
|
-
# Returns a list of all currently visible on next titles' elements
|
138
|
-
def get_visible_channel_on_next_titles(args={})
|
139
|
-
logger.info('Getting visible On Next titles')
|
140
|
-
elements = args.fetch(:elements, false)
|
141
|
-
elems = dut.elements({:name => 'com.TWCableTV:id/liveTvChannelListNextTitle', :min => 1}) || []
|
142
|
-
on_next_titles = elems.map {|c| c[:text]}
|
143
|
-
logger.info("Got visible On Next titles: #{on_next_titles.inspect}")
|
144
|
-
elements ? elems : on_next_titles
|
145
|
-
end
|
146
|
-
|
147
|
-
# Returns a list of all currently visible networks' elements
|
148
|
-
def get_visible_networks(args={})
|
149
|
-
#TODO: NATL SERVICES DATA: networks are not tagged so we need nat'l services data for this.
|
150
|
-
logskip('Cannot verify sorting by networks without Natl Services Data or properly tagged elements!')
|
151
|
-
['']
|
152
|
-
end
|
153
|
-
|
154
|
-
# Returns a hash with keys :name and :number for the highlighted channel
|
155
|
-
def get_highlighted_channel
|
156
|
-
chan_titles = dut.elements({:name => 'com.TWCableTV:id/liveTvChannelListNowTitle'})
|
157
|
-
tcfail "No channel titles found" unless chan_titles.count() > 0
|
158
|
-
logger.info("Looking for highlighted channel")
|
159
|
-
chan_titles.each_with_index do |chan_title, i|
|
160
|
-
logger.info("Checking #{chan_title.text} for highlight")
|
161
|
-
|
162
|
-
highlight = dut.roi.color.new(:rgb => [27, 176, 223], :element => chan_title, :similarity => 90)
|
163
|
-
if highlight.displayed?(:timeout => 30.sec)
|
164
|
-
highlight_number = dut.element(
|
165
|
-
{:name => 'com.TWCableTV:id/liveTvChannelListChannelNumber', :index => i + 1, :info => [:text]})
|
166
|
-
loginfo2("Highlighted: #{chan_title[:text]} (#{highlight_number})")
|
167
|
-
return {:title => chan_title[:text], :number => highlight_number}
|
168
|
-
end
|
169
|
-
end
|
170
|
-
{}
|
171
|
-
end
|
172
|
-
|
173
|
-
# Returns a hash with keys :width and :height for the video content
|
174
|
-
def get_video_size
|
175
|
-
{:width => video_area[:width], :height => video_area[:height]}
|
176
|
-
end
|
177
|
-
|
178
|
-
# Returns true if the video is fullscreen, otherwise false
|
179
|
-
def fullscreen?
|
180
|
-
loginfo2('Checking if video is full-screen')
|
181
|
-
android_nav_bar = dut.element({:name => 'android:id/navigationBarBackground', :timeout => 10.sec})
|
182
|
-
exp_res = dut.resolution.values.sort # do this after checking for the Android nav bar because it disappears
|
183
|
-
# Subtract the Android navigation bar from the expected resolution, if found.
|
184
|
-
unless android_nav_bar.nil?
|
185
|
-
loginfo2("Accounting for Android navigation bar height: #{android_nav_bar[:height]}")
|
186
|
-
exp_res[0] -= android_nav_bar[:height]
|
187
|
-
end
|
188
|
-
video_res = get_video_size.values.sort
|
189
|
-
new_video_res = nil
|
190
|
-
until new_video_res == video_res
|
191
|
-
new_video_res = get_video_size.values.sort
|
192
|
-
end
|
193
|
-
loginfo2("Expected resolution: #{exp_res.join('x')}")
|
194
|
-
loginfo2("Video resolution: #{video_res.join('x')}")
|
195
|
-
video_res == exp_res
|
196
|
-
end
|
197
|
-
|
198
|
-
# Returns the element for the scroll area
|
199
|
-
def scroll_area
|
200
|
-
logger.info('Getting main scroll area')
|
201
|
-
dut.element({:name => 'com.TWCableTV:id/liveTv2ChannelListView'})
|
202
|
-
end
|
203
|
-
|
204
|
-
# Returns true if the navigation menu is visible, otherwise false
|
205
|
-
def navigation_menu_visible?
|
206
|
-
dut.element?({:name => 'com.TWCableTV:id/navigationBarLiveTvButton'})
|
207
|
-
end
|
208
|
-
|
209
|
-
# Returns true if successfully chose to open filters, otherwise false
|
210
|
-
def open_filters?
|
211
|
-
dut.tap?({:name => 'com.TWCableTV:id/liveTv2FilterButton'})
|
212
|
-
end
|
213
|
-
|
214
|
-
# Returns true if successfully chose to sort by title, otherwise false
|
215
|
-
def sort_by_title?
|
216
|
-
open_filters? && dut.tap?({:name => 'com.TWCableTV:id/liveSortTitleAZ'}, :sleep_time => 2.sec)
|
217
|
-
end
|
218
|
-
|
219
|
-
# Returns true if successfully chose to sort by channel number, otherwise false
|
220
|
-
def sort_by_channel_number?
|
221
|
-
open_filters? && dut.tap?({:name => 'com.TWCableTV:id/liveSortByChannelNumber'}, :sleep_time => 2.sec)
|
222
|
-
end
|
223
|
-
|
224
|
-
# Returns true if successfully chose to sort by channel number, otherwise false
|
225
|
-
def sort_by_network?
|
226
|
-
open_filters? && dut.tap?({:name => 'com.TWCableTV:id/liveSortNetworkAZ'}, :sleep_time => 2.sec)
|
227
|
-
end
|
228
|
-
|
229
|
-
# Returns true if successfully chose the given filter, otherwise false
|
230
|
-
def filter_by?(filter)
|
231
|
-
logger.info("Filtering by #{filter.inspect}")
|
232
|
-
if open_filters?
|
233
|
-
scroll_dir = :down
|
234
|
-
last_filters = nil
|
235
|
-
start_time = Time.now
|
236
|
-
while (Time.now - start_time) <= 60 # 1 minute
|
237
|
-
logger.info('Locating filter')
|
238
|
-
visible_filters = dut.elements({:name => 'com.TWCableTV:id/liveFilterGenreText'}).map {|f| f[:text]}
|
239
|
-
if visible_filters.include?(filter)
|
240
|
-
return false unless dut.tap?({:name => 'com.TWCableTV:id/liveFilterGenreText', :text => filter,
|
241
|
-
:timeout => 0.sec})
|
242
|
-
sleep(2.sec)
|
243
|
-
return true
|
244
|
-
end
|
245
|
-
if visible_filters == last_filters
|
246
|
-
scroll_dir = scroll_dir.eql?(:down) ? :up : :down
|
247
|
-
end
|
248
|
-
last_filters = visible_filters
|
249
|
-
scroll?(scroll_dir, 1, :area => scroll_area, :speed => :slow, :sleep_time => 500.ms)
|
250
|
-
end
|
251
|
-
logger.info('Failed to locate filter')
|
252
|
-
end
|
253
|
-
false
|
254
|
-
end
|
255
|
-
|
256
|
-
# Returns true if successfully chose to clear the current or specified filter, otherwise false
|
257
|
-
def clear_filter?(filter=nil)
|
258
|
-
filter ||= 'All Channels'
|
259
|
-
filter_by?(filter)
|
260
|
-
end
|
261
|
-
|
262
|
-
# Returns true if video is playing, otherwise false
|
263
|
-
def video_playing?(args={})
|
264
|
-
logskip('Skipping video verification due to Android screenshot errors')
|
265
|
-
true
|
266
|
-
end
|
267
|
-
|
268
|
-
# Returns true if successfully selected the channel given by title, otherwise false
|
269
|
-
def select_channel_title?(title)
|
270
|
-
dut.tap?({:name => 'com.TWCableTV:id/liveTvChannelListNowTitle', :text => title})
|
271
|
-
end
|
272
|
-
|
273
|
-
def get_showtime_for_channel(channel_title)
|
274
|
-
loginfo2(%Q(Getting showtime for channel title "#{channel_title}"))
|
275
|
-
titles = dut.elements({:name => 'com.TWCableTV:id/liveTvChannelListNowTitle', :min => 1})
|
276
|
-
i = titles.index {|t| t[:text].eql?(channel_title)}
|
277
|
-
tcfail %Q(Failed to find channel playing "#{channel_title}"!) if i.nil?
|
278
|
-
title = titles[i]
|
279
|
-
showtimes = dut.elements({:name => 'regexp:liveTvChannelListNowShowTime|liveTvChannelListNextTitle', :min => 1})
|
280
|
-
showtime = showtimes.select do |s|
|
281
|
-
if s[:y] > title[:y]
|
282
|
-
if i == (titles.count - 1)
|
283
|
-
true
|
284
|
-
else
|
285
|
-
s[:y] < titles[i + 1][:y]
|
286
|
-
end
|
287
|
-
else
|
288
|
-
false
|
289
|
-
end
|
290
|
-
end.first
|
291
|
-
tcfail 'Failed to get showtime!' if showtime.nil?
|
292
|
-
loginfo2("Got showtime: #{showtime[:text]}")
|
293
|
-
showtime[:text]
|
294
|
-
end
|
295
|
-
|
296
|
-
def select_channel_ending_within(ms)
|
297
|
-
scroll_dir = :down
|
298
|
-
logger.info("Selecting channel ending within #{ms} ms (#{ms.to_f / 1.min} min)")
|
299
|
-
mins = (ms.to_f / 1000) / 60
|
300
|
-
titles = get_visible_channel_titles(:element => true)
|
301
|
-
start_time = Time.now
|
302
|
-
while (Time.now - start_time) <= 1800 # 30 minutes
|
303
|
-
showtimes = get_visible_channel_showtimes(:elements => true)
|
304
|
-
# Calculate timezone adjustment
|
305
|
-
local_time = Time.now.getlocal
|
306
|
-
edt_offset = -4.hr
|
307
|
-
est_offset = -5.hr
|
308
|
-
tz_target = local_time.dst? ? edt_offset : est_offset
|
309
|
-
tz_adj_hr = (tz_target - local_utc_offset) / 1.hr
|
310
|
-
logger.info("Adjustment for local timezone #{local_time.zone}: #{tz_adj_hr} hr")
|
311
|
-
titles.each_with_index do |title, i|
|
312
|
-
# Get the showtime for this channel. It's the one between this title and the next. Hacky, see to-do below.
|
313
|
-
showtime = showtimes.select do |s|
|
314
|
-
if s[:y] > title[:y]
|
315
|
-
if i == (titles.count - 1)
|
316
|
-
true
|
317
|
-
else
|
318
|
-
s[:y] < titles[i + 1][:y]
|
319
|
-
end
|
320
|
-
else
|
321
|
-
false
|
322
|
-
end
|
323
|
-
end.first
|
324
|
-
next if showtime.nil?
|
325
|
-
end_time = showtime[:text].split('-').last.strip
|
326
|
-
is_pm = end_time.match(/am/).nil?
|
327
|
-
end_parts = end_time.split(':')
|
328
|
-
end_hr = end_parts.first.to_i
|
329
|
-
# Convert to 24-hr format
|
330
|
-
if is_pm
|
331
|
-
end_hr += 12 unless end_hr == 12
|
332
|
-
elsif end_hr == 12
|
333
|
-
end_hr = 0
|
334
|
-
end
|
335
|
-
end_min = end_parts.last.match(/\d+/).to_s.to_i
|
336
|
-
d_hr = end_hr - (local_time.hour + tz_adj_hr)
|
337
|
-
d_min = end_min - local_time.min
|
338
|
-
d_sec = 0 - local_time.sec
|
339
|
-
if d_hr < 0
|
340
|
-
# End time is tomorrow
|
341
|
-
d_hr += 24
|
342
|
-
end
|
343
|
-
d_total_min = ((d_hr * 60) + d_min + (d_sec / 60)).round
|
344
|
-
logger.info("Calculated #{d_total_min} minutes to end of showtime for #{title.inspect}: #{showtime[:name]}")
|
345
|
-
if d_total_min < mins && dut.tap?({:x => showtime[:x] + (showtime[:width] * 0.5),
|
346
|
-
:y => showtime[:y] + (showtime[:height] * 0.5),
|
347
|
-
:coordinates => true})
|
348
|
-
enter_pin_once
|
349
|
-
dismiss_hint_once
|
350
|
-
#TODO: the below should work, but Android stops returning screenshots when you tap a title in Live TV
|
351
|
-
#return get_highlighted_channel_title
|
352
|
-
return title[:text], showtime[:text]
|
353
|
-
end
|
354
|
-
end
|
355
|
-
# Scroll down until we find the required channel
|
356
|
-
logger.info("Visible channels: #{titles.map {|t| t[:text]}.inspect}")
|
357
|
-
if titles.eql?(last_titles ||= nil)
|
358
|
-
scroll_dir = scroll_dir.eql?(:up) ? :down : :up
|
359
|
-
end
|
360
|
-
tcfail 'Failed to scroll down!' unless scroll?(scroll_dir, 1, :area => scroll_area)
|
361
|
-
last_titles = titles
|
362
|
-
titles = get_visible_channel_titles(:element => true)
|
363
|
-
end
|
364
|
-
tcfail "Failed to find a channel ending within #{ms / 1.min} minutes!"
|
365
|
-
end
|
366
|
-
|
367
|
-
# Returns true if successfully applied a filter to speed things up
|
368
|
-
def apply_filter?
|
369
|
-
filter_by?('News')
|
370
|
-
end
|
371
|
-
|
372
|
-
end
|