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.
Files changed (876) hide show
  1. checksums.yaml +4 -4
  2. data/{lib/EXECUTION_ENGINE.md → EXECUTION_ENGINE.md} +0 -0
  3. data/{lib/Gemfile → Gemfile} +4 -1
  4. data/{lib/README.md → README.md} +0 -0
  5. data/{lib/config → config}/ConfigParams.xml +0 -0
  6. data/{lib/config → config}/ImageROI.xml +0 -0
  7. data/{lib/config → config}/ROI.xml +0 -0
  8. data/{lib/config → config}/Userlog4j.xml +0 -0
  9. data/{lib/config → config}/schema-docs/mode.xsd +0 -0
  10. data/{lib/config → config}/schema-docs/processTestJobs.xsd +0 -0
  11. data/{lib/config → config}/schema-docs/rackip.xsd +0 -0
  12. data/{lib/copy_ref_images.rb → copy_ref_images.rb} +0 -0
  13. data/{lib/copy_repo.rb → copy_repo.rb} +0 -0
  14. data/{lib/dsllib → dsllib}/common/dncs/dncs_utils.rb +0 -0
  15. data/{lib/dsllib → dsllib}/common/mas_db/mas_conductor.rb +0 -0
  16. data/{lib/dsllib → dsllib}/common/mas_db/mas_db.rb +0 -0
  17. data/{lib/dsllib → dsllib}/common/mas_db/mas_publish.rb +0 -0
  18. data/{lib/dsllib → dsllib}/common/mas_db/mas_rest_services.rb +0 -0
  19. data/{lib/dsllib → dsllib}/common/mas_db/mas_soap_services.rb +0 -0
  20. data/{lib/dsllib → dsllib}/common/mas_db/mas_utils.rb +0 -0
  21. data/{lib/dsllib → dsllib}/common/remote_diagnostics/mdn_remote_diagnostics.rb +0 -0
  22. data/{lib/dsllib → dsllib}/common/remote_diagnostics/odn_web_server.rb +0 -0
  23. data/{lib/dsllib → dsllib}/common/utils/excel_export.rb +0 -0
  24. data/{lib/dsllib → dsllib}/common/utils/excel_module.rb +0 -0
  25. data/{lib/dsllib → dsllib}/common/utils/server_components_utils.rb +0 -0
  26. data/{lib/dsllib → dsllib}/common/utils/stb_health_check_utils.rb +0 -0
  27. data/{lib/dsllib → dsllib}/common/utils/sword_utils.rb +0 -0
  28. data/{lib/dsllib → dsllib}/common/utils/tmc_utils.rb +0 -0
  29. data/{lib/dsllib → dsllib}/common/utils/virtual_keyboard_navigator.rb +0 -0
  30. data/{lib/dsllib → dsllib}/common/utils/virtual_keyboard_vp_navigator.rb +0 -0
  31. data/{lib/dsllib → dsllib}/performance/DTA/roi.rb +0 -0
  32. data/{lib/dsllib → dsllib}/performance/DTA/utils.rb +0 -0
  33. data/{lib/dsllib → dsllib}/performance/iguide_concurrent_test/ROI.rb +0 -0
  34. data/{lib/dsllib → dsllib}/performance/iguide_concurrent_test/utils.rb +0 -0
  35. data/{lib/dsllib → dsllib}/performance/measure_tune.rb +0 -0
  36. data/{lib/dsllib → dsllib}/performance/perf_lib.rb +0 -0
  37. data/framework_gem.rb +3 -0
  38. data/lib/{lib/data_services → data_services}/channel.rb +0 -0
  39. data/lib/{lib/data_services → data_services}/data_services.rb +0 -0
  40. data/lib/{lib/data_services → data_services}/guide.rb +0 -0
  41. data/lib/{lib/data_services → data_services}/lineup.rb +0 -0
  42. data/lib/{lib/data_services → data_services}/program.rb +0 -0
  43. data/lib/{lib/data_services → data_services}/schedule.rb +0 -0
  44. data/lib/{lib/data_services → data_services}/splunk_connector.rb +0 -0
  45. data/lib/{lib/data_services → data_services}/splunk_data_reader.rb +0 -0
  46. data/lib/{lib/element → element}/element.rb +0 -0
  47. data/lib/{lib/extensions → extensions}/array_extensions.rb +0 -0
  48. data/lib/{lib/extensions → extensions}/datetime_extensions.rb +0 -0
  49. data/lib/{lib/extensions → extensions}/extensions.rb +0 -0
  50. data/lib/{lib/extensions → extensions}/file_extensions.rb +0 -0
  51. data/lib/{lib/extensions → extensions}/float_extensions.rb +0 -0
  52. data/lib/{lib/extensions → extensions}/integer_extensions.rb +0 -0
  53. data/lib/{lib/extensions → extensions}/nethttp_extensions.rb +0 -0
  54. data/lib/{lib/extensions → extensions}/object_extensions.rb +0 -0
  55. data/lib/{lib/extensions → extensions}/string_extensions.rb +0 -0
  56. data/lib/helpers/tmc_helpers/core_helper/core_helper.rb +29 -0
  57. data/lib/{lib/helpers → helpers}/tmc_helpers/csv_helper/csv_helper.rb +0 -0
  58. data/lib/{lib/helpers → helpers}/tmc_helpers/email_helper/email_helper.rb +0 -0
  59. data/lib/{lib/helpers → helpers}/tmc_helpers/http_helper/http_helper.rb +0 -0
  60. data/lib/{lib/helpers → helpers}/tmc_helpers/roi_helper/roi_helper.rb +0 -0
  61. data/lib/{lib/helpers → helpers}/tmc_helpers/snmp_helper/snmp_helper.rb +0 -0
  62. data/lib/{lib/helpers → helpers}/tmc_helpers/ssh_helper/ssh_helper.rb +0 -0
  63. data/lib/{lib/helpers → helpers}/tmc_helpers/tmc_helpers.rb +0 -0
  64. data/lib/{lib/keyboard → keyboard}/apple_tv/apple_tv_password_keyboard.rb +0 -0
  65. data/lib/{lib/keyboard → keyboard}/apple_tv/apple_tv_search_keyboard.rb +0 -0
  66. data/lib/{lib/keyboard → keyboard}/apple_tv/apple_tv_username_keyboard.rb +0 -0
  67. data/lib/{lib/keyboard → keyboard}/keyboard.rb +0 -0
  68. data/lib/{lib/keyboard → keyboard}/keyboard_layout.rb +0 -0
  69. data/lib/{lib/keyboard → keyboard}/roku/roku_reset_pin_keyboard.rb +0 -0
  70. data/lib/{lib/keyboard → keyboard}/roku/roku_rsg_search_keyboard.rb +0 -0
  71. data/lib/{lib/keyboard → keyboard}/roku/roku_rsg_signin_keyboard.rb +0 -0
  72. data/lib/{lib/keyboard → keyboard}/roku/roku_search_keyboard.rb +0 -0
  73. data/lib/{lib/keyboard → keyboard}/roku/roku_signin_keyboard.rb +0 -0
  74. data/lib/{lib/keyboard → keyboard}/samsung_tv/samsung_tv_search_keyboard.rb +0 -0
  75. data/lib/{lib/keyboard → keyboard}/samsung_tv/samsung_tv_signin_keyboard.rb +0 -0
  76. data/lib/{lib/keyboard → keyboard}/stb/odn/odn_on_demand_search_keyboard.rb +0 -0
  77. data/lib/{lib/keyboard → keyboard}/stb/odn/odn_search_keyboard.rb +0 -0
  78. data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_netflix_email_keyboard.rb +0 -0
  79. data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_netflix_keyboard.rb +0 -0
  80. data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_netflix_name_keyboard.rb +0 -0
  81. data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_search_keyboard.rb +0 -0
  82. data/lib/{lib/keyboard → keyboard}/tivo/tivo_password_keyboard.rb +0 -0
  83. data/lib/{lib/keyboard → keyboard}/tivo/tivo_search_keyboard.rb +0 -0
  84. data/lib/{lib/keyboard → keyboard}/tivo/tivo_username_keyboard.rb +0 -0
  85. data/lib/{lib/keys → keys}/apple_tv/apple_tv_keys.rb +0 -0
  86. data/lib/{lib/keys → keys}/base_keys.rb +0 -0
  87. data/lib/{lib/keys → keys}/dta/dta_keys.rb +0 -0
  88. data/lib/{lib/keys → keys}/mdn/mdn_keys.rb +0 -0
  89. data/lib/{lib/keys → keys}/passport/passport_keys.rb +0 -0
  90. data/lib/{lib/keys → keys}/roku/roku_keys.rb +0 -0
  91. data/lib/{lib/keys → keys}/roku_tv/roku_tv_keys.rb +0 -0
  92. data/lib/{lib/keys → keys}/samsung_tv/samsung_tv_keys.rb +0 -0
  93. data/lib/{lib/keys → keys}/sara/sara_keys.rb +0 -0
  94. data/lib/{lib/keys → keys}/stb/iguide/iguide_keys.rb +0 -0
  95. data/lib/{lib/keys → keys}/stb/odn/odn_keys.rb +0 -0
  96. data/lib/{lib/keys → keys}/stb/spectrum/spectrum_keys.rb +0 -0
  97. data/lib/{lib/keys → keys}/stb/stb_keys.rb +0 -0
  98. data/lib/{lib/keys → keys}/tivo/tivo_keys.rb +0 -0
  99. data/lib/{lib/logger → logger}/multi_io.rb +0 -0
  100. data/lib/{lib/logger → logger}/tmc_dut_logger.rb +0 -0
  101. data/lib/{lib/logger → logger}/tmc_logger.rb +0 -0
  102. data/lib/{lib/mixins → mixins}/assignable.rb +0 -0
  103. data/lib/{lib/mixins → mixins}/can_have_special_methods.rb +0 -0
  104. data/lib/{lib/mixins → mixins}/enumish.rb +0 -0
  105. data/lib/{lib/new_platform.rb → new_platform.rb} +0 -0
  106. data/lib/{lib/new_sub_platform.rb → new_sub_platform.rb} +0 -0
  107. data/lib/{lib/platform → platform}/apple_tv/apple_tv.rb +0 -0
  108. data/lib/{lib/platform → platform}/apple_tv/apple_tv_1080/apple_tv_1080.rb +0 -0
  109. data/lib/{lib/platform → platform}/apple_tv/apple_tv_720/apple_tv_720.rb +0 -0
  110. data/lib/{lib/platform → platform}/dta/dta.rb +0 -0
  111. data/lib/{lib/platform → platform}/dta/dta_1080/dta_1080.rb +0 -0
  112. data/lib/{lib/platform → platform}/dta/dta_720/dta_720.rb +0 -0
  113. data/lib/{lib/platform → platform}/mdn/mdn.rb +0 -0
  114. data/lib/{lib/platform → platform}/mdn/mdn_1080/mdn_1080.rb +0 -0
  115. data/lib/{lib/platform → platform}/mdn/mdn_720/mdn_720.rb +0 -0
  116. data/lib/{lib/platform → platform}/mobile/android/android.rb +0 -0
  117. data/lib/{lib/platform → platform}/mobile/android/android_phone/android_phone.rb +0 -0
  118. data/lib/{lib/platform → platform}/mobile/android/android_tablet/android_tablet.rb +0 -0
  119. data/lib/{lib/platform → platform}/mobile/ios/ios.rb +0 -0
  120. data/lib/{lib/platform → platform}/mobile/ios/ios_phone/ios_phone.rb +0 -0
  121. data/lib/{lib/platform → platform}/mobile/ios/ios_tablet/ios_tablet.rb +0 -0
  122. data/lib/{lib/platform → platform}/mobile/mobile.rb +0 -0
  123. data/lib/{lib/platform → platform}/passport/passport.rb +0 -0
  124. data/lib/{lib/platform → platform}/passport/passport1080/passport_1080.rb +0 -0
  125. data/lib/{lib/platform → platform}/passport/passport_720/passport_720.rb +0 -0
  126. data/lib/{lib/platform → platform}/platform.rb +0 -0
  127. data/lib/{lib/platform → platform}/roku/roku.rb +0 -0
  128. data/lib/{lib/platform → platform}/roku/roku_720/roku_720.rb +0 -0
  129. data/lib/{lib/platform → platform}/roku_tv/roku_tv.rb +0 -0
  130. data/lib/{lib/platform → platform}/roku_tv/roku_tv_1080/roku_tv_1080.rb +0 -0
  131. data/lib/{lib/platform → platform}/roku_tv/roku_tv_720/roku_tv_720.rb +0 -0
  132. data/lib/{lib/platform → platform}/samsung_tv/samsung_tv.rb +0 -0
  133. data/lib/{lib/platform → platform}/samsung_tv/samsung_tv_1080/samsung_tv_1080.rb +0 -0
  134. data/lib/{lib/platform → platform}/samsung_tv/samsung_tv_720/samsung_tv_720.rb +0 -0
  135. data/lib/{lib/platform → platform}/sara/sara.rb +0 -0
  136. data/lib/{lib/platform → platform}/sara/sara_1080/sara_1080.rb +0 -0
  137. data/lib/{lib/platform → platform}/sara/sara_720/sara_720.rb +0 -0
  138. data/lib/{lib/platform → platform}/stb/iguide/iguide.rb +0 -0
  139. data/lib/{lib/platform → platform}/stb/iguide/iguide_1080/iguide_1080.rb +0 -0
  140. data/lib/{lib/platform → platform}/stb/iguide/iguide_720/iguide_720.rb +0 -0
  141. data/lib/{lib/platform → platform}/stb/odn/odn.rb +0 -0
  142. data/lib/{lib/platform → platform}/stb/odn/odn_1080/odn_1080.rb +0 -0
  143. data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720.rb +0 -0
  144. data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720_moto/odn_720_moto.rb +0 -0
  145. data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720_sa/odn_720_sa.rb +0 -0
  146. data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung.rb +0 -0
  147. data/lib/{lib/platform → platform}/stb/spectrum/spectrum.rb +0 -0
  148. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080.rb +0 -0
  149. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis.rb +0 -0
  150. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris.rb +0 -0
  151. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax.rb +0 -0
  152. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch.rb +0 -0
  153. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace.rb +0 -0
  154. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720.rb +0 -0
  155. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris.rb +0 -0
  156. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax.rb +0 -0
  157. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch.rb +0 -0
  158. data/lib/{lib/platform → platform}/stb/stb.rb +0 -0
  159. data/lib/{lib/platform → platform}/template.txt +0 -0
  160. data/lib/{lib/platform → platform}/tivo/tivo.rb +0 -0
  161. data/lib/{lib/platform → platform}/tivo/tivo_1080/tivo_1080.rb +0 -0
  162. data/lib/{lib/platform → platform}/tivo/tivo_720/tivo_720.rb +0 -0
  163. data/lib/{lib/platform → platform}/web/web.rb +0 -0
  164. data/lib/{lib/platform_libs → platform_libs}/roku/roku_controller.rb +0 -0
  165. data/lib/{lib/prereqs → prereqs}/prereqs.rb +0 -0
  166. data/lib/{lib/prereqs → prereqs}/prereqs_for_dut.rb +0 -0
  167. data/lib/{lib/prereqs → prereqs}/prereqs_for_test.rb +0 -0
  168. data/lib/{lib/remotes → remotes}/remotes.rb +0 -0
  169. data/lib/{lib/remotes → remotes}/stb/spectrum/spectrum_remotes.rb +0 -0
  170. data/lib/{lib/roi → roi}/black/black_roi.rb +0 -0
  171. data/lib/{lib/roi → roi}/color/color_roi.rb +0 -0
  172. data/lib/{lib/roi → roi}/image/image_roi.rb +0 -0
  173. data/lib/{lib/roi → roi}/roi.rb +0 -0
  174. data/lib/{lib/roi → roi}/template_roi.txt +0 -0
  175. data/lib/{lib/roi → roi}/text/text_roi.rb +0 -0
  176. data/lib/{lib/roi → roi}/video/video_roi.rb +0 -0
  177. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_black_rois.rb +0 -0
  178. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_color_rois.rb +0 -0
  179. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_image_rois.rb +0 -0
  180. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_rois.rb +0 -0
  181. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_text_rois.rb +0 -0
  182. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_video_rois.rb +2 -1
  183. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_black_rois.rb +0 -0
  184. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_color_rois.rb +0 -0
  185. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_image_rois.rb +0 -0
  186. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_rois.rb +0 -0
  187. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_text_rois.rb +0 -0
  188. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_video_rois.rb +0 -0
  189. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_black_rois.rb +0 -0
  190. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_color_rois.rb +0 -0
  191. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_image_rois.rb +0 -0
  192. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_rois.rb +0 -0
  193. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_text_rois.rb +0 -0
  194. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_video_rois.rb +0 -0
  195. data/lib/{User_Lib/rois → rois}/black_rois.rb +0 -0
  196. data/lib/{User_Lib/rois → rois}/color_rois.rb +0 -0
  197. data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_black_rois.rb +0 -0
  198. data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_color_rois.rb +0 -0
  199. data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_image_rois.rb +0 -0
  200. data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_rois.rb +0 -0
  201. data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_text_rois.rb +0 -0
  202. data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_video_rois.rb +0 -0
  203. data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_black_rois.rb +0 -0
  204. data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_color_rois.rb +0 -0
  205. data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_image_rois.rb +0 -0
  206. data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_rois.rb +0 -0
  207. data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_text_rois.rb +0 -0
  208. data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_video_rois.rb +0 -0
  209. data/lib/{User_Lib/rois → rois}/dta/dta_black_rois.rb +0 -0
  210. data/lib/{User_Lib/rois → rois}/dta/dta_color_rois.rb +0 -0
  211. data/lib/{User_Lib/rois → rois}/dta/dta_image_rois.rb +0 -0
  212. data/lib/{User_Lib/rois → rois}/dta/dta_rois.rb +0 -0
  213. data/lib/{User_Lib/rois → rois}/dta/dta_text_rois.rb +0 -0
  214. data/lib/{User_Lib/rois → rois}/dta/dta_video_rois.rb +0 -0
  215. data/lib/{User_Lib/rois → rois}/image_rois.rb +0 -0
  216. data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_black_rois.rb +0 -0
  217. data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_color_rois.rb +0 -0
  218. data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_image_rois.rb +0 -0
  219. data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_rois.rb +0 -0
  220. data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_text_rois.rb +0 -0
  221. data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_video_rois.rb +0 -0
  222. data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_black_rois.rb +0 -0
  223. data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_color_rois.rb +0 -0
  224. data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_image_rois.rb +0 -0
  225. data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_rois.rb +0 -0
  226. data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_text_rois.rb +0 -0
  227. data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_video_rois.rb +0 -0
  228. data/lib/{User_Lib/rois → rois}/mdn/mdn_black_rois.rb +0 -0
  229. data/lib/{User_Lib/rois → rois}/mdn/mdn_color_rois.rb +0 -0
  230. data/lib/{User_Lib/rois → rois}/mdn/mdn_image_rois.rb +0 -0
  231. data/lib/{User_Lib/rois → rois}/mdn/mdn_rois.rb +0 -0
  232. data/lib/{User_Lib/rois → rois}/mdn/mdn_text_rois.rb +0 -0
  233. data/lib/{User_Lib/rois → rois}/mdn/mdn_video_rois.rb +0 -0
  234. data/lib/{User_Lib/rois → rois}/mobile/android/android_black_rois.rb +0 -0
  235. data/lib/{User_Lib/rois → rois}/mobile/android/android_color_rois.rb +0 -0
  236. data/lib/{User_Lib/rois → rois}/mobile/android/android_image_rois.rb +0 -0
  237. data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_black_rois.rb +0 -0
  238. data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_color_rois.rb +0 -0
  239. data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_image_rois.rb +0 -0
  240. data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_rois.rb +0 -0
  241. data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_text_rois.rb +0 -0
  242. data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_video_rois.rb +0 -0
  243. data/lib/{User_Lib/rois → rois}/mobile/android/android_rois.rb +0 -0
  244. data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_black_rois.rb +0 -0
  245. data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_color_rois.rb +0 -0
  246. data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_image_rois.rb +0 -0
  247. data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_rois.rb +0 -0
  248. data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_text_rois.rb +0 -0
  249. data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_video_rois.rb +0 -0
  250. data/lib/{User_Lib/rois → rois}/mobile/android/android_text_rois.rb +0 -0
  251. data/lib/{User_Lib/rois → rois}/mobile/android/android_video_rois.rb +0 -0
  252. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_black_rois.rb +0 -0
  253. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_color_rois.rb +0 -0
  254. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_image_rois.rb +0 -0
  255. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_black_rois.rb +0 -0
  256. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_color_rois.rb +0 -0
  257. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_image_rois.rb +0 -0
  258. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_rois.rb +0 -0
  259. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_text_rois.rb +0 -0
  260. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_video_rois.rb +0 -0
  261. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_rois.rb +0 -0
  262. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_black_rois.rb +0 -0
  263. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_color_rois.rb +0 -0
  264. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_image_rois.rb +0 -0
  265. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_rois.rb +0 -0
  266. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_text_rois.rb +0 -0
  267. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_video_rois.rb +0 -0
  268. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_text_rois.rb +0 -0
  269. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_video_rois.rb +0 -0
  270. data/lib/{User_Lib/rois → rois}/mobile/mobile_black_rois.rb +0 -0
  271. data/lib/{User_Lib/rois → rois}/mobile/mobile_color_rois.rb +0 -0
  272. data/lib/{User_Lib/rois → rois}/mobile/mobile_image_rois.rb +0 -0
  273. data/lib/{User_Lib/rois → rois}/mobile/mobile_rois.rb +0 -0
  274. data/lib/{User_Lib/rois → rois}/mobile/mobile_text_rois.rb +0 -0
  275. data/lib/{User_Lib/rois → rois}/mobile/mobile_video_rois.rb +0 -0
  276. data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_black_rois.rb +0 -0
  277. data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_color_rois.rb +0 -0
  278. data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_image_rois.rb +0 -0
  279. data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_rois.rb +0 -0
  280. data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_text_rois.rb +0 -0
  281. data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_video_rois.rb +0 -0
  282. data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_black_rois.rb +0 -0
  283. data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_color_rois.rb +0 -0
  284. data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_image_rois.rb +0 -0
  285. data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_rois.rb +0 -0
  286. data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_text_rois.rb +0 -0
  287. data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_video_rois.rb +0 -0
  288. data/lib/{User_Lib/rois → rois}/passport/passport_black_rois.rb +0 -0
  289. data/lib/{User_Lib/rois → rois}/passport/passport_color_rois.rb +0 -0
  290. data/lib/{User_Lib/rois → rois}/passport/passport_image_rois.rb +0 -0
  291. data/lib/{User_Lib/rois → rois}/passport/passport_rois.rb +0 -0
  292. data/lib/{User_Lib/rois → rois}/passport/passport_text_rois.rb +0 -0
  293. data/lib/{User_Lib/rois → rois}/passport/passport_video_rois.rb +0 -0
  294. data/lib/{User_Lib/rois → rois}/rois.rb +0 -0
  295. data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_black_rois.rb +0 -0
  296. data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_color_rois.rb +0 -0
  297. data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_image_rois.rb +0 -0
  298. data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_rois.rb +0 -0
  299. data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_text_rois.rb +0 -0
  300. data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_video_rois.rb +0 -0
  301. data/lib/{User_Lib/rois → rois}/roku/roku_black_rois.rb +0 -0
  302. data/lib/{User_Lib/rois → rois}/roku/roku_color_rois.rb +0 -0
  303. data/lib/{User_Lib/rois → rois}/roku/roku_image_rois.rb +0 -0
  304. data/lib/{User_Lib/rois → rois}/roku/roku_rois.rb +0 -0
  305. data/lib/{User_Lib/rois → rois}/roku/roku_text_rois.rb +0 -0
  306. data/lib/{User_Lib/rois → rois}/roku/roku_video_rois.rb +0 -0
  307. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_black_rois.rb +0 -0
  308. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_color_rois.rb +0 -0
  309. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_image_rois.rb +0 -0
  310. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_rois.rb +0 -0
  311. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_text_rois.rb +0 -0
  312. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_video_rois.rb +0 -0
  313. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_black_rois.rb +0 -0
  314. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_color_rois.rb +0 -0
  315. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_image_rois.rb +0 -0
  316. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_rois.rb +0 -0
  317. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_text_rois.rb +0 -0
  318. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_video_rois.rb +0 -0
  319. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_black_rois.rb +0 -0
  320. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_color_rois.rb +0 -0
  321. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_image_rois.rb +0 -0
  322. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_rois.rb +0 -0
  323. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_text_rois.rb +0 -0
  324. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_video_rois.rb +0 -0
  325. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_black_rois.rb +0 -0
  326. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_color_rois.rb +0 -0
  327. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_image_rois.rb +0 -0
  328. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_rois.rb +0 -0
  329. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_text_rois.rb +0 -0
  330. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_video_rois.rb +0 -0
  331. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_black_rois.rb +0 -0
  332. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_color_rois.rb +0 -0
  333. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_image_rois.rb +0 -0
  334. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_rois.rb +0 -0
  335. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_text_rois.rb +0 -0
  336. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_video_rois.rb +0 -0
  337. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_black_rois.rb +0 -0
  338. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_color_rois.rb +0 -0
  339. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_image_rois.rb +0 -0
  340. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_rois.rb +0 -0
  341. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_text_rois.rb +0 -0
  342. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_video_rois.rb +0 -0
  343. data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_black_rois.rb +0 -0
  344. data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_color_rois.rb +0 -0
  345. data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_image_rois.rb +0 -0
  346. data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_rois.rb +0 -0
  347. data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_text_rois.rb +0 -0
  348. data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_video_rois.rb +0 -0
  349. data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_black_rois.rb +0 -0
  350. data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_color_rois.rb +0 -0
  351. data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_image_rois.rb +0 -0
  352. data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_rois.rb +0 -0
  353. data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_text_rois.rb +0 -0
  354. data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_video_rois.rb +0 -0
  355. data/lib/{User_Lib/rois → rois}/sara/sara_black_rois.rb +0 -0
  356. data/lib/{User_Lib/rois → rois}/sara/sara_color_rois.rb +0 -0
  357. data/lib/{User_Lib/rois → rois}/sara/sara_image_rois.rb +0 -0
  358. data/lib/{User_Lib/rois → rois}/sara/sara_rois.rb +0 -0
  359. data/lib/{User_Lib/rois → rois}/sara/sara_text_rois.rb +0 -0
  360. data/lib/{User_Lib/rois → rois}/sara/sara_video_rois.rb +0 -0
  361. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_black_rois.rb +0 -0
  362. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_color_rois.rb +0 -0
  363. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_image_rois.rb +0 -0
  364. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_rois.rb +0 -0
  365. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_text_rois.rb +0 -0
  366. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_video_rois.rb +0 -0
  367. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_black_rois.rb +0 -0
  368. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_color_rois.rb +0 -0
  369. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_image_rois.rb +0 -0
  370. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_rois.rb +0 -0
  371. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_text_rois.rb +0 -0
  372. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_video_rois.rb +0 -0
  373. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_black_rois.rb +0 -0
  374. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_color_rois.rb +0 -0
  375. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_image_rois.rb +0 -0
  376. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_rois.rb +0 -0
  377. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_text_rois.rb +0 -0
  378. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_video_rois.rb +0 -0
  379. data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_black_rois.rb +0 -0
  380. data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_color_rois.rb +0 -0
  381. data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_image_rois.rb +0 -0
  382. data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_rois.rb +0 -0
  383. data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_text_rois.rb +0 -0
  384. data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_video_rois.rb +0 -0
  385. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_black_rois.rb +0 -0
  386. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_color_rois.rb +0 -0
  387. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_image_rois.rb +0 -0
  388. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_black_rois.rb +0 -0
  389. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_color_rois.rb +0 -0
  390. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_image_rois.rb +0 -0
  391. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_rois.rb +0 -0
  392. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_text_rois.rb +0 -0
  393. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_video_rois.rb +0 -0
  394. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_rois.rb +0 -0
  395. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_black_rois.rb +0 -0
  396. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_color_rois.rb +0 -0
  397. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_image_rois.rb +0 -0
  398. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_rois.rb +0 -0
  399. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_text_rois.rb +0 -0
  400. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_video_rois.rb +0 -0
  401. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_black_rois.rb +0 -0
  402. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_color_rois.rb +0 -0
  403. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_image_rois.rb +0 -0
  404. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_rois.rb +0 -0
  405. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_text_rois.rb +0 -0
  406. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_video_rois.rb +0 -0
  407. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_text_rois.rb +0 -0
  408. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_video_rois.rb +0 -0
  409. data/lib/{User_Lib/rois → rois}/stb/odn/odn_black_rois.rb +0 -0
  410. data/lib/{User_Lib/rois → rois}/stb/odn/odn_color_rois.rb +0 -0
  411. data/lib/{User_Lib/rois → rois}/stb/odn/odn_image_rois.rb +0 -0
  412. data/lib/{User_Lib/rois → rois}/stb/odn/odn_rois.rb +0 -0
  413. data/lib/{User_Lib/rois → rois}/stb/odn/odn_text_rois.rb +0 -0
  414. data/lib/{User_Lib/rois → rois}/stb/odn/odn_video_rois.rb +0 -0
  415. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_black_rois.rb +0 -0
  416. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_color_rois.rb +0 -0
  417. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_black_rois.rb +0 -0
  418. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_color_rois.rb +0 -0
  419. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_image_rois.rb +0 -0
  420. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_rois.rb +0 -0
  421. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_text_rois.rb +0 -0
  422. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_video_rois.rb +0 -0
  423. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_black_rois.rb +0 -0
  424. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_color_rois.rb +0 -0
  425. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_image_rois.rb +0 -0
  426. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_rois.rb +0 -0
  427. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_text_rois.rb +0 -0
  428. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_video_rois.rb +0 -0
  429. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_black_rois.rb +0 -0
  430. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_color_rois.rb +0 -0
  431. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_image_rois.rb +0 -0
  432. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_rois.rb +0 -0
  433. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_text_rois.rb +0 -0
  434. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_video_rois.rb +0 -0
  435. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_black_rois.rb +0 -0
  436. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_color_rois.rb +0 -0
  437. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_image_rois.rb +0 -0
  438. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_rois.rb +0 -0
  439. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_text_rois.rb +0 -0
  440. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_video_rois.rb +0 -0
  441. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_image_rois.rb +0 -0
  442. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_black_rois.rb +0 -0
  443. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_color_rois.rb +0 -0
  444. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_image_rois.rb +0 -0
  445. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_rois.rb +0 -0
  446. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_text_rois.rb +0 -0
  447. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_video_rois.rb +0 -0
  448. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_rois.rb +0 -0
  449. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_text_rois.rb +0 -0
  450. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_video_rois.rb +0 -0
  451. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_black_rois.rb +0 -0
  452. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_color_rois.rb +0 -0
  453. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_black_rois.rb +0 -0
  454. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_color_rois.rb +0 -0
  455. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_image_rois.rb +0 -0
  456. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_rois.rb +0 -0
  457. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_text_rois.rb +0 -0
  458. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_video_rois.rb +0 -0
  459. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_black_rois.rb +0 -0
  460. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_color_rois.rb +0 -0
  461. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_image_rois.rb +0 -0
  462. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_rois.rb +0 -0
  463. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_text_rois.rb +0 -0
  464. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_video_rois.rb +0 -0
  465. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_black_rois.rb +0 -0
  466. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_color_rois.rb +0 -0
  467. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_image_rois.rb +0 -0
  468. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_rois.rb +0 -0
  469. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_text_rois.rb +0 -0
  470. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_video_rois.rb +0 -0
  471. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_image_rois.rb +0 -0
  472. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_rois.rb +0 -0
  473. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_text_rois.rb +0 -0
  474. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_video_rois.rb +0 -0
  475. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_black_rois.rb +0 -0
  476. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_color_rois.rb +0 -0
  477. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_image_rois.rb +0 -0
  478. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_rois.rb +0 -0
  479. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_text_rois.rb +0 -0
  480. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_video_rois.rb +0 -0
  481. data/lib/{User_Lib/rois → rois}/stb/stb_black_rois.rb +0 -0
  482. data/lib/{User_Lib/rois → rois}/stb/stb_color_rois.rb +0 -0
  483. data/lib/{User_Lib/rois → rois}/stb/stb_image_rois.rb +0 -0
  484. data/lib/{User_Lib/rois → rois}/stb/stb_rois.rb +0 -0
  485. data/lib/{User_Lib/rois → rois}/stb/stb_text_rois.rb +0 -0
  486. data/lib/{User_Lib/rois → rois}/stb/stb_video_rois.rb +0 -0
  487. data/lib/{User_Lib/rois → rois}/template.txt +0 -0
  488. data/lib/{User_Lib/rois → rois}/text_rois.rb +0 -0
  489. data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_black_rois.rb +0 -0
  490. data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_color_rois.rb +0 -0
  491. data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_image_rois.rb +0 -0
  492. data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_rois.rb +0 -0
  493. data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_text_rois.rb +0 -0
  494. data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_video_rois.rb +0 -0
  495. data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_black_rois.rb +0 -0
  496. data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_color_rois.rb +0 -0
  497. data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_image_rois.rb +0 -0
  498. data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_rois.rb +0 -0
  499. data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_text_rois.rb +0 -0
  500. data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_video_rois.rb +0 -0
  501. data/lib/{User_Lib/rois → rois}/tivo/tivo_black_rois.rb +0 -0
  502. data/lib/{User_Lib/rois → rois}/tivo/tivo_color_rois.rb +0 -0
  503. data/lib/{User_Lib/rois → rois}/tivo/tivo_image_rois.rb +0 -0
  504. data/lib/{User_Lib/rois → rois}/tivo/tivo_rois.rb +0 -0
  505. data/lib/{User_Lib/rois → rois}/tivo/tivo_text_rois.rb +0 -0
  506. data/lib/{User_Lib/rois → rois}/tivo/tivo_video_rois.rb +0 -0
  507. data/lib/{User_Lib/rois → rois}/video_rois.rb +0 -0
  508. data/lib/{lib/screen → screen}/screen.rb +0 -0
  509. data/lib/{lib/screen → screen}/template.txt +0 -0
  510. data/lib/{lib/screen → screen}/template_screen.txt +0 -0
  511. data/lib/{lib/screens → screens}/apple_tv/apple_tv_screens.rb +0 -0
  512. data/lib/{lib/screens → screens}/dta/dta_screens.rb +0 -0
  513. data/lib/{lib/screens → screens}/mdn/mdn_screens.rb +0 -0
  514. data/lib/{lib/screens → screens}/mobile/android/android_phone/android_phone_screens.rb +0 -0
  515. data/lib/{lib/screens → screens}/mobile/android/android_screens.rb +0 -0
  516. data/lib/{lib/screens → screens}/mobile/android/android_tablet/android_tablet_screens.rb +0 -0
  517. data/lib/{lib/screens → screens}/mobile/ios/ios_phone/ios_phone_screens.rb +0 -0
  518. data/lib/{lib/screens → screens}/mobile/ios/ios_screens.rb +0 -0
  519. data/lib/{lib/screens → screens}/mobile/ios/ios_tablet/ios_tablet_screens.rb +0 -0
  520. data/lib/{lib/screens → screens}/mobile/mobile_screens.rb +0 -0
  521. data/lib/{lib/screens → screens}/passport/passport_screens.rb +0 -0
  522. data/lib/{lib/screens → screens}/roku/roku_screens.rb +0 -0
  523. data/lib/{lib/screens → screens}/roku_tv/roku_tv_screens.rb +0 -0
  524. data/lib/{lib/screens → screens}/samsung_tv/samsung_tv_screens.rb +0 -0
  525. data/lib/{lib/screens → screens}/sara/sara_screens.rb +0 -0
  526. data/lib/{lib/screens → screens}/screens.rb +0 -0
  527. data/lib/{lib/screens → screens}/stb/iguide/iguide_1080/iguide_1080_screens.rb +0 -0
  528. data/lib/{lib/screens → screens}/stb/iguide/iguide_720/iguide_720_screens.rb +0 -0
  529. data/lib/{lib/screens → screens}/stb/iguide/iguide_screens.rb +0 -0
  530. data/lib/{lib/screens → screens}/stb/odn/odn_screens.rb +0 -0
  531. data/lib/{lib/screens → screens}/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_screens.rb +0 -0
  532. data/lib/{lib/screens → screens}/stb/spectrum/spectrum_screens.rb +0 -0
  533. data/lib/{lib/screens → screens}/stb/stb_screens.rb +0 -0
  534. data/lib/{lib/screens → screens}/template.txt +0 -0
  535. data/lib/{lib/screens → screens}/tivo/tivo_screens.rb +0 -0
  536. data/lib/{lib/selenium → selenium}/appium/appium.rb +0 -0
  537. data/lib/{lib/selenium → selenium}/selenium.rb +0 -0
  538. data/lib/{lib/selenium → selenium}/webdriver/webdriver.rb +0 -0
  539. data/lib/{lib/test_case → test_case}/boilerplate/functional.rb +0 -0
  540. data/lib/{lib/test_case → test_case}/boilerplate/performance.rb +0 -0
  541. data/lib/{lib/test_case → test_case}/ci_test.rb +0 -0
  542. data/lib/{lib/test_case → test_case}/functional_test_case.rb +0 -0
  543. data/lib/{lib/test_case → test_case}/make_boilerplate.rb +0 -0
  544. data/lib/{lib/test_case → test_case}/monitoring/apple_monitor.rb +0 -0
  545. data/lib/{lib/test_case → test_case}/monitoring/base_monitor.rb +0 -0
  546. data/lib/{lib/test_case → test_case}/monitoring/dta_monitor.rb +0 -0
  547. data/lib/{lib/test_case → test_case}/monitoring/iguide_monitor.rb +0 -0
  548. data/lib/{lib/test_case → test_case}/monitoring/mdn_monitor.rb +0 -0
  549. data/lib/{lib/test_case → test_case}/monitoring/monitoring_test.rb +0 -0
  550. data/lib/{lib/test_case → test_case}/monitoring/odn_monitor.rb +0 -0
  551. data/lib/{lib/test_case → test_case}/monitoring/passport_monitor.rb +0 -0
  552. data/lib/{lib/test_case → test_case}/monitoring/report_monitor.rb +0 -0
  553. data/lib/{lib/test_case → test_case}/monitoring/roku_monitor.rb +0 -0
  554. data/lib/{lib/test_case → test_case}/monitoring/sara_monitor.rb +0 -0
  555. data/lib/{lib/test_case → test_case}/monitoring/spec_monitor.rb +0 -0
  556. data/lib/{lib/test_case → test_case}/performance_test_case.rb +0 -0
  557. data/lib/{lib/test_case → test_case}/test_case.rb +0 -0
  558. data/lib/{lib/test_case → test_case}/test_error.rb +0 -0
  559. data/lib/{lib/test_case → test_case}/test_exception.rb +0 -0
  560. data/lib/{lib/test_case → test_case}/test_status.rb +0 -0
  561. data/lib/{lib/test_case → test_case}/test_step.rb +0 -0
  562. data/lib/{lib/test_case → test_case}/test_trace.rb +0 -0
  563. data/lib/{lib/test_data.rb → test_data.rb} +0 -0
  564. data/lib/test_wrapper.rb +95 -0
  565. data/{lib/misc → misc}/get_latest_android.sh +0 -0
  566. data/{lib/misc → misc}/get_latest_ios.sh +0 -0
  567. data/{lib/package-lock.json → package-lock.json} +0 -0
  568. data/{lib/syntax_eval.rb → syntax_eval.rb} +27 -35
  569. data/tmc-core.gemspec +9 -0
  570. data/{lib/tools → tools}/convert_old_scripts.rb +0 -0
  571. data/{lib/tools → tools}/find_duplicate_rois.rb +0 -0
  572. data/{lib/tools → tools}/roku/inspector.rb +0 -0
  573. data/{lib/tools → tools}/syntax_checker.rb +2 -4
  574. data/{lib/upload_ref_images.rb → upload_ref_images.rb} +0 -0
  575. metadata +576 -873
  576. data/lib/User_Lib/helpers/helpers.rb +0 -13
  577. data/lib/User_Lib/screen/apple_tv/apple_tv_dvr.rb +0 -25
  578. data/lib/User_Lib/screen/apple_tv/apple_tv_guide.rb +0 -25
  579. data/lib/User_Lib/screen/apple_tv/apple_tv_library.rb +0 -25
  580. data/lib/User_Lib/screen/apple_tv/apple_tv_live_tv.rb +0 -17
  581. data/lib/User_Lib/screen/apple_tv/apple_tv_login.rb +0 -24
  582. data/lib/User_Lib/screen/apple_tv/apple_tv_main_menu.rb +0 -25
  583. data/lib/User_Lib/screen/apple_tv/apple_tv_mini_guide.rb +0 -25
  584. data/lib/User_Lib/screen/apple_tv/apple_tv_movies.rb +0 -25
  585. data/lib/User_Lib/screen/apple_tv/apple_tv_on_demand.rb +0 -25
  586. data/lib/User_Lib/screen/apple_tv/apple_tv_parental_controls.rb +0 -25
  587. data/lib/User_Lib/screen/apple_tv/apple_tv_product_page.rb +0 -25
  588. data/lib/User_Lib/screen/apple_tv/apple_tv_screen.rb +0 -23
  589. data/lib/User_Lib/screen/apple_tv/apple_tv_search.rb +0 -31
  590. data/lib/User_Lib/screen/apple_tv/apple_tv_settings.rb +0 -25
  591. data/lib/User_Lib/screen/apple_tv/apple_tv_tv_shows.rb +0 -25
  592. data/lib/User_Lib/screen/apple_tv/apple_tv_video_store.rb +0 -25
  593. data/lib/User_Lib/screen/dta/dta_dvr.rb +0 -26
  594. data/lib/User_Lib/screen/dta/dta_guide.rb +0 -26
  595. data/lib/User_Lib/screen/dta/dta_library.rb +0 -26
  596. data/lib/User_Lib/screen/dta/dta_live_tv.rb +0 -26
  597. data/lib/User_Lib/screen/dta/dta_log_in.rb +0 -26
  598. data/lib/User_Lib/screen/dta/dta_main_menu.rb +0 -26
  599. data/lib/User_Lib/screen/dta/dta_mini_guide.rb +0 -26
  600. data/lib/User_Lib/screen/dta/dta_movies.rb +0 -26
  601. data/lib/User_Lib/screen/dta/dta_on_demand.rb +0 -26
  602. data/lib/User_Lib/screen/dta/dta_parental_controls.rb +0 -26
  603. data/lib/User_Lib/screen/dta/dta_product_page.rb +0 -26
  604. data/lib/User_Lib/screen/dta/dta_screen.rb +0 -24
  605. data/lib/User_Lib/screen/dta/dta_search.rb +0 -26
  606. data/lib/User_Lib/screen/dta/dta_settings.rb +0 -26
  607. data/lib/User_Lib/screen/dta/dta_tv_shows.rb +0 -26
  608. data/lib/User_Lib/screen/dta/dta_video_store.rb +0 -26
  609. data/lib/User_Lib/screen/mdn/mdn_dvr.rb +0 -26
  610. data/lib/User_Lib/screen/mdn/mdn_guide.rb +0 -26
  611. data/lib/User_Lib/screen/mdn/mdn_library.rb +0 -26
  612. data/lib/User_Lib/screen/mdn/mdn_live_tv.rb +0 -26
  613. data/lib/User_Lib/screen/mdn/mdn_log_in.rb +0 -26
  614. data/lib/User_Lib/screen/mdn/mdn_main_menu.rb +0 -26
  615. data/lib/User_Lib/screen/mdn/mdn_mini_guide.rb +0 -26
  616. data/lib/User_Lib/screen/mdn/mdn_movies.rb +0 -26
  617. data/lib/User_Lib/screen/mdn/mdn_on_demand.rb +0 -26
  618. data/lib/User_Lib/screen/mdn/mdn_parental_controls.rb +0 -26
  619. data/lib/User_Lib/screen/mdn/mdn_product_page.rb +0 -26
  620. data/lib/User_Lib/screen/mdn/mdn_screen.rb +0 -24
  621. data/lib/User_Lib/screen/mdn/mdn_search.rb +0 -26
  622. data/lib/User_Lib/screen/mdn/mdn_settings.rb +0 -26
  623. data/lib/User_Lib/screen/mdn/mdn_tv_shows.rb +0 -26
  624. data/lib/User_Lib/screen/mdn/mdn_video_store.rb +0 -26
  625. data/lib/User_Lib/screen/mobile/android/android_devices.rb +0 -35
  626. data/lib/User_Lib/screen/mobile/android/android_dvr.rb +0 -337
  627. data/lib/User_Lib/screen/mobile/android/android_favorites.rb +0 -164
  628. data/lib/User_Lib/screen/mobile/android/android_guide.rb +0 -256
  629. data/lib/User_Lib/screen/mobile/android/android_live_tv.rb +0 -372
  630. data/lib/User_Lib/screen/mobile/android/android_login.rb +0 -111
  631. data/lib/User_Lib/screen/mobile/android/android_main_menu.rb +0 -53
  632. data/lib/User_Lib/screen/mobile/android/android_on_demand.rb +0 -402
  633. data/lib/User_Lib/screen/mobile/android/android_parental_controls.rb +0 -73
  634. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_dvr.rb +0 -31
  635. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_guide.rb +0 -39
  636. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_live_tv.rb +0 -104
  637. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_main_menu.rb +0 -27
  638. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_on_demand.rb +0 -35
  639. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_product_page.rb +0 -7
  640. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_search.rb +0 -26
  641. data/lib/User_Lib/screen/mobile/android/android_privacy_legal.rb +0 -54
  642. data/lib/User_Lib/screen/mobile/android/android_product_page.rb +0 -484
  643. data/lib/User_Lib/screen/mobile/android/android_screen.rb +0 -56
  644. data/lib/User_Lib/screen/mobile/android/android_search.rb +0 -39
  645. data/lib/User_Lib/screen/mobile/android/android_settings.rb +0 -90
  646. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_dvr.rb +0 -58
  647. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_guide.rb +0 -24
  648. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_live_tv.rb +0 -24
  649. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_main_menu.rb +0 -19
  650. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_on_demand.rb +0 -16
  651. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_product_page.rb +0 -45
  652. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_search.rb +0 -14
  653. data/lib/User_Lib/screen/mobile/devices_mobile.rb +0 -53
  654. data/lib/User_Lib/screen/mobile/dvr_mobile.rb +0 -5
  655. data/lib/User_Lib/screen/mobile/favorites_mobile.rb +0 -5
  656. data/lib/User_Lib/screen/mobile/guide_mobile.rb +0 -5
  657. data/lib/User_Lib/screen/mobile/ios/ios_devices.rb +0 -43
  658. data/lib/User_Lib/screen/mobile/ios/ios_dvr.rb +0 -231
  659. data/lib/User_Lib/screen/mobile/ios/ios_favorites.rb +0 -79
  660. data/lib/User_Lib/screen/mobile/ios/ios_guide.rb +0 -53
  661. data/lib/User_Lib/screen/mobile/ios/ios_live_tv.rb +0 -413
  662. data/lib/User_Lib/screen/mobile/ios/ios_login.rb +0 -76
  663. data/lib/User_Lib/screen/mobile/ios/ios_main_menu.rb +0 -38
  664. data/lib/User_Lib/screen/mobile/ios/ios_on_demand.rb +0 -371
  665. data/lib/User_Lib/screen/mobile/ios/ios_parental_controls.rb +0 -104
  666. data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_dvr.rb +0 -14
  667. data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_live_tv.rb +0 -36
  668. data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_main_menu.rb +0 -7
  669. data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_on_demand.rb +0 -7
  670. data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_search.rb +0 -13
  671. data/lib/User_Lib/screen/mobile/ios/ios_privacy_legal.rb +0 -56
  672. data/lib/User_Lib/screen/mobile/ios/ios_product_page.rb +0 -441
  673. data/lib/User_Lib/screen/mobile/ios/ios_screen.rb +0 -60
  674. data/lib/User_Lib/screen/mobile/ios/ios_search.rb +0 -145
  675. data/lib/User_Lib/screen/mobile/ios/ios_settings.rb +0 -34
  676. data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_live_tv.rb +0 -34
  677. data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_main_menu.rb +0 -7
  678. data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_on_demand.rb +0 -7
  679. data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_search.rb +0 -13
  680. data/lib/User_Lib/screen/mobile/live_tv_mobile.rb +0 -73
  681. data/lib/User_Lib/screen/mobile/login_mobile.rb +0 -5
  682. data/lib/User_Lib/screen/mobile/main_menu_mobile.rb +0 -83
  683. data/lib/User_Lib/screen/mobile/mobile_screen.rb +0 -232
  684. data/lib/User_Lib/screen/mobile/on_demand_mobile.rb +0 -70
  685. data/lib/User_Lib/screen/mobile/parental_controls_mobile.rb +0 -5
  686. data/lib/User_Lib/screen/mobile/privacy_legal_mobile.rb +0 -5
  687. data/lib/User_Lib/screen/mobile/product_page_mobile.rb +0 -5
  688. data/lib/User_Lib/screen/mobile/search_mobile.rb +0 -5
  689. data/lib/User_Lib/screen/mobile/settings_mobile.rb +0 -33
  690. data/lib/User_Lib/screen/passport/passport_dvr.rb +0 -25
  691. data/lib/User_Lib/screen/passport/passport_guide.rb +0 -37
  692. data/lib/User_Lib/screen/passport/passport_library.rb +0 -25
  693. data/lib/User_Lib/screen/passport/passport_live_tv.rb +0 -17
  694. data/lib/User_Lib/screen/passport/passport_main_menu.rb +0 -25
  695. data/lib/User_Lib/screen/passport/passport_mini_guide.rb +0 -25
  696. data/lib/User_Lib/screen/passport/passport_movies.rb +0 -25
  697. data/lib/User_Lib/screen/passport/passport_on_demand.rb +0 -25
  698. data/lib/User_Lib/screen/passport/passport_parental_controls.rb +0 -25
  699. data/lib/User_Lib/screen/passport/passport_product_page.rb +0 -25
  700. data/lib/User_Lib/screen/passport/passport_screen.rb +0 -23
  701. data/lib/User_Lib/screen/passport/passport_search.rb +0 -25
  702. data/lib/User_Lib/screen/passport/passport_settings.rb +0 -25
  703. data/lib/User_Lib/screen/passport/passport_tv_shows.rb +0 -25
  704. data/lib/User_Lib/screen/passport/passport_video_store.rb +0 -25
  705. data/lib/User_Lib/screen/roku/brs/roku_guide_brs.rb +0 -12
  706. data/lib/User_Lib/screen/roku/brs/roku_home_brs.rb +0 -12
  707. data/lib/User_Lib/screen/roku/brs/roku_live_tv_brs.rb +0 -12
  708. data/lib/User_Lib/screen/roku/brs/roku_login_brs.rb +0 -103
  709. data/lib/User_Lib/screen/roku/brs/roku_main_menu_brs.rb +0 -46
  710. data/lib/User_Lib/screen/roku/brs/roku_on_demand_brs.rb +0 -12
  711. data/lib/User_Lib/screen/roku/brs/roku_product_page_brs.rb +0 -12
  712. data/lib/User_Lib/screen/roku/brs/roku_screen_brs.rb +0 -9
  713. data/lib/User_Lib/screen/roku/brs/roku_search_brs.rb +0 -12
  714. data/lib/User_Lib/screen/roku/brs/roku_settings_brs.rb +0 -42
  715. data/lib/User_Lib/screen/roku/brs/roku_watch_later_brs.rb +0 -12
  716. data/lib/User_Lib/screen/roku/brs/roku_welcome_brs.rb +0 -12
  717. data/lib/User_Lib/screen/roku/roku_dvr.rb +0 -7
  718. data/lib/User_Lib/screen/roku/roku_guide.rb +0 -590
  719. data/lib/User_Lib/screen/roku/roku_home.rb +0 -346
  720. data/lib/User_Lib/screen/roku/roku_library.rb +0 -26
  721. data/lib/User_Lib/screen/roku/roku_live_tv.rb +0 -210
  722. data/lib/User_Lib/screen/roku/roku_login.rb +0 -795
  723. data/lib/User_Lib/screen/roku/roku_main_menu.rb +0 -425
  724. data/lib/User_Lib/screen/roku/roku_mini_guide.rb +0 -7
  725. data/lib/User_Lib/screen/roku/roku_on_demand.rb +0 -479
  726. data/lib/User_Lib/screen/roku/roku_product_page.rb +0 -483
  727. data/lib/User_Lib/screen/roku/roku_screen.rb +0 -85
  728. data/lib/User_Lib/screen/roku/roku_search.rb +0 -229
  729. data/lib/User_Lib/screen/roku/roku_settings.rb +0 -304
  730. data/lib/User_Lib/screen/roku/roku_watch_later.rb +0 -51
  731. data/lib/User_Lib/screen/roku/roku_welcome.rb +0 -10
  732. data/lib/User_Lib/screen/roku_tv/roku_tv_dvr.rb +0 -14
  733. data/lib/User_Lib/screen/roku_tv/roku_tv_guide.rb +0 -14
  734. data/lib/User_Lib/screen/roku_tv/roku_tv_home.rb +0 -14
  735. data/lib/User_Lib/screen/roku_tv/roku_tv_library.rb +0 -14
  736. data/lib/User_Lib/screen/roku_tv/roku_tv_live_tv.rb +0 -14
  737. data/lib/User_Lib/screen/roku_tv/roku_tv_login.rb +0 -14
  738. data/lib/User_Lib/screen/roku_tv/roku_tv_main_menu.rb +0 -14
  739. data/lib/User_Lib/screen/roku_tv/roku_tv_mini_guide.rb +0 -14
  740. data/lib/User_Lib/screen/roku_tv/roku_tv_on_demand.rb +0 -26
  741. data/lib/User_Lib/screen/roku_tv/roku_tv_product_page.rb +0 -14
  742. data/lib/User_Lib/screen/roku_tv/roku_tv_screen.rb +0 -7
  743. data/lib/User_Lib/screen/roku_tv/roku_tv_search.rb +0 -14
  744. data/lib/User_Lib/screen/roku_tv/roku_tv_settings.rb +0 -14
  745. data/lib/User_Lib/screen/roku_tv/roku_tv_watch_later.rb +0 -14
  746. data/lib/User_Lib/screen/roku_tv/roku_tv_welcome.rb +0 -14
  747. data/lib/User_Lib/screen/samsung_tv/samsung_tv_dvr.rb +0 -24
  748. data/lib/User_Lib/screen/samsung_tv/samsung_tv_guide.rb +0 -24
  749. data/lib/User_Lib/screen/samsung_tv/samsung_tv_library.rb +0 -24
  750. data/lib/User_Lib/screen/samsung_tv/samsung_tv_live_tv.rb +0 -21
  751. data/lib/User_Lib/screen/samsung_tv/samsung_tv_login.rb +0 -13
  752. data/lib/User_Lib/screen/samsung_tv/samsung_tv_main_menu.rb +0 -64
  753. data/lib/User_Lib/screen/samsung_tv/samsung_tv_mini_guide.rb +0 -24
  754. data/lib/User_Lib/screen/samsung_tv/samsung_tv_movies.rb +0 -140
  755. data/lib/User_Lib/screen/samsung_tv/samsung_tv_on_demand.rb +0 -76
  756. data/lib/User_Lib/screen/samsung_tv/samsung_tv_parental_controls.rb +0 -24
  757. data/lib/User_Lib/screen/samsung_tv/samsung_tv_product_page.rb +0 -24
  758. data/lib/User_Lib/screen/samsung_tv/samsung_tv_screen.rb +0 -74
  759. data/lib/User_Lib/screen/samsung_tv/samsung_tv_search.rb +0 -29
  760. data/lib/User_Lib/screen/samsung_tv/samsung_tv_settings.rb +0 -189
  761. data/lib/User_Lib/screen/samsung_tv/samsung_tv_tv_shows.rb +0 -24
  762. data/lib/User_Lib/screen/samsung_tv/samsung_tv_video_store.rb +0 -24
  763. data/lib/User_Lib/screen/sara/sara_dvr.rb +0 -26
  764. data/lib/User_Lib/screen/sara/sara_guide.rb +0 -43
  765. data/lib/User_Lib/screen/sara/sara_library.rb +0 -26
  766. data/lib/User_Lib/screen/sara/sara_live_tv.rb +0 -26
  767. data/lib/User_Lib/screen/sara/sara_log_in.rb +0 -26
  768. data/lib/User_Lib/screen/sara/sara_main_menu.rb +0 -26
  769. data/lib/User_Lib/screen/sara/sara_mini_guide.rb +0 -26
  770. data/lib/User_Lib/screen/sara/sara_movies.rb +0 -26
  771. data/lib/User_Lib/screen/sara/sara_on_demand.rb +0 -26
  772. data/lib/User_Lib/screen/sara/sara_parental_controls.rb +0 -26
  773. data/lib/User_Lib/screen/sara/sara_product_page.rb +0 -26
  774. data/lib/User_Lib/screen/sara/sara_screen.rb +0 -24
  775. data/lib/User_Lib/screen/sara/sara_search.rb +0 -26
  776. data/lib/User_Lib/screen/sara/sara_settings.rb +0 -26
  777. data/lib/User_Lib/screen/sara/sara_tv_shows.rb +0 -26
  778. data/lib/User_Lib/screen/sara/sara_video_store.rb +0 -26
  779. data/lib/User_Lib/screen/stb/iguide/iguide_devices.rb +0 -10
  780. data/lib/User_Lib/screen/stb/iguide/iguide_dvr.rb +0 -10
  781. data/lib/User_Lib/screen/stb/iguide/iguide_favorites.rb +0 -10
  782. data/lib/User_Lib/screen/stb/iguide/iguide_guide.rb +0 -39
  783. data/lib/User_Lib/screen/stb/iguide/iguide_home.rb +0 -10
  784. data/lib/User_Lib/screen/stb/iguide/iguide_library.rb +0 -10
  785. data/lib/User_Lib/screen/stb/iguide/iguide_live_tv.rb +0 -59
  786. data/lib/User_Lib/screen/stb/iguide/iguide_login.rb +0 -10
  787. data/lib/User_Lib/screen/stb/iguide/iguide_main_menu.rb +0 -10
  788. data/lib/User_Lib/screen/stb/iguide/iguide_mini_guide.rb +0 -10
  789. data/lib/User_Lib/screen/stb/iguide/iguide_movies.rb +0 -10
  790. data/lib/User_Lib/screen/stb/iguide/iguide_on_demand.rb +0 -531
  791. data/lib/User_Lib/screen/stb/iguide/iguide_parental_controls.rb +0 -10
  792. data/lib/User_Lib/screen/stb/iguide/iguide_privacy_legal.rb +0 -10
  793. data/lib/User_Lib/screen/stb/iguide/iguide_product_page.rb +0 -10
  794. data/lib/User_Lib/screen/stb/iguide/iguide_quick_menu.rb +0 -7
  795. data/lib/User_Lib/screen/stb/iguide/iguide_screen.rb +0 -21
  796. data/lib/User_Lib/screen/stb/iguide/iguide_search.rb +0 -10
  797. data/lib/User_Lib/screen/stb/iguide/iguide_settings.rb +0 -10
  798. data/lib/User_Lib/screen/stb/iguide/iguide_tv_shows.rb +0 -10
  799. data/lib/User_Lib/screen/stb/iguide/iguide_video_store.rb +0 -10
  800. data/lib/User_Lib/screen/stb/login_stb.rb +0 -5
  801. data/lib/User_Lib/screen/stb/odn/odn_dvr.rb +0 -59
  802. data/lib/User_Lib/screen/stb/odn/odn_favorites.rb +0 -8
  803. data/lib/User_Lib/screen/stb/odn/odn_guide.rb +0 -177
  804. data/lib/User_Lib/screen/stb/odn/odn_live_tv.rb +0 -115
  805. data/lib/User_Lib/screen/stb/odn/odn_login.rb +0 -8
  806. data/lib/User_Lib/screen/stb/odn/odn_main_menu.rb +0 -175
  807. data/lib/User_Lib/screen/stb/odn/odn_on_demand.rb +0 -1170
  808. data/lib/User_Lib/screen/stb/odn/odn_on_demand_kids.rb +0 -23
  809. data/lib/User_Lib/screen/stb/odn/odn_on_demand_left_menu.rb +0 -180
  810. data/lib/User_Lib/screen/stb/odn/odn_parental_controls.rb +0 -9
  811. data/lib/User_Lib/screen/stb/odn/odn_product_page.rb +0 -8
  812. data/lib/User_Lib/screen/stb/odn/odn_screen.rb +0 -111
  813. data/lib/User_Lib/screen/stb/odn/odn_search.rb +0 -167
  814. data/lib/User_Lib/screen/stb/odn/odn_settings.rb +0 -142
  815. data/lib/User_Lib/screen/stb/spectrum/spectrum_diagnostics.rb +0 -27
  816. data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/screen_spectrum_docsis.rb +0 -12
  817. data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_guide.rb +0 -10
  818. data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_main_menu.rb +0 -10
  819. data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_settings.rb +0 -10
  820. data/lib/User_Lib/screen/stb/spectrum/spectrum_dvr.rb +0 -1781
  821. data/lib/User_Lib/screen/stb/spectrum/spectrum_guide.rb +0 -841
  822. data/lib/User_Lib/screen/stb/spectrum/spectrum_library.rb +0 -384
  823. data/lib/User_Lib/screen/stb/spectrum/spectrum_live_tv.rb +0 -259
  824. data/lib/User_Lib/screen/stb/spectrum/spectrum_main_menu.rb +0 -223
  825. data/lib/User_Lib/screen/stb/spectrum/spectrum_mini_guide.rb +0 -404
  826. data/lib/User_Lib/screen/stb/spectrum/spectrum_movies.rb +0 -420
  827. data/lib/User_Lib/screen/stb/spectrum/spectrum_netflix.rb +0 -37
  828. data/lib/User_Lib/screen/stb/spectrum/spectrum_on_demand.rb +0 -2137
  829. data/lib/User_Lib/screen/stb/spectrum/spectrum_parental_controls.rb +0 -528
  830. data/lib/User_Lib/screen/stb/spectrum/spectrum_pay_per_view.rb +0 -26
  831. data/lib/User_Lib/screen/stb/spectrum/spectrum_product_page.rb +0 -58
  832. data/lib/User_Lib/screen/stb/spectrum/spectrum_screen.rb +0 -48
  833. data/lib/User_Lib/screen/stb/spectrum/spectrum_search.rb +0 -92
  834. data/lib/User_Lib/screen/stb/spectrum/spectrum_settings.rb +0 -1657
  835. data/lib/User_Lib/screen/stb/spectrum/spectrum_tv_shows.rb +0 -1532
  836. data/lib/User_Lib/screen/stb/spectrum/spectrum_video_store.rb +0 -1598
  837. data/lib/User_Lib/screen/stb/stb_screen.rb +0 -7
  838. data/lib/User_Lib/screen/tivo/tivo_dvr.rb +0 -25
  839. data/lib/User_Lib/screen/tivo/tivo_guide.rb +0 -25
  840. data/lib/User_Lib/screen/tivo/tivo_library.rb +0 -25
  841. data/lib/User_Lib/screen/tivo/tivo_live_tv.rb +0 -17
  842. data/lib/User_Lib/screen/tivo/tivo_login.rb +0 -25
  843. data/lib/User_Lib/screen/tivo/tivo_main_menu.rb +0 -25
  844. data/lib/User_Lib/screen/tivo/tivo_mini_guide.rb +0 -25
  845. data/lib/User_Lib/screen/tivo/tivo_movies.rb +0 -25
  846. data/lib/User_Lib/screen/tivo/tivo_on_demand.rb +0 -25
  847. data/lib/User_Lib/screen/tivo/tivo_parental_controls.rb +0 -25
  848. data/lib/User_Lib/screen/tivo/tivo_product_page.rb +0 -25
  849. data/lib/User_Lib/screen/tivo/tivo_screen.rb +0 -20
  850. data/lib/User_Lib/screen/tivo/tivo_search.rb +0 -31
  851. data/lib/User_Lib/screen/tivo/tivo_settings.rb +0 -25
  852. data/lib/User_Lib/screen/tivo/tivo_tv_shows.rb +0 -25
  853. data/lib/User_Lib/screen/tivo/tivo_video_store.rb +0 -25
  854. data/lib/diagnostics/conductor/conductor_checkup.tmc +0 -24
  855. data/lib/diagnostics/db/mad_db_check.tmc +0 -56
  856. data/lib/diagnostics/db/mas_db_checkup.tmc +0 -24
  857. data/lib/diagnostics/db/mas_db_checkup_gem.tmc +0 -20
  858. data/lib/diagnostics/db/mas_db_checkup_jar.tmc +0 -50
  859. data/lib/diagnostics/iguide/iguide_nvram_reset.tmc +0 -23
  860. data/lib/diagnostics/iguide/iguide_prepare_stb.tmc +0 -33
  861. data/lib/diagnostics/iguide/iguide_prepare_stb_and_health_check.tmc +0 -63
  862. data/lib/diagnostics/iguide/iguide_stb_health_check.tmc +0 -54
  863. data/lib/diagnostics/prepare_stb.tmc +0 -30
  864. data/lib/diagnostics/prepare_stb_and_health_check.tmc +0 -56
  865. data/lib/diagnostics/script_options/options_checkup.tmc +0 -145
  866. data/lib/diagnostics/server_components_check.tmc +0 -62
  867. data/lib/diagnostics/ssh/dncs_checkup.tmc +0 -24
  868. data/lib/diagnostics/ssh/mas_checkup.tmc +0 -24
  869. data/lib/diagnostics/stb_health_check.tmc +0 -46
  870. data/lib/diagnostics/stb_ip_check.tmc +0 -120
  871. data/lib/diagnostics/webservices/mas_rest_services_checkup.tmc +0 -24
  872. data/lib/diagnostics/webservices/mas_soap_services_checkup.tmc +0 -24
  873. data/lib/end_iteration.rb +0 -4
  874. data/lib/lib/test_wrapper.rb +0 -146
  875. data/lib/run_test.rb +0 -4
  876. data/lib/script_validator.rb +0 -48
