framework_gem 0.1.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 +7 -0
- data/lib/EXECUTION_ENGINE.md +282 -0
- data/lib/Gemfile +12 -0
- data/lib/README.md +138 -0
- data/lib/User_Lib/helpers/helpers.rb +13 -0
- data/lib/User_Lib/rois/apple_tv/apple_tv_1080/apple_tv_1080_black_rois.rb +7 -0
- data/lib/User_Lib/rois/apple_tv/apple_tv_1080/apple_tv_1080_color_rois.rb +9 -0
- data/lib/User_Lib/rois/apple_tv/apple_tv_1080/apple_tv_1080_image_rois.rb +7 -0
- data/lib/User_Lib/rois/apple_tv/apple_tv_1080/apple_tv_1080_rois.rb +23 -0
- data/lib/User_Lib/rois/apple_tv/apple_tv_1080/apple_tv_1080_text_rois.rb +48 -0
- data/lib/User_Lib/rois/apple_tv/apple_tv_1080/apple_tv_1080_video_rois.rb +11 -0
- data/lib/User_Lib/rois/apple_tv/apple_tv_720/apple_tv_720_black_rois.rb +7 -0
- data/lib/User_Lib/rois/apple_tv/apple_tv_720/apple_tv_720_color_rois.rb +7 -0
- data/lib/User_Lib/rois/apple_tv/apple_tv_720/apple_tv_720_image_rois.rb +7 -0
- data/lib/User_Lib/rois/apple_tv/apple_tv_720/apple_tv_720_rois.rb +23 -0
- data/lib/User_Lib/rois/apple_tv/apple_tv_720/apple_tv_720_text_rois.rb +7 -0
- data/lib/User_Lib/rois/apple_tv/apple_tv_720/apple_tv_720_video_rois.rb +11 -0
- data/lib/User_Lib/rois/apple_tv/apple_tv_black_rois.rb +7 -0
- data/lib/User_Lib/rois/apple_tv/apple_tv_color_rois.rb +7 -0
- data/lib/User_Lib/rois/apple_tv/apple_tv_image_rois.rb +7 -0
- data/lib/User_Lib/rois/apple_tv/apple_tv_rois.rb +23 -0
- data/lib/User_Lib/rois/apple_tv/apple_tv_text_rois.rb +7 -0
- data/lib/User_Lib/rois/apple_tv/apple_tv_video_rois.rb +7 -0
- data/lib/User_Lib/rois/black_rois.rb +33 -0
- data/lib/User_Lib/rois/color_rois.rb +38 -0
- data/lib/User_Lib/rois/dta/dta_1080/dta_1080_black_rois.rb +8 -0
- data/lib/User_Lib/rois/dta/dta_1080/dta_1080_color_rois.rb +8 -0
- data/lib/User_Lib/rois/dta/dta_1080/dta_1080_image_rois.rb +8 -0
- data/lib/User_Lib/rois/dta/dta_1080/dta_1080_rois.rb +26 -0
- data/lib/User_Lib/rois/dta/dta_1080/dta_1080_text_rois.rb +8 -0
- data/lib/User_Lib/rois/dta/dta_1080/dta_1080_video_rois.rb +8 -0
- data/lib/User_Lib/rois/dta/dta_720/dta_720_black_rois.rb +8 -0
- data/lib/User_Lib/rois/dta/dta_720/dta_720_color_rois.rb +8 -0
- data/lib/User_Lib/rois/dta/dta_720/dta_720_image_rois.rb +8 -0
- data/lib/User_Lib/rois/dta/dta_720/dta_720_rois.rb +26 -0
- data/lib/User_Lib/rois/dta/dta_720/dta_720_text_rois.rb +8 -0
- data/lib/User_Lib/rois/dta/dta_720/dta_720_video_rois.rb +8 -0
- data/lib/User_Lib/rois/dta/dta_black_rois.rb +9 -0
- data/lib/User_Lib/rois/dta/dta_color_rois.rb +9 -0
- data/lib/User_Lib/rois/dta/dta_image_rois.rb +9 -0
- data/lib/User_Lib/rois/dta/dta_rois.rb +26 -0
- data/lib/User_Lib/rois/dta/dta_text_rois.rb +9 -0
- data/lib/User_Lib/rois/dta/dta_video_rois.rb +9 -0
- data/lib/User_Lib/rois/image_rois.rb +38 -0
- data/lib/User_Lib/rois/mdn/mdn_1080/mdn_1080_black_rois.rb +8 -0
- data/lib/User_Lib/rois/mdn/mdn_1080/mdn_1080_color_rois.rb +8 -0
- data/lib/User_Lib/rois/mdn/mdn_1080/mdn_1080_image_rois.rb +8 -0
- data/lib/User_Lib/rois/mdn/mdn_1080/mdn_1080_rois.rb +26 -0
- data/lib/User_Lib/rois/mdn/mdn_1080/mdn_1080_text_rois.rb +8 -0
- data/lib/User_Lib/rois/mdn/mdn_1080/mdn_1080_video_rois.rb +8 -0
- data/lib/User_Lib/rois/mdn/mdn_720/mdn_720_black_rois.rb +8 -0
- data/lib/User_Lib/rois/mdn/mdn_720/mdn_720_color_rois.rb +8 -0
- data/lib/User_Lib/rois/mdn/mdn_720/mdn_720_image_rois.rb +8 -0
- data/lib/User_Lib/rois/mdn/mdn_720/mdn_720_rois.rb +26 -0
- data/lib/User_Lib/rois/mdn/mdn_720/mdn_720_text_rois.rb +8 -0
- data/lib/User_Lib/rois/mdn/mdn_720/mdn_720_video_rois.rb +8 -0
- data/lib/User_Lib/rois/mdn/mdn_black_rois.rb +9 -0
- data/lib/User_Lib/rois/mdn/mdn_color_rois.rb +9 -0
- data/lib/User_Lib/rois/mdn/mdn_image_rois.rb +9 -0
- data/lib/User_Lib/rois/mdn/mdn_rois.rb +26 -0
- data/lib/User_Lib/rois/mdn/mdn_text_rois.rb +13 -0
- data/lib/User_Lib/rois/mdn/mdn_video_rois.rb +9 -0
- data/lib/User_Lib/rois/mobile/android/android_black_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/android/android_color_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/android/android_image_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/android/android_phone/android_phone_black_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/android/android_phone/android_phone_color_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/android/android_phone/android_phone_image_rois.rb +43 -0
- data/lib/User_Lib/rois/mobile/android/android_phone/android_phone_rois.rb +22 -0
- data/lib/User_Lib/rois/mobile/android/android_phone/android_phone_text_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/android/android_phone/android_phone_video_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/android/android_rois.rb +22 -0
- data/lib/User_Lib/rois/mobile/android/android_tablet/android_tablet_black_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/android/android_tablet/android_tablet_color_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/android/android_tablet/android_tablet_image_rois.rb +54 -0
- data/lib/User_Lib/rois/mobile/android/android_tablet/android_tablet_rois.rb +22 -0
- data/lib/User_Lib/rois/mobile/android/android_tablet/android_tablet_text_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/android/android_tablet/android_tablet_video_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/android/android_text_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/android/android_video_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/ios/ios_black_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/ios/ios_color_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/ios/ios_image_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/ios/ios_phone/ios_phone_black_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/ios/ios_phone/ios_phone_color_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/ios/ios_phone/ios_phone_image_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/ios/ios_phone/ios_phone_rois.rb +22 -0
- data/lib/User_Lib/rois/mobile/ios/ios_phone/ios_phone_text_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/ios/ios_phone/ios_phone_video_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/ios/ios_rois.rb +22 -0
- data/lib/User_Lib/rois/mobile/ios/ios_tablet/ios_tablet_black_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/ios/ios_tablet/ios_tablet_color_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/ios/ios_tablet/ios_tablet_image_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/ios/ios_tablet/ios_tablet_rois.rb +22 -0
- data/lib/User_Lib/rois/mobile/ios/ios_tablet/ios_tablet_text_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/ios/ios_tablet/ios_tablet_video_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/ios/ios_text_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/ios/ios_video_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/mobile_black_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/mobile_color_rois.rb +12 -0
- data/lib/User_Lib/rois/mobile/mobile_image_rois.rb +38 -0
- data/lib/User_Lib/rois/mobile/mobile_rois.rb +22 -0
- data/lib/User_Lib/rois/mobile/mobile_text_rois.rb +8 -0
- data/lib/User_Lib/rois/mobile/mobile_video_rois.rb +8 -0
- data/lib/User_Lib/rois/passport/passport_1080/passport_1080_black_rois.rb +7 -0
- data/lib/User_Lib/rois/passport/passport_1080/passport_1080_color_rois.rb +9 -0
- data/lib/User_Lib/rois/passport/passport_1080/passport_1080_image_rois.rb +7 -0
- data/lib/User_Lib/rois/passport/passport_1080/passport_1080_rois.rb +23 -0
- data/lib/User_Lib/rois/passport/passport_1080/passport_1080_text_rois.rb +8 -0
- data/lib/User_Lib/rois/passport/passport_1080/passport_1080_video_rois.rb +8 -0
- data/lib/User_Lib/rois/passport/passport_720/passport_720_black_rois.rb +7 -0
- data/lib/User_Lib/rois/passport/passport_720/passport_720_color_rois.rb +7 -0
- data/lib/User_Lib/rois/passport/passport_720/passport_720_image_rois.rb +7 -0
- data/lib/User_Lib/rois/passport/passport_720/passport_720_rois.rb +23 -0
- data/lib/User_Lib/rois/passport/passport_720/passport_720_text_rois.rb +7 -0
- data/lib/User_Lib/rois/passport/passport_720/passport_720_video_rois.rb +7 -0
- data/lib/User_Lib/rois/passport/passport_black_rois.rb +7 -0
- data/lib/User_Lib/rois/passport/passport_color_rois.rb +7 -0
- data/lib/User_Lib/rois/passport/passport_image_rois.rb +7 -0
- data/lib/User_Lib/rois/passport/passport_rois.rb +23 -0
- data/lib/User_Lib/rois/passport/passport_text_rois.rb +7 -0
- data/lib/User_Lib/rois/passport/passport_video_rois.rb +7 -0
- data/lib/User_Lib/rois/rois.rb +22 -0
- data/lib/User_Lib/rois/roku/roku_720/roku_720_black_rois.rb +37 -0
- data/lib/User_Lib/rois/roku/roku_720/roku_720_color_rois.rb +336 -0
- data/lib/User_Lib/rois/roku/roku_720/roku_720_image_rois.rb +235 -0
- data/lib/User_Lib/rois/roku/roku_720/roku_720_rois.rb +23 -0
- data/lib/User_Lib/rois/roku/roku_720/roku_720_text_rois.rb +1523 -0
- data/lib/User_Lib/rois/roku/roku_720/roku_720_video_rois.rb +32 -0
- data/lib/User_Lib/rois/roku/roku_black_rois.rb +14 -0
- data/lib/User_Lib/rois/roku/roku_color_rois.rb +9 -0
- data/lib/User_Lib/rois/roku/roku_image_rois.rb +13 -0
- data/lib/User_Lib/rois/roku/roku_rois.rb +23 -0
- data/lib/User_Lib/rois/roku/roku_text_rois.rb +9 -0
- data/lib/User_Lib/rois/roku/roku_video_rois.rb +9 -0
- data/lib/User_Lib/rois/roku_tv/roku_tv_1080/roku_tv_1080_black_rois.rb +12 -0
- data/lib/User_Lib/rois/roku_tv/roku_tv_1080/roku_tv_1080_color_rois.rb +11 -0
- data/lib/User_Lib/rois/roku_tv/roku_tv_1080/roku_tv_1080_image_rois.rb +12 -0
- data/lib/User_Lib/rois/roku_tv/roku_tv_1080/roku_tv_1080_rois.rb +23 -0
- data/lib/User_Lib/rois/roku_tv/roku_tv_1080/roku_tv_1080_text_rois.rb +12 -0
- data/lib/User_Lib/rois/roku_tv/roku_tv_1080/roku_tv_1080_video_rois.rb +12 -0
- data/lib/User_Lib/rois/roku_tv/roku_tv_720/roku_tv_720_black_rois.rb +12 -0
- data/lib/User_Lib/rois/roku_tv/roku_tv_720/roku_tv_720_color_rois.rb +12 -0
- data/lib/User_Lib/rois/roku_tv/roku_tv_720/roku_tv_720_image_rois.rb +12 -0
- data/lib/User_Lib/rois/roku_tv/roku_tv_720/roku_tv_720_rois.rb +23 -0
- data/lib/User_Lib/rois/roku_tv/roku_tv_720/roku_tv_720_text_rois.rb +12 -0
- data/lib/User_Lib/rois/roku_tv/roku_tv_720/roku_tv_720_video_rois.rb +12 -0
- data/lib/User_Lib/rois/roku_tv/roku_tv_black_rois.rb +12 -0
- data/lib/User_Lib/rois/roku_tv/roku_tv_color_rois.rb +12 -0
- data/lib/User_Lib/rois/roku_tv/roku_tv_image_rois.rb +12 -0
- data/lib/User_Lib/rois/roku_tv/roku_tv_rois.rb +23 -0
- data/lib/User_Lib/rois/roku_tv/roku_tv_text_rois.rb +12 -0
- data/lib/User_Lib/rois/roku_tv/roku_tv_video_rois.rb +12 -0
- data/lib/User_Lib/rois/samsung_tv/samsung_tv_1080/samsung_tv_1080_black_rois.rb +13 -0
- data/lib/User_Lib/rois/samsung_tv/samsung_tv_1080/samsung_tv_1080_color_rois.rb +29 -0
- data/lib/User_Lib/rois/samsung_tv/samsung_tv_1080/samsung_tv_1080_image_rois.rb +9 -0
- data/lib/User_Lib/rois/samsung_tv/samsung_tv_1080/samsung_tv_1080_rois.rb +23 -0
- data/lib/User_Lib/rois/samsung_tv/samsung_tv_1080/samsung_tv_1080_text_rois.rb +92 -0
- data/lib/User_Lib/rois/samsung_tv/samsung_tv_1080/samsung_tv_1080_video_rois.rb +11 -0
- data/lib/User_Lib/rois/samsung_tv/samsung_tv_720/samsung_tv_720_black_rois.rb +9 -0
- data/lib/User_Lib/rois/samsung_tv/samsung_tv_720/samsung_tv_720_color_rois.rb +9 -0
- data/lib/User_Lib/rois/samsung_tv/samsung_tv_720/samsung_tv_720_image_rois.rb +9 -0
- data/lib/User_Lib/rois/samsung_tv/samsung_tv_720/samsung_tv_720_rois.rb +23 -0
- data/lib/User_Lib/rois/samsung_tv/samsung_tv_720/samsung_tv_720_text_rois.rb +12 -0
- data/lib/User_Lib/rois/samsung_tv/samsung_tv_720/samsung_tv_720_video_rois.rb +11 -0
- data/lib/User_Lib/rois/samsung_tv/samsung_tv_black_rois.rb +9 -0
- data/lib/User_Lib/rois/samsung_tv/samsung_tv_color_rois.rb +9 -0
- data/lib/User_Lib/rois/samsung_tv/samsung_tv_image_rois.rb +9 -0
- data/lib/User_Lib/rois/samsung_tv/samsung_tv_rois.rb +23 -0
- data/lib/User_Lib/rois/samsung_tv/samsung_tv_text_rois.rb +12 -0
- data/lib/User_Lib/rois/samsung_tv/samsung_tv_video_rois.rb +9 -0
- data/lib/User_Lib/rois/sara/sara_1080/sara_1080_black_rois.rb +8 -0
- data/lib/User_Lib/rois/sara/sara_1080/sara_1080_color_rois.rb +8 -0
- data/lib/User_Lib/rois/sara/sara_1080/sara_1080_image_rois.rb +8 -0
- data/lib/User_Lib/rois/sara/sara_1080/sara_1080_rois.rb +26 -0
- data/lib/User_Lib/rois/sara/sara_1080/sara_1080_text_rois.rb +8 -0
- data/lib/User_Lib/rois/sara/sara_1080/sara_1080_video_rois.rb +8 -0
- data/lib/User_Lib/rois/sara/sara_720/sara_720_black_rois.rb +8 -0
- data/lib/User_Lib/rois/sara/sara_720/sara_720_color_rois.rb +8 -0
- data/lib/User_Lib/rois/sara/sara_720/sara_720_image_rois.rb +8 -0
- data/lib/User_Lib/rois/sara/sara_720/sara_720_rois.rb +26 -0
- data/lib/User_Lib/rois/sara/sara_720/sara_720_text_rois.rb +8 -0
- data/lib/User_Lib/rois/sara/sara_720/sara_720_video_rois.rb +8 -0
- data/lib/User_Lib/rois/sara/sara_black_rois.rb +9 -0
- data/lib/User_Lib/rois/sara/sara_color_rois.rb +9 -0
- data/lib/User_Lib/rois/sara/sara_image_rois.rb +9 -0
- data/lib/User_Lib/rois/sara/sara_rois.rb +26 -0
- data/lib/User_Lib/rois/sara/sara_text_rois.rb +9 -0
- data/lib/User_Lib/rois/sara/sara_video_rois.rb +9 -0
- data/lib/User_Lib/rois/stb/iguide/iguide_1080/iguide_1080_black_rois.rb +9 -0
- data/lib/User_Lib/rois/stb/iguide/iguide_1080/iguide_1080_color_rois.rb +17 -0
- data/lib/User_Lib/rois/stb/iguide/iguide_1080/iguide_1080_image_rois.rb +19 -0
- data/lib/User_Lib/rois/stb/iguide/iguide_1080/iguide_1080_rois.rb +23 -0
- data/lib/User_Lib/rois/stb/iguide/iguide_1080/iguide_1080_text_rois.rb +47 -0
- data/lib/User_Lib/rois/stb/iguide/iguide_1080/iguide_1080_video_rois.rb +23 -0
- data/lib/User_Lib/rois/stb/iguide/iguide_720/iguide_720_black_rois.rb +9 -0
- data/lib/User_Lib/rois/stb/iguide/iguide_720/iguide_720_color_rois.rb +9 -0
- data/lib/User_Lib/rois/stb/iguide/iguide_720/iguide_720_image_rois.rb +9 -0
- data/lib/User_Lib/rois/stb/iguide/iguide_720/iguide_720_rois.rb +23 -0
- data/lib/User_Lib/rois/stb/iguide/iguide_720/iguide_720_text_rois.rb +17 -0
- data/lib/User_Lib/rois/stb/iguide/iguide_720/iguide_720_video_rois.rb +11 -0
- data/lib/User_Lib/rois/stb/iguide/iguide_black_rois.rb +9 -0
- data/lib/User_Lib/rois/stb/iguide/iguide_color_rois.rb +9 -0
- data/lib/User_Lib/rois/stb/iguide/iguide_image_rois.rb +9 -0
- data/lib/User_Lib/rois/stb/iguide/iguide_rois.rb +23 -0
- data/lib/User_Lib/rois/stb/iguide/iguide_text_rois.rb +9 -0
- data/lib/User_Lib/rois/stb/iguide/iguide_video_rois.rb +9 -0
- data/lib/User_Lib/rois/stb/odn/odn_1080/odn_1080_black_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/odn/odn_1080/odn_1080_color_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/odn/odn_1080/odn_1080_image_rois.rb +12 -0
- data/lib/User_Lib/rois/stb/odn/odn_1080/odn_1080_rois.rb +23 -0
- data/lib/User_Lib/rois/stb/odn/odn_1080/odn_1080_text_rois.rb +23 -0
- data/lib/User_Lib/rois/stb/odn/odn_1080/odn_1080_video_rois.rb +11 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_black_rois.rb +46 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_color_rois.rb +142 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_image_rois.rb +103 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_moto/odn_720_moto_black_rois.rb +6 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_moto/odn_720_moto_color_rois.rb +6 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_moto/odn_720_moto_image_rois.rb +6 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_moto/odn_720_moto_rois.rb +23 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_moto/odn_720_moto_text_rois.rb +7 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_moto/odn_720_moto_video_rois.rb +7 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_rois.rb +23 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_sa/odn_720_sa_black_rois.rb +6 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_sa/odn_720_sa_color_rois.rb +6 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_sa/odn_720_sa_image_rois.rb +6 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_sa/odn_720_sa_rois.rb +23 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_sa/odn_720_sa_text_rois.rb +7 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_sa/odn_720_sa_video_rois.rb +7 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_black_rois.rb +6 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_color_rois.rb +77 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_image_rois.rb +67 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_rois.rb +23 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_text_rois.rb +159 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_video_rois.rb +17 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_text_rois.rb +221 -0
- data/lib/User_Lib/rois/stb/odn/odn_720/odn_720_video_rois.rb +26 -0
- data/lib/User_Lib/rois/stb/odn/odn_black_rois.rb +10 -0
- data/lib/User_Lib/rois/stb/odn/odn_color_rois.rb +10 -0
- data/lib/User_Lib/rois/stb/odn/odn_image_rois.rb +58 -0
- data/lib/User_Lib/rois/stb/odn/odn_rois.rb +23 -0
- data/lib/User_Lib/rois/stb/odn/odn_text_rois.rb +70 -0
- data/lib/User_Lib/rois/stb/odn/odn_video_rois.rb +19 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_black_rois.rb +16 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_color_rois.rb +373 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_black_rois.rb +7 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_color_rois.rb +7 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_image_rois.rb +7 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_rois.rb +23 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_text_rois.rb +7 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_video_rois.rb +7 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_black_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_color_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_image_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_rois.rb +26 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_text_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_video_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_black_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_color_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_image_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_rois.rb +26 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_text_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_video_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_black_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_color_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_image_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_rois.rb +26 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_text_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_video_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_image_rois.rb +1592 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_black_rois.rb +7 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_color_rois.rb +7 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_image_rois.rb +7 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_rois.rb +23 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_text_rois.rb +7 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_video_rois.rb +7 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_rois.rb +23 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_text_rois.rb +2489 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_1080/spectrum_1080_video_rois.rb +64 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_black_rois.rb +7 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_color_rois.rb +63 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_black_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_color_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_image_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_rois.rb +26 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_text_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_video_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_black_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_color_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_image_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_rois.rb +26 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_text_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_video_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_black_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_color_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_image_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_rois.rb +26 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_text_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_video_rois.rb +8 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_image_rois.rb +117 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_rois.rb +23 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_text_rois.rb +84 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_720/spectrum_720_video_rois.rb +35 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_black_rois.rb +9 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_color_rois.rb +17 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_image_rois.rb +49 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_rois.rb +23 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_text_rois.rb +51 -0
- data/lib/User_Lib/rois/stb/spectrum/spectrum_video_rois.rb +9 -0
- data/lib/User_Lib/rois/stb/stb_black_rois.rb +9 -0
- data/lib/User_Lib/rois/stb/stb_color_rois.rb +9 -0
- data/lib/User_Lib/rois/stb/stb_image_rois.rb +9 -0
- data/lib/User_Lib/rois/stb/stb_rois.rb +23 -0
- data/lib/User_Lib/rois/stb/stb_text_rois.rb +9 -0
- data/lib/User_Lib/rois/stb/stb_video_rois.rb +9 -0
- data/lib/User_Lib/rois/template.txt +23 -0
- data/lib/User_Lib/rois/text_rois.rb +36 -0
- data/lib/User_Lib/rois/tivo/tivo_1080/tivo_1080_black_rois.rb +7 -0
- data/lib/User_Lib/rois/tivo/tivo_1080/tivo_1080_color_rois.rb +9 -0
- data/lib/User_Lib/rois/tivo/tivo_1080/tivo_1080_image_rois.rb +7 -0
- data/lib/User_Lib/rois/tivo/tivo_1080/tivo_1080_rois.rb +23 -0
- data/lib/User_Lib/rois/tivo/tivo_1080/tivo_1080_text_rois.rb +9 -0
- data/lib/User_Lib/rois/tivo/tivo_1080/tivo_1080_video_rois.rb +7 -0
- data/lib/User_Lib/rois/tivo/tivo_720/tivo_720_black_rois.rb +7 -0
- data/lib/User_Lib/rois/tivo/tivo_720/tivo_720_color_rois.rb +7 -0
- data/lib/User_Lib/rois/tivo/tivo_720/tivo_720_image_rois.rb +7 -0
- data/lib/User_Lib/rois/tivo/tivo_720/tivo_720_rois.rb +23 -0
- data/lib/User_Lib/rois/tivo/tivo_720/tivo_720_text_rois.rb +7 -0
- data/lib/User_Lib/rois/tivo/tivo_720/tivo_720_video_rois.rb +7 -0
- data/lib/User_Lib/rois/tivo/tivo_black_rois.rb +7 -0
- data/lib/User_Lib/rois/tivo/tivo_color_rois.rb +7 -0
- data/lib/User_Lib/rois/tivo/tivo_image_rois.rb +7 -0
- data/lib/User_Lib/rois/tivo/tivo_rois.rb +23 -0
- data/lib/User_Lib/rois/tivo/tivo_text_rois.rb +7 -0
- data/lib/User_Lib/rois/tivo/tivo_video_rois.rb +7 -0
- data/lib/User_Lib/rois/video_rois.rb +33 -0
- data/lib/User_Lib/screen/apple_tv/apple_tv_dvr.rb +25 -0
- data/lib/User_Lib/screen/apple_tv/apple_tv_guide.rb +25 -0
- data/lib/User_Lib/screen/apple_tv/apple_tv_library.rb +25 -0
- data/lib/User_Lib/screen/apple_tv/apple_tv_live_tv.rb +17 -0
- data/lib/User_Lib/screen/apple_tv/apple_tv_login.rb +24 -0
- data/lib/User_Lib/screen/apple_tv/apple_tv_main_menu.rb +25 -0
- data/lib/User_Lib/screen/apple_tv/apple_tv_mini_guide.rb +25 -0
- data/lib/User_Lib/screen/apple_tv/apple_tv_movies.rb +25 -0
- data/lib/User_Lib/screen/apple_tv/apple_tv_on_demand.rb +25 -0
- data/lib/User_Lib/screen/apple_tv/apple_tv_parental_controls.rb +25 -0
- data/lib/User_Lib/screen/apple_tv/apple_tv_product_page.rb +25 -0
- data/lib/User_Lib/screen/apple_tv/apple_tv_screen.rb +23 -0
- data/lib/User_Lib/screen/apple_tv/apple_tv_search.rb +31 -0
- data/lib/User_Lib/screen/apple_tv/apple_tv_settings.rb +25 -0
- data/lib/User_Lib/screen/apple_tv/apple_tv_tv_shows.rb +25 -0
- data/lib/User_Lib/screen/apple_tv/apple_tv_video_store.rb +25 -0
- data/lib/User_Lib/screen/dta/dta_dvr.rb +26 -0
- data/lib/User_Lib/screen/dta/dta_guide.rb +26 -0
- data/lib/User_Lib/screen/dta/dta_library.rb +26 -0
- data/lib/User_Lib/screen/dta/dta_live_tv.rb +26 -0
- data/lib/User_Lib/screen/dta/dta_log_in.rb +26 -0
- data/lib/User_Lib/screen/dta/dta_main_menu.rb +26 -0
- data/lib/User_Lib/screen/dta/dta_mini_guide.rb +26 -0
- data/lib/User_Lib/screen/dta/dta_movies.rb +26 -0
- data/lib/User_Lib/screen/dta/dta_on_demand.rb +26 -0
- data/lib/User_Lib/screen/dta/dta_parental_controls.rb +26 -0
- data/lib/User_Lib/screen/dta/dta_product_page.rb +26 -0
- data/lib/User_Lib/screen/dta/dta_screen.rb +24 -0
- data/lib/User_Lib/screen/dta/dta_search.rb +26 -0
- data/lib/User_Lib/screen/dta/dta_settings.rb +26 -0
- data/lib/User_Lib/screen/dta/dta_tv_shows.rb +26 -0
- data/lib/User_Lib/screen/dta/dta_video_store.rb +26 -0
- data/lib/User_Lib/screen/mdn/mdn_dvr.rb +26 -0
- data/lib/User_Lib/screen/mdn/mdn_guide.rb +26 -0
- data/lib/User_Lib/screen/mdn/mdn_library.rb +26 -0
- data/lib/User_Lib/screen/mdn/mdn_live_tv.rb +26 -0
- data/lib/User_Lib/screen/mdn/mdn_log_in.rb +26 -0
- data/lib/User_Lib/screen/mdn/mdn_main_menu.rb +26 -0
- data/lib/User_Lib/screen/mdn/mdn_mini_guide.rb +26 -0
- data/lib/User_Lib/screen/mdn/mdn_movies.rb +26 -0
- data/lib/User_Lib/screen/mdn/mdn_on_demand.rb +26 -0
- data/lib/User_Lib/screen/mdn/mdn_parental_controls.rb +26 -0
- data/lib/User_Lib/screen/mdn/mdn_product_page.rb +26 -0
- data/lib/User_Lib/screen/mdn/mdn_screen.rb +24 -0
- data/lib/User_Lib/screen/mdn/mdn_search.rb +26 -0
- data/lib/User_Lib/screen/mdn/mdn_settings.rb +26 -0
- data/lib/User_Lib/screen/mdn/mdn_tv_shows.rb +26 -0
- data/lib/User_Lib/screen/mdn/mdn_video_store.rb +26 -0
- data/lib/User_Lib/screen/mobile/android/android_devices.rb +35 -0
- data/lib/User_Lib/screen/mobile/android/android_dvr.rb +337 -0
- data/lib/User_Lib/screen/mobile/android/android_favorites.rb +164 -0
- data/lib/User_Lib/screen/mobile/android/android_guide.rb +256 -0
- data/lib/User_Lib/screen/mobile/android/android_live_tv.rb +372 -0
- data/lib/User_Lib/screen/mobile/android/android_login.rb +111 -0
- data/lib/User_Lib/screen/mobile/android/android_main_menu.rb +53 -0
- data/lib/User_Lib/screen/mobile/android/android_on_demand.rb +402 -0
- data/lib/User_Lib/screen/mobile/android/android_parental_controls.rb +73 -0
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_dvr.rb +31 -0
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_guide.rb +39 -0
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_live_tv.rb +104 -0
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_main_menu.rb +27 -0
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_on_demand.rb +35 -0
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_product_page.rb +7 -0
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_search.rb +26 -0
- data/lib/User_Lib/screen/mobile/android/android_privacy_legal.rb +54 -0
- data/lib/User_Lib/screen/mobile/android/android_product_page.rb +484 -0
- data/lib/User_Lib/screen/mobile/android/android_screen.rb +56 -0
- data/lib/User_Lib/screen/mobile/android/android_search.rb +39 -0
- data/lib/User_Lib/screen/mobile/android/android_settings.rb +90 -0
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_dvr.rb +58 -0
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_guide.rb +24 -0
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_live_tv.rb +24 -0
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_main_menu.rb +19 -0
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_on_demand.rb +16 -0
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_product_page.rb +45 -0
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_search.rb +14 -0
- data/lib/User_Lib/screen/mobile/devices_mobile.rb +53 -0
- data/lib/User_Lib/screen/mobile/dvr_mobile.rb +5 -0
- data/lib/User_Lib/screen/mobile/favorites_mobile.rb +5 -0
- data/lib/User_Lib/screen/mobile/guide_mobile.rb +5 -0
- data/lib/User_Lib/screen/mobile/ios/ios_devices.rb +43 -0
- data/lib/User_Lib/screen/mobile/ios/ios_dvr.rb +231 -0
- data/lib/User_Lib/screen/mobile/ios/ios_favorites.rb +79 -0
- data/lib/User_Lib/screen/mobile/ios/ios_guide.rb +53 -0
- data/lib/User_Lib/screen/mobile/ios/ios_live_tv.rb +413 -0
- data/lib/User_Lib/screen/mobile/ios/ios_login.rb +76 -0
- data/lib/User_Lib/screen/mobile/ios/ios_main_menu.rb +38 -0
- data/lib/User_Lib/screen/mobile/ios/ios_on_demand.rb +371 -0
- data/lib/User_Lib/screen/mobile/ios/ios_parental_controls.rb +104 -0
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_dvr.rb +14 -0
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_live_tv.rb +36 -0
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_main_menu.rb +7 -0
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_on_demand.rb +7 -0
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_search.rb +13 -0
- data/lib/User_Lib/screen/mobile/ios/ios_privacy_legal.rb +56 -0
- data/lib/User_Lib/screen/mobile/ios/ios_product_page.rb +441 -0
- data/lib/User_Lib/screen/mobile/ios/ios_screen.rb +60 -0
- data/lib/User_Lib/screen/mobile/ios/ios_search.rb +145 -0
- data/lib/User_Lib/screen/mobile/ios/ios_settings.rb +34 -0
- data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_live_tv.rb +34 -0
- data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_main_menu.rb +7 -0
- data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_on_demand.rb +7 -0
- data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_search.rb +13 -0
- data/lib/User_Lib/screen/mobile/live_tv_mobile.rb +73 -0
- data/lib/User_Lib/screen/mobile/login_mobile.rb +5 -0
- data/lib/User_Lib/screen/mobile/main_menu_mobile.rb +83 -0
- data/lib/User_Lib/screen/mobile/mobile_screen.rb +232 -0
- data/lib/User_Lib/screen/mobile/on_demand_mobile.rb +70 -0
- data/lib/User_Lib/screen/mobile/parental_controls_mobile.rb +5 -0
- data/lib/User_Lib/screen/mobile/privacy_legal_mobile.rb +5 -0
- data/lib/User_Lib/screen/mobile/product_page_mobile.rb +5 -0
- data/lib/User_Lib/screen/mobile/search_mobile.rb +5 -0
- data/lib/User_Lib/screen/mobile/settings_mobile.rb +33 -0
- data/lib/User_Lib/screen/passport/passport_dvr.rb +25 -0
- data/lib/User_Lib/screen/passport/passport_guide.rb +37 -0
- data/lib/User_Lib/screen/passport/passport_library.rb +25 -0
- data/lib/User_Lib/screen/passport/passport_live_tv.rb +17 -0
- data/lib/User_Lib/screen/passport/passport_main_menu.rb +25 -0
- data/lib/User_Lib/screen/passport/passport_mini_guide.rb +25 -0
- data/lib/User_Lib/screen/passport/passport_movies.rb +25 -0
- data/lib/User_Lib/screen/passport/passport_on_demand.rb +25 -0
- data/lib/User_Lib/screen/passport/passport_parental_controls.rb +25 -0
- data/lib/User_Lib/screen/passport/passport_product_page.rb +25 -0
- data/lib/User_Lib/screen/passport/passport_screen.rb +23 -0
- data/lib/User_Lib/screen/passport/passport_search.rb +25 -0
- data/lib/User_Lib/screen/passport/passport_settings.rb +25 -0
- data/lib/User_Lib/screen/passport/passport_tv_shows.rb +25 -0
- data/lib/User_Lib/screen/passport/passport_video_store.rb +25 -0
- data/lib/User_Lib/screen/roku/brs/roku_guide_brs.rb +12 -0
- data/lib/User_Lib/screen/roku/brs/roku_home_brs.rb +12 -0
- data/lib/User_Lib/screen/roku/brs/roku_live_tv_brs.rb +12 -0
- data/lib/User_Lib/screen/roku/brs/roku_login_brs.rb +103 -0
- data/lib/User_Lib/screen/roku/brs/roku_main_menu_brs.rb +46 -0
- data/lib/User_Lib/screen/roku/brs/roku_on_demand_brs.rb +12 -0
- data/lib/User_Lib/screen/roku/brs/roku_product_page_brs.rb +12 -0
- data/lib/User_Lib/screen/roku/brs/roku_screen_brs.rb +9 -0
- data/lib/User_Lib/screen/roku/brs/roku_search_brs.rb +12 -0
- data/lib/User_Lib/screen/roku/brs/roku_settings_brs.rb +42 -0
- data/lib/User_Lib/screen/roku/brs/roku_watch_later_brs.rb +12 -0
- data/lib/User_Lib/screen/roku/brs/roku_welcome_brs.rb +12 -0
- data/lib/User_Lib/screen/roku/roku_dvr.rb +7 -0
- data/lib/User_Lib/screen/roku/roku_guide.rb +590 -0
- data/lib/User_Lib/screen/roku/roku_home.rb +346 -0
- data/lib/User_Lib/screen/roku/roku_library.rb +26 -0
- data/lib/User_Lib/screen/roku/roku_live_tv.rb +210 -0
- data/lib/User_Lib/screen/roku/roku_login.rb +795 -0
- data/lib/User_Lib/screen/roku/roku_main_menu.rb +425 -0
- data/lib/User_Lib/screen/roku/roku_mini_guide.rb +7 -0
- data/lib/User_Lib/screen/roku/roku_on_demand.rb +479 -0
- data/lib/User_Lib/screen/roku/roku_product_page.rb +483 -0
- data/lib/User_Lib/screen/roku/roku_screen.rb +85 -0
- data/lib/User_Lib/screen/roku/roku_search.rb +229 -0
- data/lib/User_Lib/screen/roku/roku_settings.rb +304 -0
- data/lib/User_Lib/screen/roku/roku_watch_later.rb +51 -0
- data/lib/User_Lib/screen/roku/roku_welcome.rb +10 -0
- data/lib/User_Lib/screen/roku_tv/roku_tv_dvr.rb +14 -0
- data/lib/User_Lib/screen/roku_tv/roku_tv_guide.rb +14 -0
- data/lib/User_Lib/screen/roku_tv/roku_tv_home.rb +14 -0
- data/lib/User_Lib/screen/roku_tv/roku_tv_library.rb +14 -0
- data/lib/User_Lib/screen/roku_tv/roku_tv_live_tv.rb +14 -0
- data/lib/User_Lib/screen/roku_tv/roku_tv_login.rb +14 -0
- data/lib/User_Lib/screen/roku_tv/roku_tv_main_menu.rb +14 -0
- data/lib/User_Lib/screen/roku_tv/roku_tv_mini_guide.rb +14 -0
- data/lib/User_Lib/screen/roku_tv/roku_tv_on_demand.rb +26 -0
- data/lib/User_Lib/screen/roku_tv/roku_tv_product_page.rb +14 -0
- data/lib/User_Lib/screen/roku_tv/roku_tv_screen.rb +7 -0
- data/lib/User_Lib/screen/roku_tv/roku_tv_search.rb +14 -0
- data/lib/User_Lib/screen/roku_tv/roku_tv_settings.rb +14 -0
- data/lib/User_Lib/screen/roku_tv/roku_tv_watch_later.rb +14 -0
- data/lib/User_Lib/screen/roku_tv/roku_tv_welcome.rb +14 -0
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_dvr.rb +24 -0
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_guide.rb +24 -0
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_library.rb +24 -0
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_live_tv.rb +21 -0
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_login.rb +13 -0
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_main_menu.rb +64 -0
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_mini_guide.rb +24 -0
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_movies.rb +140 -0
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_on_demand.rb +76 -0
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_parental_controls.rb +24 -0
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_product_page.rb +24 -0
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_screen.rb +74 -0
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_search.rb +29 -0
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_settings.rb +189 -0
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_tv_shows.rb +24 -0
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_video_store.rb +24 -0
- data/lib/User_Lib/screen/sara/sara_dvr.rb +26 -0
- data/lib/User_Lib/screen/sara/sara_guide.rb +43 -0
- data/lib/User_Lib/screen/sara/sara_library.rb +26 -0
- data/lib/User_Lib/screen/sara/sara_live_tv.rb +26 -0
- data/lib/User_Lib/screen/sara/sara_log_in.rb +26 -0
- data/lib/User_Lib/screen/sara/sara_main_menu.rb +26 -0
- data/lib/User_Lib/screen/sara/sara_mini_guide.rb +26 -0
- data/lib/User_Lib/screen/sara/sara_movies.rb +26 -0
- data/lib/User_Lib/screen/sara/sara_on_demand.rb +26 -0
- data/lib/User_Lib/screen/sara/sara_parental_controls.rb +26 -0
- data/lib/User_Lib/screen/sara/sara_product_page.rb +26 -0
- data/lib/User_Lib/screen/sara/sara_screen.rb +24 -0
- data/lib/User_Lib/screen/sara/sara_search.rb +26 -0
- data/lib/User_Lib/screen/sara/sara_settings.rb +26 -0
- data/lib/User_Lib/screen/sara/sara_tv_shows.rb +26 -0
- data/lib/User_Lib/screen/sara/sara_video_store.rb +26 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_devices.rb +10 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_dvr.rb +10 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_favorites.rb +10 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_guide.rb +39 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_home.rb +10 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_library.rb +10 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_live_tv.rb +59 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_login.rb +10 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_main_menu.rb +10 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_mini_guide.rb +10 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_movies.rb +10 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_on_demand.rb +531 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_parental_controls.rb +10 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_privacy_legal.rb +10 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_product_page.rb +10 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_quick_menu.rb +7 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_screen.rb +21 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_search.rb +10 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_settings.rb +10 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_tv_shows.rb +10 -0
- data/lib/User_Lib/screen/stb/iguide/iguide_video_store.rb +10 -0
- data/lib/User_Lib/screen/stb/login_stb.rb +5 -0
- data/lib/User_Lib/screen/stb/odn/odn_dvr.rb +59 -0
- data/lib/User_Lib/screen/stb/odn/odn_favorites.rb +8 -0
- data/lib/User_Lib/screen/stb/odn/odn_guide.rb +177 -0
- data/lib/User_Lib/screen/stb/odn/odn_live_tv.rb +115 -0
- data/lib/User_Lib/screen/stb/odn/odn_login.rb +8 -0
- data/lib/User_Lib/screen/stb/odn/odn_main_menu.rb +175 -0
- data/lib/User_Lib/screen/stb/odn/odn_on_demand.rb +1170 -0
- data/lib/User_Lib/screen/stb/odn/odn_on_demand_kids.rb +23 -0
- data/lib/User_Lib/screen/stb/odn/odn_on_demand_left_menu.rb +180 -0
- data/lib/User_Lib/screen/stb/odn/odn_parental_controls.rb +9 -0
- data/lib/User_Lib/screen/stb/odn/odn_product_page.rb +8 -0
- data/lib/User_Lib/screen/stb/odn/odn_screen.rb +111 -0
- data/lib/User_Lib/screen/stb/odn/odn_search.rb +167 -0
- data/lib/User_Lib/screen/stb/odn/odn_settings.rb +142 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_diagnostics.rb +27 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/screen_spectrum_docsis.rb +12 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_guide.rb +10 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_main_menu.rb +10 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_settings.rb +10 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_dvr.rb +1781 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_guide.rb +841 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_library.rb +384 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_live_tv.rb +259 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_main_menu.rb +223 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_mini_guide.rb +404 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_movies.rb +420 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_netflix.rb +37 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_on_demand.rb +2137 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_parental_controls.rb +528 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_pay_per_view.rb +26 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_product_page.rb +58 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_screen.rb +48 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_search.rb +92 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_settings.rb +1657 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_tv_shows.rb +1532 -0
- data/lib/User_Lib/screen/stb/spectrum/spectrum_video_store.rb +1598 -0
- data/lib/User_Lib/screen/stb/stb_screen.rb +7 -0
- data/lib/User_Lib/screen/tivo/tivo_dvr.rb +25 -0
- data/lib/User_Lib/screen/tivo/tivo_guide.rb +25 -0
- data/lib/User_Lib/screen/tivo/tivo_library.rb +25 -0
- data/lib/User_Lib/screen/tivo/tivo_live_tv.rb +17 -0
- data/lib/User_Lib/screen/tivo/tivo_login.rb +25 -0
- data/lib/User_Lib/screen/tivo/tivo_main_menu.rb +25 -0
- data/lib/User_Lib/screen/tivo/tivo_mini_guide.rb +25 -0
- data/lib/User_Lib/screen/tivo/tivo_movies.rb +25 -0
- data/lib/User_Lib/screen/tivo/tivo_on_demand.rb +25 -0
- data/lib/User_Lib/screen/tivo/tivo_parental_controls.rb +25 -0
- data/lib/User_Lib/screen/tivo/tivo_product_page.rb +25 -0
- data/lib/User_Lib/screen/tivo/tivo_screen.rb +20 -0
- data/lib/User_Lib/screen/tivo/tivo_search.rb +31 -0
- data/lib/User_Lib/screen/tivo/tivo_settings.rb +25 -0
- data/lib/User_Lib/screen/tivo/tivo_tv_shows.rb +25 -0
- data/lib/User_Lib/screen/tivo/tivo_video_store.rb +25 -0
- data/lib/config/ConfigParams.xml +96 -0
- data/lib/config/ImageROI.xml +45 -0
- data/lib/config/ROI.xml +150 -0
- data/lib/config/Userlog4j.xml +62 -0
- data/lib/config/schema-docs/mode.xsd +12 -0
- data/lib/config/schema-docs/processTestJobs.xsd +63 -0
- data/lib/config/schema-docs/rackip.xsd +24 -0
- data/lib/copy_ref_images.rb +199 -0
- data/lib/copy_repo.rb +136 -0
- data/lib/diagnostics/conductor/conductor_checkup.tmc +24 -0
- data/lib/diagnostics/db/mad_db_check.tmc +56 -0
- data/lib/diagnostics/db/mas_db_checkup.tmc +24 -0
- data/lib/diagnostics/db/mas_db_checkup_gem.tmc +20 -0
- data/lib/diagnostics/db/mas_db_checkup_jar.tmc +50 -0
- data/lib/diagnostics/iguide/iguide_nvram_reset.tmc +23 -0
- data/lib/diagnostics/iguide/iguide_prepare_stb.tmc +33 -0
- data/lib/diagnostics/iguide/iguide_prepare_stb_and_health_check.tmc +63 -0
- data/lib/diagnostics/iguide/iguide_stb_health_check.tmc +54 -0
- data/lib/diagnostics/prepare_stb.tmc +30 -0
- data/lib/diagnostics/prepare_stb_and_health_check.tmc +56 -0
- data/lib/diagnostics/script_options/options_checkup.tmc +145 -0
- data/lib/diagnostics/server_components_check.tmc +62 -0
- data/lib/diagnostics/ssh/dncs_checkup.tmc +24 -0
- data/lib/diagnostics/ssh/mas_checkup.tmc +24 -0
- data/lib/diagnostics/stb_health_check.tmc +46 -0
- data/lib/diagnostics/stb_ip_check.tmc +120 -0
- data/lib/diagnostics/webservices/mas_rest_services_checkup.tmc +24 -0
- data/lib/diagnostics/webservices/mas_soap_services_checkup.tmc +24 -0
- data/lib/dsllib/common/dncs/dncs_utils.rb +449 -0
- data/lib/dsllib/common/mas_db/mas_conductor.rb +1328 -0
- data/lib/dsllib/common/mas_db/mas_db.rb +154 -0
- data/lib/dsllib/common/mas_db/mas_publish.rb +2349 -0
- data/lib/dsllib/common/mas_db/mas_rest_services.rb +75 -0
- data/lib/dsllib/common/mas_db/mas_soap_services.rb +540 -0
- data/lib/dsllib/common/mas_db/mas_utils.rb +422 -0
- data/lib/dsllib/common/remote_diagnostics/mdn_remote_diagnostics.rb +1335 -0
- data/lib/dsllib/common/remote_diagnostics/odn_web_server.rb +269 -0
- data/lib/dsllib/common/utils/excel_export.rb +273 -0
- data/lib/dsllib/common/utils/excel_module.rb +890 -0
- data/lib/dsllib/common/utils/server_components_utils.rb +130 -0
- data/lib/dsllib/common/utils/stb_health_check_utils.rb +92 -0
- data/lib/dsllib/common/utils/sword_utils.rb +393 -0
- data/lib/dsllib/common/utils/tmc_utils.rb +2944 -0
- data/lib/dsllib/common/utils/virtual_keyboard_navigator.rb +208 -0
- data/lib/dsllib/common/utils/virtual_keyboard_vp_navigator.rb +195 -0
- data/lib/dsllib/performance/DTA/roi.rb +214 -0
- data/lib/dsllib/performance/DTA/utils.rb +96 -0
- data/lib/dsllib/performance/iguide_concurrent_test/ROI.rb +236 -0
- data/lib/dsllib/performance/iguide_concurrent_test/utils.rb +533 -0
- data/lib/dsllib/performance/measure_tune.rb +438 -0
- data/lib/dsllib/performance/perf_lib.rb +660 -0
- data/lib/end_iteration.rb +4 -0
- data/lib/lib/data_services/channel.rb +39 -0
- data/lib/lib/data_services/data_services.rb +14 -0
- data/lib/lib/data_services/guide.rb +104 -0
- data/lib/lib/data_services/lineup.rb +114 -0
- data/lib/lib/data_services/program.rb +48 -0
- data/lib/lib/data_services/schedule.rb +18 -0
- data/lib/lib/data_services/splunk_connector.rb +135 -0
- data/lib/lib/data_services/splunk_data_reader.rb +77 -0
- data/lib/lib/element/element.rb +79 -0
- data/lib/lib/extensions/array_extensions.rb +32 -0
- data/lib/lib/extensions/datetime_extensions.rb +8 -0
- data/lib/lib/extensions/extensions.rb +51 -0
- data/lib/lib/extensions/file_extensions.rb +32 -0
- data/lib/lib/extensions/float_extensions.rb +32 -0
- data/lib/lib/extensions/integer_extensions.rb +39 -0
- data/lib/lib/extensions/nethttp_extensions.rb +11 -0
- data/lib/lib/extensions/object_extensions.rb +7 -0
- data/lib/lib/extensions/string_extensions.rb +35 -0
- data/lib/lib/helpers/tmc_helpers/csv_helper/csv_helper.rb +85 -0
- data/lib/lib/helpers/tmc_helpers/email_helper/email_helper.rb +71 -0
- data/lib/lib/helpers/tmc_helpers/http_helper/http_helper.rb +133 -0
- data/lib/lib/helpers/tmc_helpers/roi_helper/roi_helper.rb +17 -0
- data/lib/lib/helpers/tmc_helpers/snmp_helper/snmp_helper.rb +71 -0
- data/lib/lib/helpers/tmc_helpers/ssh_helper/ssh_helper.rb +337 -0
- data/lib/lib/helpers/tmc_helpers/tmc_helpers.rb +1260 -0
- data/lib/lib/keyboard/apple_tv/apple_tv_password_keyboard.rb +102 -0
- data/lib/lib/keyboard/apple_tv/apple_tv_search_keyboard.rb +103 -0
- data/lib/lib/keyboard/apple_tv/apple_tv_username_keyboard.rb +105 -0
- data/lib/lib/keyboard/keyboard.rb +504 -0
- data/lib/lib/keyboard/keyboard_layout.rb +51 -0
- data/lib/lib/keyboard/roku/roku_reset_pin_keyboard.rb +12 -0
- data/lib/lib/keyboard/roku/roku_rsg_search_keyboard.rb +67 -0
- data/lib/lib/keyboard/roku/roku_rsg_signin_keyboard.rb +106 -0
- data/lib/lib/keyboard/roku/roku_search_keyboard.rb +10 -0
- data/lib/lib/keyboard/roku/roku_signin_keyboard.rb +42 -0
- data/lib/lib/keyboard/samsung_tv/samsung_tv_search_keyboard.rb +50 -0
- data/lib/lib/keyboard/samsung_tv/samsung_tv_signin_keyboard.rb +52 -0
- data/lib/lib/keyboard/stb/odn/odn_on_demand_search_keyboard.rb +10 -0
- data/lib/lib/keyboard/stb/odn/odn_search_keyboard.rb +10 -0
- data/lib/lib/keyboard/stb/spectrum/spectrum_netflix_email_keyboard.rb +50 -0
- data/lib/lib/keyboard/stb/spectrum/spectrum_netflix_keyboard.rb +43 -0
- data/lib/lib/keyboard/stb/spectrum/spectrum_netflix_name_keyboard.rb +16 -0
- data/lib/lib/keyboard/stb/spectrum/spectrum_search_keyboard.rb +32 -0
- data/lib/lib/keyboard/tivo/tivo_password_keyboard.rb +0 -0
- data/lib/lib/keyboard/tivo/tivo_search_keyboard.rb +0 -0
- data/lib/lib/keyboard/tivo/tivo_username_keyboard.rb +0 -0
- data/lib/lib/keys/apple_tv/apple_tv_keys.rb +26 -0
- data/lib/lib/keys/base_keys.rb +14 -0
- data/lib/lib/keys/dta/dta_keys.rb +60 -0
- data/lib/lib/keys/mdn/mdn_keys.rb +60 -0
- data/lib/lib/keys/passport/passport_keys.rb +59 -0
- data/lib/lib/keys/roku/roku_keys.rb +31 -0
- data/lib/lib/keys/roku_tv/roku_tv_keys.rb +32 -0
- data/lib/lib/keys/samsung_tv/samsung_tv_keys.rb +58 -0
- data/lib/lib/keys/sara/sara_keys.rb +60 -0
- data/lib/lib/keys/stb/iguide/iguide_keys.rb +56 -0
- data/lib/lib/keys/stb/odn/odn_keys.rb +63 -0
- data/lib/lib/keys/stb/spectrum/spectrum_keys.rb +59 -0
- data/lib/lib/keys/stb/stb_keys.rb +13 -0
- data/lib/lib/keys/tivo/tivo_keys.rb +26 -0
- data/lib/lib/logger/multi_io.rb +14 -0
- data/lib/lib/logger/tmc_dut_logger.rb +251 -0
- data/lib/lib/logger/tmc_logger.rb +30 -0
- data/lib/lib/mixins/assignable.rb +19 -0
- data/lib/lib/mixins/can_have_special_methods.rb +50 -0
- data/lib/lib/mixins/enumish.rb +16 -0
- data/lib/lib/new_platform.rb +302 -0
- data/lib/lib/new_sub_platform.rb +90 -0
- data/lib/lib/platform/apple_tv/apple_tv.rb +33 -0
- data/lib/lib/platform/apple_tv/apple_tv_1080/apple_tv_1080.rb +54 -0
- data/lib/lib/platform/apple_tv/apple_tv_720/apple_tv_720.rb +14 -0
- data/lib/lib/platform/dta/dta.rb +35 -0
- data/lib/lib/platform/dta/dta_1080/dta_1080.rb +15 -0
- data/lib/lib/platform/dta/dta_720/dta_720.rb +15 -0
- data/lib/lib/platform/mdn/mdn.rb +35 -0
- data/lib/lib/platform/mdn/mdn_1080/mdn_1080.rb +15 -0
- data/lib/lib/platform/mdn/mdn_720/mdn_720.rb +15 -0
- data/lib/lib/platform/mobile/android/android.rb +23 -0
- data/lib/lib/platform/mobile/android/android_phone/android_phone.rb +23 -0
- data/lib/lib/platform/mobile/android/android_tablet/android_tablet.rb +23 -0
- data/lib/lib/platform/mobile/ios/ios.rb +23 -0
- data/lib/lib/platform/mobile/ios/ios_phone/ios_phone.rb +23 -0
- data/lib/lib/platform/mobile/ios/ios_tablet/ios_tablet.rb +23 -0
- data/lib/lib/platform/mobile/mobile.rb +102 -0
- data/lib/lib/platform/passport/passport.rb +41 -0
- data/lib/lib/platform/passport/passport1080/passport_1080.rb +15 -0
- data/lib/lib/platform/passport/passport_720/passport_720.rb +14 -0
- data/lib/lib/platform/platform.rb +884 -0
- data/lib/lib/platform/roku/roku.rb +96 -0
- data/lib/lib/platform/roku/roku_720/roku_720.rb +16 -0
- data/lib/lib/platform/roku_tv/roku_tv.rb +33 -0
- data/lib/lib/platform/roku_tv/roku_tv_1080/roku_tv_1080.rb +14 -0
- data/lib/lib/platform/roku_tv/roku_tv_720/roku_tv_720.rb +14 -0
- data/lib/lib/platform/samsung_tv/samsung_tv.rb +31 -0
- data/lib/lib/platform/samsung_tv/samsung_tv_1080/samsung_tv_1080.rb +14 -0
- data/lib/lib/platform/samsung_tv/samsung_tv_720/samsung_tv_720.rb +14 -0
- data/lib/lib/platform/sara/sara.rb +42 -0
- data/lib/lib/platform/sara/sara_1080/sara_1080.rb +15 -0
- data/lib/lib/platform/sara/sara_720/sara_720.rb +15 -0
- data/lib/lib/platform/stb/iguide/iguide.rb +18 -0
- data/lib/lib/platform/stb/iguide/iguide_1080/iguide_1080.rb +14 -0
- data/lib/lib/platform/stb/iguide/iguide_720/iguide_720.rb +14 -0
- data/lib/lib/platform/stb/odn/odn.rb +480 -0
- data/lib/lib/platform/stb/odn/odn_1080/odn_1080.rb +14 -0
- data/lib/lib/platform/stb/odn/odn_720/odn_720.rb +14 -0
- data/lib/lib/platform/stb/odn/odn_720/odn_720_moto/odn_720_moto.rb +14 -0
- data/lib/lib/platform/stb/odn/odn_720/odn_720_sa/odn_720_sa.rb +14 -0
- data/lib/lib/platform/stb/odn/odn_720/odn_720_samsung/odn_720_samsung.rb +14 -0
- data/lib/lib/platform/stb/spectrum/spectrum.rb +48 -0
- data/lib/lib/platform/stb/spectrum/spectrum_1080/spectrum_1080.rb +14 -0
- data/lib/lib/platform/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis.rb +16 -0
- data/lib/lib/platform/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris.rb +15 -0
- data/lib/lib/platform/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax.rb +15 -0
- data/lib/lib/platform/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch.rb +15 -0
- data/lib/lib/platform/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace.rb +14 -0
- data/lib/lib/platform/stb/spectrum/spectrum_720/spectrum_720.rb +14 -0
- data/lib/lib/platform/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris.rb +15 -0
- data/lib/lib/platform/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax.rb +15 -0
- data/lib/lib/platform/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch.rb +15 -0
- data/lib/lib/platform/stb/stb.rb +93 -0
- data/lib/lib/platform/template.txt +16 -0
- data/lib/lib/platform/tivo/tivo.rb +28 -0
- data/lib/lib/platform/tivo/tivo_1080/tivo_1080.rb +15 -0
- data/lib/lib/platform/tivo/tivo_720/tivo_720.rb +14 -0
- data/lib/lib/platform/web/web.rb +51 -0
- data/lib/lib/platform_libs/roku/roku_controller.rb +254 -0
- data/lib/lib/prereqs/prereqs.rb +17 -0
- data/lib/lib/prereqs/prereqs_for_dut.rb +14 -0
- data/lib/lib/prereqs/prereqs_for_test.rb +14 -0
- data/lib/lib/remotes/remotes.rb +8 -0
- data/lib/lib/remotes/stb/spectrum/spectrum_remotes.rb +22 -0
- data/lib/lib/roi/black/black_roi.rb +125 -0
- data/lib/lib/roi/color/color_roi.rb +138 -0
- data/lib/lib/roi/image/image_roi.rb +187 -0
- data/lib/lib/roi/roi.rb +1064 -0
- data/lib/lib/roi/template_roi.txt +9 -0
- data/lib/lib/roi/text/text_roi.rb +187 -0
- data/lib/lib/roi/video/video_roi.rb +98 -0
- data/lib/lib/screen/screen.rb +183 -0
- data/lib/lib/screen/template.txt +7 -0
- data/lib/lib/screen/template_screen.txt +10 -0
- data/lib/lib/screens/apple_tv/apple_tv_screens.rb +44 -0
- data/lib/lib/screens/dta/dta_screens.rb +49 -0
- data/lib/lib/screens/mdn/mdn_screens.rb +49 -0
- data/lib/lib/screens/mobile/android/android_phone/android_phone_screens.rb +28 -0
- data/lib/lib/screens/mobile/android/android_screens.rb +40 -0
- data/lib/lib/screens/mobile/android/android_tablet/android_tablet_screens.rb +29 -0
- data/lib/lib/screens/mobile/ios/ios_phone/ios_phone_screens.rb +22 -0
- data/lib/lib/screens/mobile/ios/ios_screens.rb +39 -0
- data/lib/lib/screens/mobile/ios/ios_tablet/ios_tablet_screens.rb +20 -0
- data/lib/lib/screens/mobile/mobile_screens.rb +18 -0
- data/lib/lib/screens/passport/passport_screens.rb +42 -0
- data/lib/lib/screens/roku/roku_screens.rb +72 -0
- data/lib/lib/screens/roku_tv/roku_tv_screens.rb +43 -0
- data/lib/lib/screens/samsung_tv/samsung_tv_screens.rb +44 -0
- data/lib/lib/screens/sara/sara_screens.rb +49 -0
- data/lib/lib/screens/screens.rb +23 -0
- data/lib/lib/screens/stb/iguide/iguide_1080/iguide_1080_screens.rb +56 -0
- data/lib/lib/screens/stb/iguide/iguide_720/iguide_720_screens.rb +56 -0
- data/lib/lib/screens/stb/iguide/iguide_screens.rb +54 -0
- data/lib/lib/screens/stb/odn/odn_screens.rb +40 -0
- data/lib/lib/screens/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_screens.rb +18 -0
- data/lib/lib/screens/stb/spectrum/spectrum_screens.rb +48 -0
- data/lib/lib/screens/stb/stb_screens.rb +13 -0
- data/lib/lib/screens/template.txt +52 -0
- data/lib/lib/screens/tivo/tivo_screens.rb +44 -0
- data/lib/lib/selenium/appium/appium.rb +388 -0
- data/lib/lib/selenium/selenium.rb +466 -0
- data/lib/lib/selenium/webdriver/webdriver.rb +254 -0
- data/lib/lib/test_case/boilerplate/functional.rb +7 -0
- data/lib/lib/test_case/boilerplate/performance.rb +7 -0
- data/lib/lib/test_case/ci_test.rb +47 -0
- data/lib/lib/test_case/functional_test_case.rb +27 -0
- data/lib/lib/test_case/make_boilerplate.rb +32 -0
- data/lib/lib/test_case/monitoring/apple_monitor.rb +104 -0
- data/lib/lib/test_case/monitoring/base_monitor.rb +140 -0
- data/lib/lib/test_case/monitoring/dta_monitor.rb +53 -0
- data/lib/lib/test_case/monitoring/iguide_monitor.rb +72 -0
- data/lib/lib/test_case/monitoring/mdn_monitor.rb +28 -0
- data/lib/lib/test_case/monitoring/monitoring_test.rb +111 -0
- data/lib/lib/test_case/monitoring/odn_monitor.rb +137 -0
- data/lib/lib/test_case/monitoring/passport_monitor.rb +50 -0
- data/lib/lib/test_case/monitoring/report_monitor.rb +178 -0
- data/lib/lib/test_case/monitoring/roku_monitor.rb +102 -0
- data/lib/lib/test_case/monitoring/sara_monitor.rb +33 -0
- data/lib/lib/test_case/monitoring/spec_monitor.rb +154 -0
- data/lib/lib/test_case/performance_test_case.rb +29 -0
- data/lib/lib/test_case/test_case.rb +1055 -0
- data/lib/lib/test_case/test_error.rb +29 -0
- data/lib/lib/test_case/test_exception.rb +9 -0
- data/lib/lib/test_case/test_status.rb +39 -0
- data/lib/lib/test_case/test_step.rb +156 -0
- data/lib/lib/test_case/test_trace.rb +80 -0
- data/lib/lib/test_data.rb +222 -0
- data/lib/lib/test_wrapper.rb +146 -0
- data/lib/misc/get_latest_android.sh +14 -0
- data/lib/misc/get_latest_ios.sh +14 -0
- data/lib/package-lock.json +3 -0
- data/lib/run_test.rb +4 -0
- data/lib/script_validator.rb +48 -0
- data/lib/syntax_eval.rb +151 -0
- data/lib/tools/convert_old_scripts.rb +100 -0
- data/lib/tools/find_duplicate_rois.rb +27 -0
- data/lib/tools/roku/inspector.rb +130 -0
- data/lib/tools/syntax_checker.rb +83 -0
- data/lib/upload_ref_images.rb +255 -0
- metadata +912 -0
@@ -0,0 +1,187 @@
|
|
1
|
+
require './lib/roi/roi'
|
2
|
+
|
3
|
+
# The TextRoi class defines a text Roi and its methods
|
4
|
+
|
5
|
+
class TextRoi < Roi
|
6
|
+
|
7
|
+
attr_reader(:text)
|
8
|
+
attr_accessor(:similarity, :only_digits, :substring, :ignore_case, :ignore_spaces, :ignore_special_chars)
|
9
|
+
|
10
|
+
# Public: Initializes a text Roi.
|
11
|
+
#
|
12
|
+
# dut - Platform (or subclass) instance to which this Roi belongs.
|
13
|
+
# x - Integer x coordinate (default: nil).
|
14
|
+
# y - Integer y coordinate (default: nil).
|
15
|
+
# width - Integer width (default: nil).
|
16
|
+
# height - Integer height (default: nil).
|
17
|
+
# rectangle - Hash defining rectangle with keys :x, :y, :width, :height (default: nil).
|
18
|
+
# element - Hash same as rectangle (default: nil).
|
19
|
+
# text - String expected text (default: '').
|
20
|
+
# similarity - Integer text similarity threshold 0 - 100 (default: 70).
|
21
|
+
# ref_img - String path to reference image (default: nil).
|
22
|
+
# only_digits - Boolean indicating whether to convert all read characters to digits (default: false).
|
23
|
+
# substring - Boolean indicating whether to treat the expected text as a substring (default: false).
|
24
|
+
# ignore_spaces - Boolean indicating whether spaces should be ignored when verifying text (default: false).
|
25
|
+
# ignore_case - Boolean indicating whether case should be ignored when verifying text (default: false).
|
26
|
+
# ignore_special_chars - Boolean indicating whether special characters should be ignored when verifying text (default: false).
|
27
|
+
#
|
28
|
+
# Returns nothing.
|
29
|
+
def initialize(dut, args={})
|
30
|
+
super(dut, args)
|
31
|
+
self.text = args.fetch(:text, '')
|
32
|
+
@preprocessing = [0]
|
33
|
+
@only_digits = args.fetch(:only_digits, false)
|
34
|
+
@substring = args.fetch(:substring, false)
|
35
|
+
@ignore_spaces = args.fetch(:ignore_spaces, true)
|
36
|
+
@ignore_case = args.fetch(:ignore_case, false)
|
37
|
+
@ignore_special_chars = args.fetch(:ignore_special_chars, false)
|
38
|
+
@similarity = args.fetch(:similarity, 70)
|
39
|
+
end
|
40
|
+
|
41
|
+
# Public: Sets expected text.
|
42
|
+
#
|
43
|
+
# val - String expected text.
|
44
|
+
#
|
45
|
+
# Returns nothing.
|
46
|
+
def text=(val)
|
47
|
+
@text = val.is_a?(Array) ? val : [val]
|
48
|
+
end
|
49
|
+
|
50
|
+
# Public: Gets expected text.
|
51
|
+
#
|
52
|
+
# Returns a String expected text.
|
53
|
+
def text
|
54
|
+
@text
|
55
|
+
end
|
56
|
+
|
57
|
+
# Public: Gets text Roi info.
|
58
|
+
#
|
59
|
+
# Returns a tidy String with text Roi info.
|
60
|
+
def info
|
61
|
+
"#{super} Text=#{@text} Digits=#{@only_digits} Similarity=#{@similarity}"
|
62
|
+
end
|
63
|
+
|
64
|
+
# Public: Checks if text is displayed as defined in the given ROI.
|
65
|
+
# Corresponds to api_is_text_displayed?
|
66
|
+
#
|
67
|
+
# key - String name of key to press to trigger evaluation (default: nil).
|
68
|
+
# If default, no keys will be pressed.
|
69
|
+
# delay - Integer total milliseconds to delay before starting evaluation (default: 0).
|
70
|
+
# timeout - Integer total milliseconds to allow before timing out (default: 0).
|
71
|
+
# verifies_for - Integer total milliseconds for which the ROI must verify in order to succeed (default: 0).
|
72
|
+
# If default, the ROI must only verify once.
|
73
|
+
# only_digits - Boolean indicating whether to convert all read characters to digits (default: false).
|
74
|
+
# substring - Boolean indicating whether to treat the expected text as a substring (default: false).
|
75
|
+
# ignore_spaces - Boolean indicating whether spaces should be ignored when verifying text (default: false).
|
76
|
+
# ignore_case - Boolean indicating whether case should be ignored when verifying text (default: false).
|
77
|
+
# ignore_special_chars - Boolean indicating whether special characters should be ignored when verifying text (default: false).
|
78
|
+
# priority - Symbol representing evaluation priority used to throttle CPU usage (default: :normal):
|
79
|
+
# :critical - Sleep 10 milliseconds between intensive tasks (should be used sparingly).
|
80
|
+
# :high - Sleep 100 milliseconds between intensive tasks.
|
81
|
+
# :normal - Sleep 1 second between intensive tasks (default).
|
82
|
+
# :low - Sleep 10 seconds between intensive tasks.
|
83
|
+
# :background - Sleep 1 minute between intensive tasks (should be used sparingly).
|
84
|
+
# log_every - Integer interval in milliseconds between logs (default: 1000).
|
85
|
+
#
|
86
|
+
# Returns a Boolean true if text is displayed before the timeout, otherwise false.
|
87
|
+
def displayed?(args={})
|
88
|
+
logger.info('Checking if text is displayed')
|
89
|
+
raise 'Text is required!' if @text.nil?
|
90
|
+
frame = args[:frame]
|
91
|
+
verify(args) do
|
92
|
+
# Evaluate each OCR Roi object (one for each preprocessing option)
|
93
|
+
text_found = false
|
94
|
+
roi_options = get_roi_options(args.fetch(:set_roi_options, args))
|
95
|
+
get_roi_objects(frame: frame).each do |roi|
|
96
|
+
got_text = get_value(roi, frame.nil?)
|
97
|
+
text_found = false
|
98
|
+
@text.each do |txt|
|
99
|
+
if args.fetch(:substring, @substring)
|
100
|
+
sim = test_case.get_substring_similarity(txt, got_text, roi_options)
|
101
|
+
else
|
102
|
+
sim = test_case.get_string_similarity(txt, got_text, roi_options)
|
103
|
+
end
|
104
|
+
text_found = sim >= (@similarity / 100.0)
|
105
|
+
logger.info("Comparing #{got_text.inspect} with #{txt.inspect}, similarity: #{(sim * 100.0).round}%")
|
106
|
+
break if text_found
|
107
|
+
end
|
108
|
+
break if text_found
|
109
|
+
end
|
110
|
+
logger.roi(self, args.merge(message: "Text is#{text_found ? '' : ' not'} displayed", screenshot: frame.nil?,
|
111
|
+
use_last_image: frame.nil?))
|
112
|
+
text_found
|
113
|
+
end
|
114
|
+
end
|
115
|
+
special_method(:displayed?)
|
116
|
+
|
117
|
+
# Public: Gets the text in the region defined in the Roi.
|
118
|
+
# Corresponds to: api_read_text_from_screen
|
119
|
+
#
|
120
|
+
# Returns the String text found.
|
121
|
+
def retrieve(args={})
|
122
|
+
logger.info('Retrieving text')
|
123
|
+
frame = args[:frame]
|
124
|
+
value(args) do
|
125
|
+
# Read the text for each preprocessing value
|
126
|
+
found_text = get_roi_objects(frame: frame).map do |roi|
|
127
|
+
get_value(roi, frame.nil?)
|
128
|
+
end
|
129
|
+
# Return the text with the most matches
|
130
|
+
matches = found_text.map { |txt| txt.empty? ? 0 : found_text.count(txt) }
|
131
|
+
index_of_max_matches = matches.index(matches.max)
|
132
|
+
best_match = found_text[index_of_max_matches]
|
133
|
+
confidence = ((found_text.count(best_match).to_f / found_text.size) * 100).round
|
134
|
+
logger.roi(self, args.merge(message: "Retrieved text #{best_match.inspect} with confidence #{confidence}%",
|
135
|
+
screenshot: frame.nil?, use_last_image: frame.nil?))
|
136
|
+
best_match
|
137
|
+
end
|
138
|
+
end
|
139
|
+
special_method(:retrieve)
|
140
|
+
|
141
|
+
private
|
142
|
+
|
143
|
+
# Internal: Returns the ROI as a hash.
|
144
|
+
def to_json(ref_img: nil)
|
145
|
+
super(ref_img: ref_img).merge(threshold: @similarity, text: @text.first)
|
146
|
+
end
|
147
|
+
|
148
|
+
# Internal: Returns an array of TMC Java OcrRoi objects
|
149
|
+
def get_roi_objects(frame: nil)
|
150
|
+
@preprocessing.map {|preprocess_opt| to_json(ref_img: frame).update(preprocessing: preprocess_opt)}
|
151
|
+
end
|
152
|
+
|
153
|
+
# Internal: Returns OCR options from the given arguments
|
154
|
+
def get_roi_options(args)
|
155
|
+
convert_similar = args.fetch(:convert_similar_chars, false)
|
156
|
+
{
|
157
|
+
:removeSpaces => args.fetch(:ignore_spaces, @ignore_spaces),
|
158
|
+
:toUppercase => args.fetch(:ignore_case, @ignore_case),
|
159
|
+
:removeSpecials => args.fetch(:ignore_special_chars, @ignore_special_chars),
|
160
|
+
:replaceB3 => convert_similar,
|
161
|
+
:replaceB8 => convert_similar,
|
162
|
+
:replaceG6 => convert_similar,
|
163
|
+
:replaceO0 => convert_similar,
|
164
|
+
:replaceTL => convert_similar,
|
165
|
+
:replaceS5 => convert_similar
|
166
|
+
}
|
167
|
+
end
|
168
|
+
|
169
|
+
# Internal: Returns the value of the Roi in the current screen or frame.
|
170
|
+
# This is just a helper for `retrieve' and `displayed'
|
171
|
+
def get_value(roi, from_screen)
|
172
|
+
logger.info("Getting text from #{from_screen ? 'screen' : 'frame'}")
|
173
|
+
json = get_json_for_get(roi: roi)
|
174
|
+
if from_screen
|
175
|
+
found_text = test_case.send(:tmc_post, "/api/roi/text/actions/#{dut.id}", json: json)['value']
|
176
|
+
else
|
177
|
+
found_text = test_case.send(:tmc_post, '/api/roi/text/actions', json: json)['value']
|
178
|
+
end
|
179
|
+
if @only_digits
|
180
|
+
found_text.gsub!(/[^0-9]/, '')
|
181
|
+
end
|
182
|
+
logger.roi(self, message: "Found text #{found_text.inspect}", screenshot: from_screen, use_last_image: from_screen,
|
183
|
+
screen_image: from_screen ? nil : roi[:referenceImage])
|
184
|
+
found_text
|
185
|
+
end
|
186
|
+
|
187
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
require './lib/roi/roi'
|
2
|
+
|
3
|
+
# The VideoRoi class defines a video Roi and its methods
|
4
|
+
|
5
|
+
class VideoRoi < Roi
|
6
|
+
include CanHaveSpecialMethods
|
7
|
+
|
8
|
+
attr_reader(:threshold)
|
9
|
+
|
10
|
+
# Public: Initializes a video Roi.
|
11
|
+
#
|
12
|
+
# dut - Platform (or subclass) instance to which this Roi belongs.
|
13
|
+
# x - Integer x coordinate (default: nil).
|
14
|
+
# y - Integer y coordinate (default: nil).
|
15
|
+
# width - Integer width (default: nil).
|
16
|
+
# height - Integer height (default: nil).
|
17
|
+
# rectangle - Hash defining rectangle with keys :x, :y, :width, :height (default: nil).
|
18
|
+
# element - Hash same as rectangle (default: nil).
|
19
|
+
# threshold - Float video motion threshold 0.0 - 100.0 (default: 0.1).
|
20
|
+
# ref_img - String path to reference image (default: nil).
|
21
|
+
#
|
22
|
+
# Returns nothing.
|
23
|
+
def initialize(dut, args={})
|
24
|
+
super(dut, args)
|
25
|
+
self.threshold=(args.fetch(:threshold, 0.1)) # default threshold is 0.1% (0.001)
|
26
|
+
end
|
27
|
+
|
28
|
+
# Public: Sets motion threshold.
|
29
|
+
#
|
30
|
+
# val - Integer motion threshold (0 - 100).
|
31
|
+
#
|
32
|
+
# Returns nothing.
|
33
|
+
def threshold=(val)
|
34
|
+
@threshold = val
|
35
|
+
@similarity = val
|
36
|
+
end
|
37
|
+
|
38
|
+
# Public: Gets video Roi info.
|
39
|
+
#
|
40
|
+
# Returns a tidy String with video Roi info.
|
41
|
+
def info
|
42
|
+
"#{super}; Threshold=#{@threshold}"
|
43
|
+
end
|
44
|
+
|
45
|
+
# Public: Checks if motion is detected on the screen as defined in the Roi.
|
46
|
+
# Corresponds to: api_is_video_playing?
|
47
|
+
#
|
48
|
+
# key - String name of key to press to trigger evaluation (default: nil).
|
49
|
+
# If default, no keys will be pressed.
|
50
|
+
# delay - Integer total milliseconds to delay before starting evaluation (default: 0).
|
51
|
+
# timeout - Integer total milliseconds to allow before timing out (default: 0).
|
52
|
+
# verifies_for - Integer total milliseconds for which the ROI must verify in order to succeed (default: 0).
|
53
|
+
# If default, the ROI must only verify once.
|
54
|
+
# priority - Symbol representing evaluation priority used to throttle CPU usage (default: :normal):
|
55
|
+
# :critical - Sleep 10 milliseconds between intensive tasks (should be used sparingly).
|
56
|
+
# :high - Sleep 100 milliseconds between intensive tasks.
|
57
|
+
# :normal - Sleep 1 second between intensive tasks (default).
|
58
|
+
# :low - Sleep 10 seconds between intensive tasks.
|
59
|
+
# :background - Sleep 1 minute between intensive tasks (should be used sparingly).
|
60
|
+
# log_every - Integer interval in milliseconds between logs (default: 1000).
|
61
|
+
#
|
62
|
+
# Returns a Boolean true if motion is detected before the timeout, otherwise false.
|
63
|
+
def displayed?(args={})
|
64
|
+
logger.info('Checking if video is playing')
|
65
|
+
frame = args[:frame]
|
66
|
+
last_frame = args[:last_frame]
|
67
|
+
if !frame.nil? && last_frame.nil?
|
68
|
+
return false
|
69
|
+
end
|
70
|
+
verify(args) do
|
71
|
+
if frame.nil?
|
72
|
+
default_timeout = 5.sec
|
73
|
+
video_timeout = args.fetch(:timeout, default_timeout)
|
74
|
+
video_timeout = default_timeout if video_timeout == 0 # video timeout can't be 0
|
75
|
+
post_timeout = video_timeout + 1.min
|
76
|
+
json = get_json_for_match(roi: to_json.merge(timeout: video_timeout))
|
77
|
+
result = test_case.send(:tmc_post, "/api/roi/video/actions/#{dut.id}", json: json, timeout: post_timeout)['value']
|
78
|
+
logger.roi(self, args.merge(message: "Video is#{result ? '' : ' not'} playing on screen", use_last_image: true))
|
79
|
+
else
|
80
|
+
last_frame = rectangle.merge(:referenceImage => last_frame)
|
81
|
+
this_frame = rectangle.merge(:referenceImage => frame)
|
82
|
+
json = get_json_for_match_2(last_frame, this_frame)
|
83
|
+
result = test_case.send(:tmc_post, '/api/roi/video/actions', json: json)['value']
|
84
|
+
logger.roi(self, args.merge(message: "Video is#{result ? '' : ' not'} playing in frame", screenshot: false))
|
85
|
+
end
|
86
|
+
result
|
87
|
+
end
|
88
|
+
end
|
89
|
+
special_method(:displayed?)
|
90
|
+
|
91
|
+
private
|
92
|
+
|
93
|
+
# Internal: Returns the ROI as a hash.
|
94
|
+
def to_json(ref_img: nil)
|
95
|
+
super(ref_img: ref_img).merge(threshold: @threshold)
|
96
|
+
end
|
97
|
+
|
98
|
+
end
|
@@ -0,0 +1,183 @@
|
|
1
|
+
require 'delegate'
|
2
|
+
require './lib/helpers/tmc_helpers/tmc_helpers'
|
3
|
+
|
4
|
+
# The Screen class is a delegator which passes any methods it does not define--such as `fail' and `log'--through to the
|
5
|
+
# Test Case instance.
|
6
|
+
|
7
|
+
class Screen < SimpleDelegator
|
8
|
+
|
9
|
+
# Public: Initializes a Screen. NOT FOR USE IN TESTS.
|
10
|
+
#
|
11
|
+
# dut - Platform (or subclass) instance for this Screen.
|
12
|
+
#
|
13
|
+
# Returns nothing.
|
14
|
+
def initialize(dut)
|
15
|
+
super(dut.send(:test_case))
|
16
|
+
@keyboards = []
|
17
|
+
@dut = dut
|
18
|
+
instance_eval do
|
19
|
+
@navigate = method(:navigate)
|
20
|
+
def _navigate(args={})
|
21
|
+
sleep_time = args.fetch(:sleep_time, 0)
|
22
|
+
logger.info("Navigating to #{this_screen_symbol}")
|
23
|
+
unless displayed?
|
24
|
+
@navigate.call(args)
|
25
|
+
end
|
26
|
+
sleep(sleep_time) if sleep_time > 0
|
27
|
+
end
|
28
|
+
alias navigate _navigate
|
29
|
+
class << self
|
30
|
+
private :_navigate
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# Public: This function is used to write the given text on the virtual keyboard.
|
36
|
+
#
|
37
|
+
# text - String or Splat Array of String key(s) to write on the virtual keyboard.
|
38
|
+
# start_key - String non-default start key (default: nil).
|
39
|
+
# verify_roi - Roi object to verify the typed text (default: nil).
|
40
|
+
# delay_between_keys - Delay between key presses in ms min 3000 (default: 3000)
|
41
|
+
# reset - Boolean indicating whether to reset the keyboard state before typing (default: false).
|
42
|
+
#
|
43
|
+
# Returns Boolean true if successfully able to write the given text. Else, returns false.
|
44
|
+
def type_keys?(*text, start_key: nil, verify_roi: nil, delay_between_keys:3000, reset: false)
|
45
|
+
arg = {verify: true, verify_roi: verify_roi}
|
46
|
+
if text.last.is_a?(Hash)
|
47
|
+
text.last.update(arg)
|
48
|
+
else
|
49
|
+
text << arg
|
50
|
+
end
|
51
|
+
type_keys(*text, start_key: start_key, delay_between_keys: delay_between_keys, reset: reset)
|
52
|
+
end
|
53
|
+
|
54
|
+
# Public: This function is used to write the given text on the virtual keyboard.
|
55
|
+
#
|
56
|
+
# text - String or Splat Array of String key(s) to write on the virtual keyboard.
|
57
|
+
# start_key - String non-default start key (default: nil).
|
58
|
+
# delay_between_keys - Delay between key presses in ms min 3000 (default: 3000)
|
59
|
+
# reset - Boolean indicating whether to reset the keyboard state before typing (default: false).
|
60
|
+
#
|
61
|
+
# Returns nothing.
|
62
|
+
def type_keys(*text, start_key: nil, delay_between_keys: 3000, reset: false)
|
63
|
+
args = text.last.is_a?(Hash) ? text.pop : {}
|
64
|
+
args.update(start_key: start_key) unless start_key.nil?
|
65
|
+
args.update(delay_between_keys: delay_between_keys)
|
66
|
+
if current_keyboard(reset: reset).type?(text, args)
|
67
|
+
return true if args[:verify]
|
68
|
+
else
|
69
|
+
return false if args[:verify]
|
70
|
+
raise 'Failed to type text!'
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
# Public: This function is used to navigate to the given key on the virtual keyboard.
|
75
|
+
#
|
76
|
+
# key - String key to navigate on the virtual keyboard.
|
77
|
+
# start_key - String non-default start key (default: nil).
|
78
|
+
# reset - Boolean indicating whether to reset the keyboard state before navigating (default: false).
|
79
|
+
#
|
80
|
+
# Returns nothing.
|
81
|
+
def nav_to_key(key, start_key: nil, reset: false)
|
82
|
+
unless current_keyboard(reset: reset).type?(key, :start_key => start_key, :nav_only => true)
|
83
|
+
raise "Failed to navigate to key '#{key}'"
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
# Public: Checks if the current screen is displayed.
|
88
|
+
#
|
89
|
+
# timeout - Integer total milliseconds to check before timing out (default: 0.sec).
|
90
|
+
#
|
91
|
+
# Returns a Boolean true if the screen is displayed, otherwise false.
|
92
|
+
def displayed?(args={})
|
93
|
+
raise "#{self.class}.#{__method__} is not implemented!"
|
94
|
+
end
|
95
|
+
|
96
|
+
# Public: Navigates to this screen.
|
97
|
+
#
|
98
|
+
# sleep_time - Integer total milliseconds to sleep after performing the navigation (default: 0).
|
99
|
+
#
|
100
|
+
# Returns nothing.
|
101
|
+
def navigate(args={})
|
102
|
+
raise("Navigation not defined! #{this_screen_symbol}.navigate must be implemented.")
|
103
|
+
end
|
104
|
+
|
105
|
+
# Public: Navigates to this screen. This is a wrapper for 'navigate'.
|
106
|
+
#
|
107
|
+
# sleep_time - Integer total milliseconds to sleep after performing the navigation (default: 0).
|
108
|
+
#
|
109
|
+
# Returns nothing.
|
110
|
+
def nav_to(args={})
|
111
|
+
navigate(args)
|
112
|
+
end
|
113
|
+
|
114
|
+
# Public: Navigates to this screen and verifies it.
|
115
|
+
#
|
116
|
+
# timeout - Integer total milliseconds to wait for the screen to display after navigation (default: 10.sec).
|
117
|
+
#
|
118
|
+
# Returns a Boolean true if the navigation was successful, otherwise false.
|
119
|
+
def navigate?(args={})
|
120
|
+
timeout = args.fetch(:timeout, 10.sec)
|
121
|
+
navigate(:sleep_time => 0)
|
122
|
+
displayed?(:timeout => timeout)
|
123
|
+
end
|
124
|
+
|
125
|
+
# Public: Navigates to this screen and verifies it. This is a wrapper for 'navigate?'.
|
126
|
+
#
|
127
|
+
# timeout - Integer total milliseconds to wait for the screen to display after navigation (default: 10.sec).
|
128
|
+
#
|
129
|
+
# Returns a Boolean true if the navigation was successful, otherwise false.
|
130
|
+
def nav_to?(args={})
|
131
|
+
navigate?(args)
|
132
|
+
end
|
133
|
+
|
134
|
+
private
|
135
|
+
|
136
|
+
# Internal: Provides access to test case logger.
|
137
|
+
def logger
|
138
|
+
dut.send(:test_case).send(:logger_for_device, dut.id)
|
139
|
+
end
|
140
|
+
|
141
|
+
# Internal: Gets the currently-displayed virtual keyboard.
|
142
|
+
def current_keyboard(reset: false)
|
143
|
+
raise 'No keyboards defined!' if @keyboards.empty?
|
144
|
+
# determine current keyboard
|
145
|
+
keyboard = nil
|
146
|
+
@keyboards.each do |k|
|
147
|
+
if k.displayed?
|
148
|
+
keyboard = k
|
149
|
+
keyboard.reset if reset
|
150
|
+
break
|
151
|
+
end
|
152
|
+
end
|
153
|
+
raise 'Failed to determine current keyboard!' if keyboard.nil?
|
154
|
+
keyboard
|
155
|
+
end
|
156
|
+
|
157
|
+
# Internal: Exposes the dut object to all screens.
|
158
|
+
#
|
159
|
+
# Returns the DUT Platform (or subclass) instance.
|
160
|
+
def dut
|
161
|
+
@dut
|
162
|
+
end
|
163
|
+
|
164
|
+
# Internal: Gets the symbol for a screen.
|
165
|
+
#
|
166
|
+
# screen - The Screen object for which to get the symbol.
|
167
|
+
#
|
168
|
+
# Returns the Symbol for the screen.
|
169
|
+
def get_screen_symbol(screen)
|
170
|
+
dut_screens = @dut.screens.instance_variables.map { |s| s.to_s.delete('@') }
|
171
|
+
test_case = @dut.send(:test_case)
|
172
|
+
current_screen_full = test_case.to_snake_case(screen.name)
|
173
|
+
dut_screens.select { |s| current_screen_full.include?(s) }.max.to_sym # longest match
|
174
|
+
end
|
175
|
+
|
176
|
+
# Internal: Gets the symbol for this screen.
|
177
|
+
#
|
178
|
+
# Returns the Symbol for this screen.
|
179
|
+
def this_screen_symbol
|
180
|
+
get_screen_symbol(self.class)
|
181
|
+
end
|
182
|
+
|
183
|
+
end
|