@@ -1,104 +0,0 @@
1
- require './lib/screen/mobile/ios/ios_screen'
2
- require './lib/screen/mobile/parental_controls_mobile'
3
-
4
- # Defines iOS-specific methods on the Parental Controls screen
5
-
6
- class IosParentalControls < IosScreen
7
- include ParentalControlsMobile
8
-
9
- # Chooses the named parental control
10
- def choose_control?(name)
11
- dut.tap?({:name => name})
12
- end
13
-
14
- # Returns true if the prompt to create a PIN is displayed, otherwise false
15
- def is_create_pin_prompt?
16
- raise 'iOS does not prompt for PIN per: http://jira.corp.mystrotv.com/browse/NGC-2362'
17
- end
18
-
19
- # Returns true if the prompt to confirm a new PIN is displayed, otherwise false
20
- def is_confirm_pin_prompt?
21
- raise 'iOS does not prompt for PIN per: http://jira.corp.mystrotv.com/browse/NGC-2362'
22
- end
23
-
24
- # Returns true if the Channel Blocking page is displayed, otherwise false
25
- def is_channel_block_visible?
26
- dut.element?({:name => 'Turning Channel Block on will allow you to block any network selected below'})
27
- end
28
-
29
- # Returns true if parental controls was successfully enabled, otherwise false
30
- def enable?
31
- dut.tap?({:name => 'To adjust the parental controls settings please turn them on and edit the settings using the tools below',
32
- :text => '0', :timeout => 5.sec})
33
- end
34
-
35
- # Returns true if parental controls is currently enabled, otherwise false
36
- def enabled?
37
- dut.element?({:name => 'To adjust the parental controls settings please turn them on and edit the settings using '\
38
- 'the tools below',
39
- :text => '1', :timeout => 5.sec})
40
- end
41
-
42
- # Returns true if successfully chose to reset PIN, otherwise false
43
- def choose_reset_pin?
44
- dut.tap?({:name => 'Reset Pin'})
45
- end
46
-
47
- # Returns true if the password prompt is displayed, otherwise false
48
- def is_password_prompt?
49
- dut.element(:name => 'Enter Master Account Password') != nil
50
- end
51
-
52
- # Returns true if successfully typed password, otherwise false
53
- def enter_password?(password=nil)
54
- return false unless dut.tap?({:type => 'UIASecureTextField'})
55
- dut.type?({:keys => password || $password || dut.password})
56
- end
57
-
58
- # Returns true if successfully continued to reset PIN, otherwise false
59
- def continue_reset_pin?
60
- dut.tap?({:name => 'Validate'})
61
- end
62
-
63
- # Returns true if the password was invalid, otherwise false
64
- def is_password_invalid?
65
- dut.element?({:name => 'INVALID PASSWORD', :is_visible => true, :is_on_screen => true})
66
- end
67
-
68
- # Returns true if successfully selected option to cancel PIN reset, otherwise false
69
- def cancel_reset_pin?
70
- dut.tap?({:name => 'Cancel'})
71
- end
72
-
73
- # Returns the channel titles, optionally including only un/blocked channels
74
- def get_channel_titles(args = {:blocked => nil})
75
- channel_titles = dut.elements({:type => 'UIATableCell', :info => [:name]})
76
- unless args[:blocked].nil?
77
- vod_locks = dut.elements({:name => 'VOD Lock', :info => [:x, :y, :width, :height]})
78
- blocked = dut.screens.parental_controls.roi.image.blocked
79
- i = 0
80
- channel_titles.select! do
81
- vod_lock = vod_locks[i]
82
- blocked.x = vod_lock[:x]
83
- blocked.y = vod_lock[:y]
84
- blocked.width = vod_lock[:width]
85
- blocked.height = vod_lock[:height]
86
- i += 1
87
- args[:blocked].eql?(blocked.displayed?(:timeout => 30.sec))
88
- end
89
- end
90
- channel_titles
91
- end
92
-
93
- # Returns true if successfully blocked the given channel, otherwise false
94
- def block_channel?(channel_title)
95
- index = dut.elements({:type => 'UIATableCell', :info => [:name]}).index(channel_title)
96
- dut.tap?({:name => 'VOD Lock', :index => index})
97
- end
98
-
99
- # Returns true if successfully navigated to main menu, otherwise false
100
- def navigate_to_main_menu?
101
- #nada
102
- end
103
-
104
- end
@@ -1,14 +0,0 @@
1
- require './lib/screen/mobile/ios/ios_dvr'
2
-
3
- # Defines iOS Phone-specific methods on the Live TV screen
4
-
5
- class IosPhoneDvr < IosDvr
6
-
7
- # Public: Swipes down, refreshing the recording list in DVR Manager
8
- #
9
- # Returns true if swiped correctly
10
- def refresh_recording_list?
11
- dut.swipe?({:from => {:x => 321, :y => 200, :coordinates => true}, :to => {:x => 321, :y => 400, :coordinates => true}, :duration => 500})
12
- end
13
-
14
- end
@@ -1,36 +0,0 @@
1
- require './lib/screen/mobile/ios/ios_live_tv'
2
-
3
- # Defines iOS Phone-specific methods on the Live TV screen
4
-
5
- class IosPhoneLiveTv < IosLiveTv
6
-
7
- # Gets the element for the currently-playing channel, which is the second non-blank UIAStaticText element.
8
- def get_playing_now
9
- ret = until_not_nil(:timeout => 3.min) do
10
- get_cached_elements(:refresh => true).select do |e|
11
- e[:type].eql?('UIAStaticText') && e[:is_on_screen] && !e[:text].empty?
12
- end[1]
13
- end[:text]
14
- logger.info("Playing now: #{ret}")
15
- ret
16
- end
17
-
18
- # Returns true if successfully applied a filter to speed things up
19
- def apply_filter?
20
- #TODO: don't use coordinates!
21
- logger.info('*** WARNING *** Using coordinates to apply a filter')
22
- # Filter by "Latino"
23
- return false unless dut.tap?({:x => 203, :y => 537, :coordinates => true})
24
- (1..3).each do
25
- return false unless dut.scroll?({:from => {:x => 310, :y => 997, :coordinates => true},
26
- :to => {:x => 300, :y => 620, :coordinates => true}, :duration => 500.ms})
27
- end
28
- dut.tap?({:x => 157, :y => 880, :coordinates => true})
29
- end
30
-
31
- def cancel_fullscreen?
32
- super
33
- dut.rotate_portrait?
34
- end
35
-
36
- end
@@ -1,7 +0,0 @@
1
- require './lib/screen/mobile/ios/ios_main_menu'
2
-
3
- # Defines iOS Phone-specific methods on the Main Menu screen
4
-
5
- class IosPhoneMainMenu < IosMainMenu
6
-
7
- end
@@ -1,7 +0,0 @@
1
- require './lib/screen/mobile/ios/ios_on_demand'
2
-
3
- # Defines iOS Phone-specific methods on the On Demand screen
4
-
5
- class IosPhoneOnDemand < IosOnDemand
6
-
7
- end
@@ -1,13 +0,0 @@
1
- require './lib/screen/mobile/ios/ios_search'
2
-
3
- # Defines iOS Phone-specific methods on the Search screen
4
-
5
- class IosPhoneSearch < IosSearch
6
-
7
- # Returns true if successfully tapped the Search (ENTER) button, otherwise false
8
- def search?
9
- logger.info('Searching')
10
- dut.tap?({:name => 'Search'})
11
- end
12
-
13
- end
@@ -1,56 +0,0 @@
1
- require './lib/screen/mobile/ios/ios_screen'
2
- require './lib/screen/mobile/privacy_legal_mobile'
3
-
4
- # Defines iOS-specific methods on the Privacy/Legal screen
5
-
6
- class IosPrivacyLegal < IosScreen
7
- include PrivacyLegalMobile
8
-
9
- # Returns true if Privacy Policy and Terms and Conditions are displayed, otherwise false
10
- def displayed?
11
- dut.element?({:name => 'Privacy Policy'}) && dut.element?({:name => 'Terms and Conditions'})
12
- end
13
-
14
- # Returns true if the named option was selected, otherwise false
15
- def select?(option)
16
- dut.tap?({:name => option})
17
- end
18
-
19
- # Fails the test unless Terms and Conditions successfully verified
20
- def verify_terms_and_conditions
21
- # On iOS we also need to validate canceling the browser
22
- tcfail 'Failed to cancel opening browser!' unless dut.screens.privacy_legal.cancel_browser?
23
- tcfail 'Failed to select Terms and Conditions!' unless dut.screens.privacy_legal.select?('Terms and Conditions')
24
- tcfail 'Failed to confirm opening browser!' unless dut.screens.privacy_legal.confirm_browser?
25
- tcfail 'Failed to display Terms and Conditions!' unless is_terms_and_conditions?
26
- end
27
-
28
- # Returns true if Terms and Conditions is displayed, otherwise false
29
- def is_terms_and_conditions?
30
- dut.element?({:name => 'regexp:for Apple iOS - Terms and Conditions', :timeout => 60.sec})
31
- end
32
-
33
- # Returns true if able to exit Terms and Conditions, otherwise false
34
- def quit_terms_and_conditions?
35
- #TODO: we should be able to do this: dut.tap?({:name => 'regexp:^Back to \w+'})
36
- #TODO: but for some reason, maybe related to Appium version, sending coordinates to the default context when a
37
- #TODO: web context is present causes Appium to freeze, so for now we just re-init and navigate back to settings
38
- dut.init? && dut.screens.login.login? && dut.screens.main_menu.navigate_to_settings?
39
- end
40
-
41
- # Returns true if able to cancel opening browser, otherwise false
42
- def cancel_browser?
43
- raise 'No option to cancel opening browser!'
44
- end
45
-
46
- # Returns true if able to confirm opening browser, otherwise false
47
- def confirm_browser?
48
- dut.tap?({:description => 'OK'}) # click OK to launch Safari
49
- end
50
-
51
- # Returns true if Privacy Policy is displayed, otherwise false
52
- def is_privacy_policy?
53
- dut.element?({:name => 'TWC PRIVACY NOTICES', :timeout => 60.sec})
54
- end
55
-
56
- end
@@ -1,441 +0,0 @@
1
- require './lib/screen/mobile/ios/ios_screen'
2
- require './lib/screen/mobile/product_page_mobile'
3
-
4
- # Defines iOS-specific methods on the Product Page screen
5
-
6
- class IosProductPage < IosScreen
7
- include ProductPageMobile
8
-
9
- # Returns true if the Product Page title matches the given title, otherwise false
10
- def title?(check_title)
11
- logger.info("Checking if title equals #{check_title.inspect}")
12
- title == check_title
13
- end
14
-
15
- # Returns the title of the Product Page
16
- def title
17
- logger.info('Getting product page title')
18
- title = dut.element({:type => 'UIANavigationBar', :info => [:name]})
19
- logger.info("Got title: #{title}")
20
- title
21
- end
22
-
23
- # Returns true if successfully selected option to go back, otherwise false
24
- def back?
25
- logger.info('Navigating back from product page')
26
- dut.tap?({:name => 'Back', :index => 1})
27
- end
28
-
29
- # Returns true if play option found, otherwise false
30
- def playable?
31
- logger.info('Checking if product is playable')
32
- dut.element?({:type => 'UIACollectionCell', :name => 'regexp:^(On Demand|Resume)$', :index => 1})
33
- end
34
-
35
- # Returns true if successfully started to play asset, otherwise false
36
- def play?
37
- logger.info('Starting playback')
38
- if dut.tap?({:type => 'UIACollectionCell', :name => 'regexp:^(On Demand|Resume)$', :is_on_screen => true,
39
- :is_visible => true, :index => 1})
40
- if is_pin_prompt?
41
- tcfail 'Failed to enter PIN!' unless enter_pin?
42
- end
43
- true
44
- else
45
- false
46
- end
47
- end
48
-
49
- # Returns true if product page, with optional title verification, is displayed, otherwise false
50
- def displayed?(asset_title=nil)
51
- logger.info('Checking if product page is displayed')
52
- return false unless dut.element?({:type => 'UIASegmentedControl', :timeout => 2.min})
53
- unless asset_title.nil?
54
- check_title = title
55
- logger.info("Checking if asset title #{asset_title.inspect} includes #{check_title.inspect}")
56
- return false unless asset_title.include?(check_title)
57
- end
58
- true
59
- end
60
-
61
- # Returns the element for the network logo
62
- def network_logo
63
- logger.info('Getting network logo element')
64
- # TODO: we need a better way to identify the network logo image!
65
- dut.element({:type => 'UIAImage', :index => 3})
66
- end
67
-
68
- # Returns the description of the asset
69
- def description
70
- logger.info('Getting asset description')
71
- # TODO: we need a better way to identify the description!
72
- desc = dut.element({:type => 'UIATableCell', :index => 2, :info => [:name]})
73
- logger.info("Got description: #{desc}")
74
- desc
75
- end
76
-
77
- # Returns the asset rating
78
- def rating
79
- logger.info('Getting asset rating')
80
- # OCR it from the description box
81
- # TODO: we need a better way to identify the description!
82
- cell = dut.element({:type => 'UIATableCell', :index => 2})
83
- desc = dut.elements({:type => 'UIAStaticText', :name => 'regexp:.+'}).select { |e| cell.contains?(e) }.first
84
- desc_ocr = dut.roi.text.new(:element => desc, :preprocessing => 9).retrieve
85
- rating = desc_ocr.match(/^\s*([^\s]+)/).captures.first
86
- logger.info("Got rating: #{rating}")
87
- rating
88
- end
89
-
90
- # Returns the asset release year
91
- def year
92
- logger.info('Getting asset release year')
93
- # This is the name of the UIAStaticText field within the description area
94
- desc = dut.element({:type => 'UIATableCell', :index => 2})
95
- year = dut.elements({:type => 'UIAStaticText', :name => 'regexp:^\s*\d{4}'}).select do |e|
96
- desc.contains?(e)
97
- end.first[:name]
98
- logger.info("Got year: #{year}")
99
- year
100
- end
101
-
102
- # Returns a list of available buttons
103
- def buttons
104
- logger.info('Getting buttons')
105
- # TODO: we need a better way to identify the buttons!
106
- # Return all collection cells with the same dimensions as the first one (which is the first button)
107
- cells = dut.elements({:type => 'UIACollectionCell'})
108
- buttons = cells.select { |c| c[:width] == cells.first[:width] && c[:height] == cells.first[:height] }
109
- buttons = buttons.map { |b| b[:name] }
110
- logger.info("Got buttons: #{buttons.inspect}")
111
- buttons
112
- end
113
-
114
- # Returns the list of visible cast and crew
115
- def cast_and_crew
116
- logger.info('Getting cast and crew')
117
- # TODO: we need a better way to identify the cast/crew!
118
- # Return even static texts inside the 2nd collection view
119
- cast_crew = []
120
- coll = dut.element({:type => 'UIACollectionView', :index => 2})
121
- dut.elements({:type => 'UIAStaticText'}).select { |e| coll.contains?(e) }.each_with_index do |t, i|
122
- cast_crew.push(t) if i.even?
123
- end
124
- cast_crew = cast_crew.map { |b| b[:name] }
125
- logger.info("Got cast and crew: #{cast_crew.inspect}")
126
- cast_crew
127
- end
128
-
129
- # Returns the director's name
130
- def director
131
- detail('Director')
132
- end
133
-
134
- # Returns the runtime
135
- def runtime
136
- rt_ms = 0
137
- rt = detail('Runtime')
138
- hr = rt.match(/(\d+)\s*hr/)
139
- if hr
140
- rt_ms += hr.captures.first.to_i.hr
141
- end
142
- min = rt.match(/(\d+)\s*min/)
143
- if min
144
- rt_ms += min.captures.first.to_i.min
145
- end
146
- rt_ms > 0 ? rt_ms : nil
147
- end
148
-
149
- # Returns the list of genres
150
- def genres
151
- detail('Genres').split(/,\s*/)
152
- end
153
-
154
- # Returns the list of details related to format
155
- def formats
156
- details.reject { |d| d.eql?('CC') }
157
- end
158
-
159
- # Returns true if closed captioning is available, otherwise false
160
- def cc?
161
- details.include?('CC')
162
- end
163
-
164
- # Returns the list of details
165
- def details
166
- detail('Details').split(/,\s*/)
167
- end
168
-
169
- # Returns the expiration date
170
- def available_until
171
- detail('Available Until')
172
- end
173
-
174
- # Returns the value of the given asset detail, i.e. "Director", "Genres", etc.
175
- def detail(name)
176
- logger.info("Getting detail: #{name}")
177
- # Return the last static text inside the detail's collection cell
178
- viewport = scroll_area
179
- cell = until_not_nil(:timeout => 10.min) do
180
- elem = dut.element({:name => name, :type => 'UIACollectionCell', :timeout => 10.sec})
181
- # Scroll until we find the detail
182
- if elem.nil?
183
- tcfail 'Failed to scroll!' unless dut.screens.product_page.scroll_down?(1, :area => viewport, :length => :short)
184
- end
185
- elem
186
- end
187
- if cell.nil?
188
- value = nil
189
- else
190
- value = dut.elements({:type => 'UIAStaticText'}).select { |e| cell.contains?(e) }.last
191
- value = value[:name]
192
- end
193
- logger.info("Got #{name}: #{value}")
194
- value
195
- end
196
-
197
- # Returns the scroll area
198
- def scroll_area
199
- logger.info('Getting product page scroll area')
200
- area = dut.element({:type => 'UIATableView'})
201
- logger.info("Got area: #{[area[:x], area[:y], area[:width], area[:height]].inspect}")
202
- area
203
- end
204
-
205
- # Returns the Common Sense rating
206
- def common_sense_rating
207
- logger.info('Getting Common Sense rating')
208
- csr = nil
209
- #TODO: we need a better way to identify the common sense rating!
210
- viewport = scroll_area
211
- # This will be the 5th or 6th table cell
212
- [5, 6].each do |index|
213
- cell = nil
214
- until_equals(true, :timeout => 10.min) do
215
- elem = dut.element({:type => 'UIATableCell', :index => index, :timeout => 10.sec})
216
- next if elem[:height] > (viewport[:height] * 0.5) # next if element height is greater than half the viewport height
217
- in_view = viewport.contains?(elem)
218
- # Scroll until the cell is in view
219
- if in_view
220
- cell = elem
221
- else
222
- tcfail 'Failed to scroll!' unless dut.screens.product_page.scroll_down?(1, :area => viewport,
223
- :length => :short)
224
- end
225
- in_view
226
- end
227
- # OCR the text
228
- text = dut.roi.text.new(:element => cell, :preprocessing => 8).retrieve
229
- if text.include?('sense')
230
- csr = text.match(/(age \d+\+?)/).captures.first
231
- break
232
- end
233
- end
234
- return nil if csr.nil?
235
- logger.info("Got Common Sense rating: #{csr.inspect}")
236
- csr
237
- end
238
-
239
- # Returns the Metacritic rating
240
- def metacritic_rating
241
- logger.info('Getting Metacritic rating')
242
- mcr = nil
243
- #TODO: we need a better way to identify the Metacritic rating!
244
- viewport = scroll_area
245
- # This will be the 5th table cell
246
- cell = nil
247
- until_equals(true, :timeout => 10.min) do
248
- elem = dut.element({:type => 'UIATableCell', :index => 5, :timeout => 10.sec})
249
- return nil if elem[:height] > (viewport[:height] * 0.5) # return if element height is greater than half the viewport height
250
- in_view = viewport.contains?(elem)
251
- # Scroll until the cell is in view
252
- if in_view
253
- cell = elem
254
- else
255
- tcfail 'Failed to scroll!' unless dut.screens.product_page.scroll_down?(1, :area => viewport, :length => :short)
256
- end
257
- in_view
258
- end
259
- # OCR the text
260
- text = dut.roi.text.new(:element => cell, :preprocessing => 19).retrieve
261
- if text.include?('metacritic')
262
- mcr = text.scan(/\d+/).first.to_i
263
- end
264
- return nil if mcr.nil?
265
- logger.info("Got Metacritic rating: #{mcr.inspect}")
266
- mcr
267
- end
268
-
269
- # Returns true if related titles are shown, otherwise false
270
- def related_to?
271
- logger.info('Checking if related titles are shown')
272
- dut.elements?({:name => 'Title'}) && dut.element?({:name => 'regexp:Related to', :type => 'UIATableCell'})
273
- end
274
-
275
- # Returns true if other ways to watch are shown, otherwise false
276
- def ways_to_watch?
277
- logger.info('Checking if other ways to watch are shown')
278
- dut.elements?({:name => 'Airing'}) && dut.element?({:name => 'regexp:Other Ways To Watch', :type => 'UIATableCell'})
279
- end
280
-
281
- # Returns true if Episodes button is present, otherwise false
282
- def episodes_button?
283
- logger.info('Checking for Episodes button')
284
- dut.element?({:name => 'Episodes', :type => 'UIAButton', :timeout => 1.min})
285
- end
286
-
287
- # Returns true if Info button is present, otherwise false
288
- def info_button?
289
- logger.info('Checking for Info button')
290
- dut.element?({:name => 'Info', :type => 'UIAButton', :timeout => 1.min})
291
- end
292
-
293
- # Returns true if the Episodes is selected, otherwise false
294
- def episodes_selected?
295
- logger.info('Checking if Episodes is selected')
296
- # Scroll up until the Episodes button is visible
297
- button = nil
298
- viewport = scroll_area
299
- until_equals(true, :timeout => 5.min) do
300
- button = dut.element({:name => 'Episodes', :type => 'UIAButton'})
301
- if button[:is_visible] && button[:is_on_screen]
302
- true
303
- else
304
- dut.screens.product_page.scroll_up?(1, :area => viewport, :speed => :fast)
305
- false
306
- end
307
- end
308
- highlight = dut.roi.image.highlight
309
- highlight.rectangle = button
310
- highlight.displayed?
311
- end
312
-
313
- # Returns the names of the visible episodes
314
- def episode_titles
315
- logger.info('Getting visible episode titles')
316
- # TODO: need a better way to identify the titles!
317
- # Titles are the 2nd StaticText in each TableCell that is numbered
318
- elems = dut.elements
319
- cells = elems.select { |e| e[:type] == 'UIATableCell' && e[:name].length > 0 }
320
- titles = []
321
- cells.each do |c|
322
- texts = elems.select { |e| e[:type] == 'UIAStaticText' && c.contains?(e) }
323
- titles << texts[1]
324
- end
325
- titles.map! { |e| e[:name] }
326
- logger.info("Got visible episode titles: #{titles.inspect}")
327
- titles
328
- end
329
-
330
- # Returns the airing types of the visible episodes
331
- def episode_airing_types
332
- logger.info('Getting visible episode airing types')
333
- # TODO: need a better way to identify the airing types!
334
- # Airing types are the 3rd StaticText in each TableCell that is numbered
335
- elems = dut.elements
336
- cells = elems.select { |e| e[:type] == 'UIATableCell' && e[:name].length > 0 }
337
- airtypes = []
338
- cells.each do |c|
339
- texts = elems.select { |e| e[:type] == 'UIAStaticText' && c.contains?(e) }
340
- airtypes << texts[2]
341
- end
342
- airtypes.map! { |e| e.nil? ? 'IN PROGRESS' : e[:name].split(/\s+[^\s]+\s+\d+/).first }
343
- logger.info("Got visible episode airing types: #{airtypes.inspect}")
344
- airtypes
345
- end
346
-
347
- # Returns the airing dates of the visible episodes
348
- def episode_airing_dates
349
- logger.info('Getting visible episode airing dates')
350
- # TODO: need a better way to identify the airing dates!
351
- # Airing dates are the 3rd StaticText in each TableCell that is numbered
352
- elems = dut.elements
353
- cells = elems.select { |e| e[:type] == 'UIATableCell' && e[:name].length > 0 }
354
- airdates = []
355
- cells.each do |c|
356
- texts = elems.select { |e| e[:type] == 'UIAStaticText' && c.contains?(e) }
357
- airdates << texts[2]
358
- end
359
- airdates.map! { |e| e.nil? ? nil : e[:name].match(/[^\s]+\s+\d+.+$/).to_s }
360
- airdates.select! { |e| !e.nil? && !e.empty? }
361
- logger.info("Got visible episode airing dates: #{airdates.inspect}")
362
- airdates
363
- end
364
-
365
- # Returns the numbers of the visible episodes
366
- def episode_numbers
367
- logger.info('Getting visible episode numbers')
368
- # Episode numbers are the names of the numbered TableCells
369
- elems = dut.elements
370
- cells = elems.select { |e| e[:type] == 'UIATableCell' && e[:name] =~ /\d+\./ }
371
- nums = cells.map { |e| e[:name].delete('.').to_i }
372
- logger.info("Got visible episode numbers: #{nums.inspect}")
373
- nums
374
- end
375
-
376
- # Returns the names of the visible seasons
377
- def seasons
378
- logger.info('Getting visible seasons')
379
- elems = dut.elements({:type => 'UIATableGroup', :is_on_screen => true})
380
- # Throw away any that are bigger than the min height
381
- min_height = elems.map { |e| e[:height] }.min
382
- seasons = elems.reject { |e| e[:height] > min_height }.map do |e|
383
- dut.roi.text.new(:element => e, :preprocessing => 6).retrieve
384
- end
385
- logger.info("Got visible seasons: #{seasons.inspect}")
386
- seasons
387
- end
388
-
389
- # Returns the visible episode description, or nil if there isn't one
390
- def episode_description
391
- logger.info('Getting visible episode description')
392
- # TODO: need a better way to identify episode description
393
- # If the CollectionView containing the buttons is visible, then the description should be the preceding StaticText
394
- elems = dut.elements
395
- i = elems.index { |e| e[:type] == 'UIACollectionView' && e[:is_visible] }
396
- return nil if i.nil?
397
- elem = elems.select { |e| e[:type] == 'UIAStaticText' && elems.index(e) < i }.last
398
- desc = elem[:name]
399
- logger.info("Got visible episode description: #{desc}")
400
- desc
401
- end
402
-
403
- # Returns true if successfully selected "Other" / "Other Ways to Watch" button, otherwise false
404
- def select_other?
405
- logger.info('Selecting "Other" / "Other Ways to Watch" button')
406
- dut.tap?({:name => 'Other', :type => 'UIACollectionCell', :is_visible => true})
407
- end
408
-
409
- # Returns true if the "Watch Here" button is present in the "Other Ways to Watch" menu
410
- def watch_here_button?
411
- logger.info('Checking if "Watch Here" button is present')
412
- dut.element?({:name => 'Watch Here', :type => 'UIAButton', :timeout => 10.sec})
413
- end
414
-
415
- # Returns true if the "Watch on TV" button is present in the "Other Ways to Watch" menu
416
- def watch_on_tv_button?
417
- logger.info('Checking if "Watch on TV" button is present')
418
- dut.element?({:name => 'Watch on TV', :type => 'UIAButton', :timeout => 10.sec})
419
- end
420
-
421
- # Returns true if successfully selected "Info", otherwise false
422
- def select_info?
423
- logger.info('Selecting "Info"')
424
- viewport = scroll_area
425
- until_equals(true, :timeout => 15.min) do
426
- dut.screens.product_page.scroll_up?(1, :area => viewport)
427
- dut.screens.product_page.info_button?
428
- end
429
- dut.tap?({:name => 'Info', :type => 'UIAButton'})
430
- end
431
-
432
- # Returns the number of episodes available
433
- def episodes_available
434
- logger.info('Getting number of available episodes')
435
- elem = dut.element({:name => 'regexp:\d+ episodes available'})
436
- num = elem[:name].match(/^\d+/).to_s.to_i
437
- logger.info("Got number of available episodes: #{num}")
438
- num
439
- end
440
-
441
- end