@inboxsdk/core 0.2.28-alpha.3 → 0.2.28-alpha.5

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 (398) hide show
  1. package/inboxsdk.js +1 -1
  2. package/inboxsdk.js.map +1 -1
  3. package/package.json +5 -1
  4. package/src/build/exec.js +26 -0
  5. package/src/build/spawn.js +17 -0
  6. package/src/common/ajax.js +90 -0
  7. package/src/common/cachebust-url.js +10 -0
  8. package/src/common/censorHTMLstring.js +37 -0
  9. package/src/common/censorHTMLtree.js +28 -0
  10. package/src/common/censorJSONTree.js +15 -0
  11. package/src/common/connectivity-test.js +21 -0
  12. package/src/common/defer.js +11 -0
  13. package/src/common/find-parent.js +10 -0
  14. package/src/common/get-extension-id.js +7 -0
  15. package/src/common/get-or-fail.js +8 -0
  16. package/src/common/get-session-id.js +14 -0
  17. package/src/common/get-stack-trace.js +6 -0
  18. package/src/common/html-to-text.js +7 -0
  19. package/src/common/isElementVisible.js +6 -0
  20. package/src/common/load-script.js +127 -0
  21. package/src/common/log-error.js +191 -0
  22. package/src/common/quoted-split.js +18 -0
  23. package/src/common/rate-limit-queuer.js +57 -0
  24. package/src/common/rate-limit.js +14 -0
  25. package/src/common/version.js +6 -0
  26. package/src/inboxsdk-js/check-requirements.js +7 -3
  27. package/src/inboxsdk-js/header.js +1 -0
  28. package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +5 -6
  29. package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +4 -3
  30. package/src/inboxsdk-js/inboxsdk-REMOTE.js +3 -1
  31. package/src/inboxsdk-js/inboxsdk-TEST.js +4 -3
  32. package/src/inboxsdk-js/inboxsdk.js +33 -39
  33. package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +15 -18
  34. package/src/inboxsdk-js/loading/platform-implementation-loader.js +27 -0
  35. package/src/injected-js/gmail/constants.js +2 -0
  36. package/src/injected-js/gmail/modify-suggestions.js +106 -0
  37. package/src/injected-js/gmail/modify-suggestions.test.js +8 -9
  38. package/src/injected-js/gmail/setup-gmail-interceptor.js +340 -579
  39. package/src/injected-js/gmail/setup-gmonkey-handler.js +49 -0
  40. package/src/injected-js/gmail/sync-compose-processor-20220909.js +298 -0
  41. package/src/injected-js/gmail/sync-compose-processor.js +55 -0
  42. package/src/injected-js/gmail/sync-compose-request-processor.js +110 -0
  43. package/src/injected-js/gmail/sync-compose-request-processor.test.js +39 -49
  44. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +20 -33
  45. package/src/injected-js/gmail/thread-identifier/index.js +57 -93
  46. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +22 -31
  47. package/src/injected-js/gmail/thread-identifier/thread-row-parser.test.js +12 -28
  48. package/src/injected-js/inbox/setupAjaxInterceptor.js +64 -121
  49. package/src/injected-js/inbox/setupClickAndGetNewIframeSrc.js +53 -66
  50. package/src/injected-js/inbox/setupComposeViewDraftIDFinder.js +20 -36
  51. package/src/injected-js/inbox/setupInboxFakeWindowResizeListener.js +13 -13
  52. package/src/injected-js/injected-logger.js +50 -0
  53. package/src/injected-js/main.js +11 -24
  54. package/src/injected-js/message-metadata-holder.js +52 -82
  55. package/src/injected-js/setup-data-exposer.js +89 -148
  56. package/src/injected-js/setup-error-silencer.js +21 -21
  57. package/src/injected-js/setup-event-reemitter.js +30 -22
  58. package/src/injected-js/setupCustomViewEventAssassin.js +90 -0
  59. package/src/injected-js/setupInboxCustomViewLinkFixer.js +24 -29
  60. package/src/injected-js/setupPushStateListener.js +18 -11
  61. package/src/injected-js/xhr-helper.js +62 -65
  62. package/src/injected-js/xhr-proxy-factory.js +195 -445
  63. package/src/injected-js/xhr-proxy-factory.test.js +824 -991
  64. package/src/platform-implementation-js/constants/nav-item-types.js +19 -0
  65. package/src/platform-implementation-js/constants/router.js +14 -9
  66. package/src/platform-implementation-js/constants/toolbars.js +8 -3
  67. package/src/platform-implementation-js/dom-driver/gmail/custom-style.js +13 -13
  68. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +115 -136
  69. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.js +21 -0
  70. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.js +28 -0
  71. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.js +98 -0
  72. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.js +4 -0
  73. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +13 -14
  74. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +27 -48
  75. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.js +8 -0
  76. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +31 -42
  77. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +30 -40
  78. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.js +12 -0
  79. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.js +33 -0
  80. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +10 -18
  81. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +21 -28
  82. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +33 -45
  83. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +31 -49
  84. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +58 -65
  85. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.js +4 -0
  86. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +40 -124
  87. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +17 -22
  88. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.js +44 -0
  89. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.test.js +10 -11
  90. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +44 -80
  91. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +19 -26
  92. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +71 -147
  93. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +91 -148
  94. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +150 -166
  95. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.test.js +70 -120
  96. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +15 -15
  97. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +44 -67
  98. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +230 -379
  99. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.test.js +121 -307
  100. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +17 -24
  101. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +41 -49
  102. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +30 -40
  103. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +28 -60
  104. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +61 -133
  105. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.js +95 -0
  106. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +30 -42
  107. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.test.js +52 -46
  108. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +354 -694
  109. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.js +38 -0
  110. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.js +12 -0
  111. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.js +253 -0
  112. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.js +200 -0
  113. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.js +533 -0
  114. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.js +289 -0
  115. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.js +21 -0
  116. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +77 -93
  117. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.js +28 -0
  118. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.js +19 -0
  119. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.js +126 -0
  120. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +35 -82
  121. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.test.js +44 -94
  122. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +12 -19
  123. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +17 -29
  124. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +26 -26
  125. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +391 -797
  126. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +7 -9
  127. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +60 -109
  128. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +95 -135
  129. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +103 -211
  130. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.test.js +61 -61
  131. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +17 -17
  132. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +188 -541
  133. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +67 -135
  134. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +27 -49
  135. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.js +7 -13
  136. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.js +9 -22
  137. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +36 -63
  138. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.js +101 -0
  139. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +38 -113
  140. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.js +38 -0
  141. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +11 -16
  142. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +11 -17
  143. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +8 -11
  144. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +27 -47
  145. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +11 -24
  146. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +59 -111
  147. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.js +28 -0
  148. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +15 -14
  149. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +11 -17
  150. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +18 -24
  151. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.js +22 -0
  152. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +19 -23
  153. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.js +233 -0
  154. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +11 -19
  155. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +141 -376
  156. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +17 -28
  157. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +34 -70
  158. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.js +223 -0
  159. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +10 -17
  160. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.js +157 -0
  161. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.js +109 -0
  162. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +83 -137
  163. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +10 -19
  164. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +632 -1190
  165. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.js +5 -0
  166. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +29 -38
  167. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +327 -617
  168. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.js +759 -0
  169. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +26 -49
  170. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +188 -380
  171. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +104 -194
  172. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.js +84 -0
  173. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +382 -811
  174. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.js +34 -58
  175. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.js +330 -581
  176. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.test.js +123 -277
  177. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +15 -35
  178. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +216 -571
  179. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +152 -336
  180. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +87 -211
  181. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.js +33 -0
  182. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.js +325 -0
  183. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.js +58 -0
  184. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.js +55 -0
  185. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +10 -11
  186. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.js +96 -0
  187. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.js +30 -0
  188. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.js +10 -0
  189. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +20 -29
  190. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.js +22 -0
  191. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +41 -76
  192. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +45 -99
  193. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +76 -128
  194. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +128 -319
  195. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +45 -78
  196. package/src/platform-implementation-js/dom-driver/inbox/__mocks__/getSidebarClassnames.js +8 -4
  197. package/src/platform-implementation-js/dom-driver/inbox/addNavItem.js +36 -54
  198. package/src/platform-implementation-js/dom-driver/inbox/addRecipientRow.js +35 -53
  199. package/src/platform-implementation-js/dom-driver/inbox/createLink.js +13 -15
  200. package/src/platform-implementation-js/dom-driver/inbox/createLink.test.js +15 -18
  201. package/src/platform-implementation-js/dom-driver/inbox/custom-style.js +14 -13
  202. package/src/platform-implementation-js/dom-driver/inbox/detection/appToolbarLocation/parser.js +14 -20
  203. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentCard/parser.js +14 -13
  204. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentOverlay/parser.js +35 -67
  205. package/src/platform-implementation-js/dom-driver/inbox/detection/chatSidebar/parser.js +16 -18
  206. package/src/platform-implementation-js/dom-driver/inbox/detection/compose/parser.js +68 -185
  207. package/src/platform-implementation-js/dom-driver/inbox/detection/message/parser.js +28 -56
  208. package/src/platform-implementation-js/dom-driver/inbox/detection/nativeDrawer/parser.js +12 -10
  209. package/src/platform-implementation-js/dom-driver/inbox/detection/searchBar/parser.js +16 -16
  210. package/src/platform-implementation-js/dom-driver/inbox/detection/thread/parser.js +24 -35
  211. package/src/platform-implementation-js/dom-driver/inbox/detection/thread-row/parser.js +37 -89
  212. package/src/platform-implementation-js/dom-driver/inbox/getComposeViewDriverLiveSet.js +56 -78
  213. package/src/platform-implementation-js/dom-driver/inbox/getInboxMessageIdForInboxThreadId.js +26 -32
  214. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.js +52 -109
  215. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.test.js +7 -8
  216. package/src/platform-implementation-js/dom-driver/inbox/gotoView.js +16 -20
  217. package/src/platform-implementation-js/dom-driver/inbox/gotoView.test.js +15 -16
  218. package/src/platform-implementation-js/dom-driver/inbox/inbox-butter-bar-driver.js +75 -83
  219. package/src/platform-implementation-js/dom-driver/inbox/inbox-driver.js +530 -822
  220. package/src/platform-implementation-js/dom-driver/inbox/inbox-page-communicator.js +48 -61
  221. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.js +9 -12
  222. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.test.js +12 -19
  223. package/src/platform-implementation-js/dom-driver/inbox/makePageParserTree.js +24 -33
  224. package/src/platform-implementation-js/dom-driver/inbox/pageParserOptions.js +201 -388
  225. package/src/platform-implementation-js/dom-driver/inbox/registerSearchSuggestionsProvider.js +249 -265
  226. package/src/platform-implementation-js/dom-driver/inbox/setupCustomAutocompleteSelectionHandling.js +84 -152
  227. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.js +55 -67
  228. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.test.js +43 -65
  229. package/src/platform-implementation-js/dom-driver/inbox/views/InboxLabelView.js +31 -56
  230. package/src/platform-implementation-js/dom-driver/inbox/views/InboxMoleViewDriver.js +191 -294
  231. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarButtonView.js +32 -45
  232. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarView.js +21 -39
  233. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-sidebar-view.js +153 -240
  234. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-button-view.js +75 -150
  235. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-tooltip-view.js +20 -37
  236. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-card-view.js +60 -114
  237. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-overlay-view.js +47 -65
  238. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +41 -52
  239. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-chat-sidebar-view.js +27 -36
  240. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-button-view.js +52 -80
  241. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-view.js +465 -649
  242. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.js +37 -58
  243. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.test.js +14 -26
  244. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +118 -235
  245. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dropdown-view.js +10 -11
  246. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dummy-route-view.js +28 -46
  247. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-message-view.js +131 -202
  248. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-modal-view.js +40 -80
  249. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-route-view.js +35 -61
  250. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-row-view.js +124 -221
  251. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.js +125 -213
  252. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.test.js +104 -126
  253. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-tooltip-view.js +36 -51
  254. package/src/platform-implementation-js/dom-driver/inbox/views/inboxNavItemView.js +158 -297
  255. package/src/platform-implementation-js/dom-driver/inbox/waitForAnimationClickBlockerGone.js +21 -35
  256. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +24 -43
  257. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +39 -68
  258. package/src/platform-implementation-js/driver-common/getAccountUrlPart.js +17 -0
  259. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +14 -19
  260. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +27 -35
  261. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.js +33 -0
  262. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +16 -22
  263. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.js +49 -0
  264. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +14 -14
  265. package/src/platform-implementation-js/driver-common/gmailAjax.js +65 -0
  266. package/src/platform-implementation-js/driver-common/inboxAjax.js +12 -7
  267. package/src/platform-implementation-js/driver-common/render-custom-icon.js +16 -0
  268. package/src/platform-implementation-js/driver-common/requestGmailThread.js +19 -20
  269. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +197 -306
  270. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +113 -161
  271. package/src/platform-implementation-js/driver-common/update-icon.js +90 -0
  272. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +1 -114
  273. package/src/platform-implementation-js/driver-interfaces/driver.js +1 -131
  274. package/src/platform-implementation-js/driver-interfaces/message-view-driver.js +4 -48
  275. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +1 -29
  276. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +1 -32
  277. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.js +1 -11
  278. package/src/platform-implementation-js/lib/ErrorCollector.js +47 -0
  279. package/src/platform-implementation-js/lib/Membrane.js +22 -0
  280. package/src/platform-implementation-js/lib/ScrollableContainByScreen.js +30 -0
  281. package/src/platform-implementation-js/lib/array-to-lifetimes.js +43 -41
  282. package/src/platform-implementation-js/lib/array-to-lifetimes.test.js +139 -155
  283. package/src/platform-implementation-js/lib/attemptWithRetries.js +16 -0
  284. package/src/platform-implementation-js/lib/common-page-communicator.js +137 -0
  285. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +19 -38
  286. package/src/platform-implementation-js/lib/css-selector-escape.js +7 -3
  287. package/src/platform-implementation-js/lib/delay-asap.js +12 -0
  288. package/src/platform-implementation-js/lib/delay-idle.js +16 -0
  289. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.js +36 -0
  290. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +8 -11
  291. package/src/platform-implementation-js/lib/dom/generic-button-view.js +39 -0
  292. package/src/platform-implementation-js/lib/dom/get-insert-before-element.js +39 -0
  293. package/src/platform-implementation-js/lib/dom/get-selection.js +23 -52
  294. package/src/platform-implementation-js/lib/dom/insert-element-in-order.js +38 -0
  295. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +69 -101
  296. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +8 -10
  297. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.js +12 -0
  298. package/src/platform-implementation-js/lib/dom/make-element-child-stream.js +79 -0
  299. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.js +28 -0
  300. package/src/platform-implementation-js/lib/dom/make-element-view-stream.js +15 -0
  301. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.js +15 -0
  302. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.js +5 -0
  303. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +15 -17
  304. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.js +39 -0
  305. package/src/platform-implementation-js/lib/dom/parentNodes.js +8 -0
  306. package/src/platform-implementation-js/lib/dom/querySelectorOne.js +8 -11
  307. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.js +6 -0
  308. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.js +22 -0
  309. package/src/platform-implementation-js/lib/dom/set-css.js +7 -3
  310. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.js +9 -11
  311. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +32 -33
  312. package/src/platform-implementation-js/lib/dom/simulate-key.js +46 -0
  313. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.js +16 -0
  314. package/src/platform-implementation-js/lib/dom/trigger-relay-event.js +7 -0
  315. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.js +25 -0
  316. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.test.js +23 -26
  317. package/src/platform-implementation-js/lib/fake-window-resize.js +5 -0
  318. package/src/platform-implementation-js/lib/from-event-target-capture.js +12 -0
  319. package/src/platform-implementation-js/lib/fromEventsWithOptions.js +10 -0
  320. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +86 -149
  321. package/src/platform-implementation-js/lib/handler-registry.js +67 -0
  322. package/src/platform-implementation-js/lib/idMap.js +45 -0
  323. package/src/platform-implementation-js/lib/imageRequest.js +8 -0
  324. package/src/platform-implementation-js/lib/incrementName.js +7 -0
  325. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.js +14 -0
  326. package/src/platform-implementation-js/lib/inject-script.js +33 -0
  327. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +42 -57
  328. package/src/platform-implementation-js/lib/is-valid-app-id.js +27 -0
  329. package/src/platform-implementation-js/lib/is-valid-email.js +14 -0
  330. package/src/platform-implementation-js/lib/isNotNil.js +5 -0
  331. package/src/platform-implementation-js/lib/isStreakAppId.js +11 -0
  332. package/src/platform-implementation-js/lib/logger.js +441 -0
  333. package/src/platform-implementation-js/lib/make-revocable-function.js +19 -21
  334. package/src/platform-implementation-js/lib/make-revocable-function.test.js +20 -22
  335. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +15 -17
  336. package/src/platform-implementation-js/lib/parseParamsFromRouteID.test.js +9 -18
  337. package/src/platform-implementation-js/lib/persistent-queue.js +107 -0
  338. package/src/platform-implementation-js/lib/populateRouteID.js +8 -9
  339. package/src/platform-implementation-js/lib/populateRouteID.test.js +20 -19
  340. package/src/platform-implementation-js/lib/react/ElementContainer.js +23 -20
  341. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.js +10 -9
  342. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.test.js +13 -20
  343. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +13 -18
  344. package/src/platform-implementation-js/lib/routeIDmatchesHash.test.js +11 -17
  345. package/src/platform-implementation-js/lib/safe-event-emitter.js +17 -0
  346. package/src/platform-implementation-js/lib/shared-style.js +14 -13
  347. package/src/platform-implementation-js/lib/stopper-pool.js +41 -0
  348. package/src/platform-implementation-js/lib/stream-wait-for.js +30 -0
  349. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +18 -17
  350. package/src/platform-implementation-js/lib/toLiveSet.js +17 -15
  351. package/src/platform-implementation-js/lib/wait-for.js +28 -0
  352. package/src/platform-implementation-js/lib/waitForAsync.js +19 -0
  353. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +6 -5
  354. package/src/platform-implementation-js/main.js +9 -24
  355. package/src/platform-implementation-js/namespaces/app-menu.d.ts.map +1 -1
  356. package/src/platform-implementation-js/namespaces/app-menu.js +31 -0
  357. package/src/platform-implementation-js/namespaces/butter-bar.js +163 -0
  358. package/src/platform-implementation-js/namespaces/compose.js +37 -60
  359. package/src/platform-implementation-js/namespaces/conversations.js +52 -124
  360. package/src/platform-implementation-js/namespaces/global.js +27 -39
  361. package/src/platform-implementation-js/namespaces/keyboard.js +29 -33
  362. package/src/platform-implementation-js/namespaces/lists.js +25 -31
  363. package/src/platform-implementation-js/namespaces/modal.js +34 -28
  364. package/src/platform-implementation-js/namespaces/nav-menu.js +30 -45
  365. package/src/platform-implementation-js/namespaces/router.js +70 -137
  366. package/src/platform-implementation-js/namespaces/search.js +19 -17
  367. package/src/platform-implementation-js/namespaces/toolbars.js +71 -117
  368. package/src/platform-implementation-js/namespaces/user.js +36 -37
  369. package/src/platform-implementation-js/namespaces/widgets.js +54 -61
  370. package/src/platform-implementation-js/platform-implementation.js +98 -229
  371. package/src/platform-implementation-js/views/SimpleElementView.js +16 -0
  372. package/src/platform-implementation-js/views/app-menu-item-view.js +257 -0
  373. package/src/platform-implementation-js/views/app-toolbar-button-view.js +26 -47
  374. package/src/platform-implementation-js/views/collapsible-panel-view.js +222 -0
  375. package/src/platform-implementation-js/views/collapsible-section-view.js +66 -63
  376. package/src/platform-implementation-js/views/compose-button-view.js +45 -0
  377. package/src/platform-implementation-js/views/compose-view.js +312 -0
  378. package/src/platform-implementation-js/views/content-panel-view.js +28 -30
  379. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +21 -44
  380. package/src/platform-implementation-js/views/conversations/custom-message-view.js +44 -104
  381. package/src/platform-implementation-js/views/conversations/message-view.js +131 -202
  382. package/src/platform-implementation-js/views/conversations/thread-view.js +75 -127
  383. package/src/platform-implementation-js/views/keyboard-shortcut-handle.js +14 -0
  384. package/src/platform-implementation-js/views/native-nav-item-view.js +32 -65
  385. package/src/platform-implementation-js/views/nav-item-view.js +51 -115
  386. package/src/platform-implementation-js/views/route-view/custom-route-view.js +25 -20
  387. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +18 -18
  388. package/src/platform-implementation-js/views/route-view/list-route-view.js +30 -52
  389. package/src/platform-implementation-js/views/route-view/route-view.js +24 -35
  390. package/src/platform-implementation-js/views/section-view.js +60 -52
  391. package/src/platform-implementation-js/views/thread-row-view.js +49 -74
  392. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.js +39 -0
  393. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.js +98 -0
  394. package/src/platform-implementation-js/widgets/buttons/dropdown-view.js +122 -0
  395. package/src/platform-implementation-js/widgets/drawer-view.js +29 -36
  396. package/src/platform-implementation-js/widgets/modal-view.js +39 -68
  397. package/src/platform-implementation-js/widgets/mole-view.js +22 -22
  398. package/src/platform-implementation-js/widgets/top-message-bar-view.js +13 -10
@@ -1,141 +1,141 @@
1
- /* @flow */
2
-
3
- import GmailAttachmentCardView from './gmail-attachment-card-view';
4
-
5
- const driver: Object = {};
1
+ "use strict";
6
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _gmailAttachmentCardView = _interopRequireDefault(require("./gmail-attachment-card-view"));
5
+ const driver = {};
7
6
  describe('getAttachmentType', () => {
8
7
  describe('UNLOADED', () => {
9
8
  it('not loaded', () => {
10
9
  const parent = document.createElement('div');
11
- parent.innerHTML =
12
- '<span class="aZo"><div id=":3e" class="aQy aUQ"></div></span>';
10
+ parent.innerHTML = '<span class="aZo"><div id=":3e" class="aQy aUQ"></div></span>';
13
11
  const item = parent.firstElementChild;
14
- const card = new GmailAttachmentCardView({ element: item }, driver);
12
+ const card = new _gmailAttachmentCardView.default({
13
+ element: item
14
+ }, driver);
15
15
  expect(card.getAttachmentType()).toBe('UNLOADED');
16
16
  });
17
17
  });
18
-
19
18
  describe('DRIVE', () => {
20
19
  it('Spreadsheet/Doc', () => {
21
20
  const parent = document.createElement('div');
22
- parent.innerHTML =
23
- '<span class="aZo"><a id=":yx" target="_blank" role="link" class="aQy e aZr" href="https://docs.google.com/spreadsheets/d/1U8kXbtaQ8nV9O77itRojOI4hwz4AKwPAQ3kYFH5Di3M/pubchart?oid=1072376301&amp;format=interactive&amp;usp=gmail" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":z5">Preview attachment Support Numbers</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":yy" src="https://lh6.google.com/IK2P9aFJfvmo8jV2iUyRTuH3F7VCQ9gpYS0qafp-CeAdwUCc8Cf1hzHU34emBrSf64sjFeF8AIkfNfUU3LibBvMK7ZUw8cKk=w180-h120-p"><div id=":z0" class="aYv" style="display: none;"><img class="aYw aZF" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":z4" class="aYy"><div class="aYA"><img id=":z2" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_spreadsheet_x16.png" title="Google Sheets"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":z1">Support Numbers</span></div><div class="aYp"><span id=":z3" class="SaH2Ve">Shared in Drive</span></div></div></div></div></div><div class="aSI"><div id=":yz" class="aSJ" style="border-color: rgb(15, 157, 88);"></div></div></div></a><div class="aQw"><div id=":ud" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Download attachment Support Numbers" data-tooltip-class="a1V" aria-hidden="true" aria-disabled="true" data-tooltip="Download" style="-webkit-user-select: none; display: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":uo" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Save attachment to Drive Support Numbers" data-tooltip-class="a1V" data-tooltip="Save to Drive" style="-webkit-user-select: none;"><div class="wtScjd J-J5-Ji aYr aQu"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div></div></span>';
21
+ parent.innerHTML = '<span class="aZo"><a id=":yx" target="_blank" role="link" class="aQy e aZr" href="https://docs.google.com/spreadsheets/d/1U8kXbtaQ8nV9O77itRojOI4hwz4AKwPAQ3kYFH5Di3M/pubchart?oid=1072376301&amp;format=interactive&amp;usp=gmail" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":z5">Preview attachment Support Numbers</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":yy" src="https://lh6.google.com/IK2P9aFJfvmo8jV2iUyRTuH3F7VCQ9gpYS0qafp-CeAdwUCc8Cf1hzHU34emBrSf64sjFeF8AIkfNfUU3LibBvMK7ZUw8cKk=w180-h120-p"><div id=":z0" class="aYv" style="display: none;"><img class="aYw aZF" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":z4" class="aYy"><div class="aYA"><img id=":z2" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_spreadsheet_x16.png" title="Google Sheets"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":z1">Support Numbers</span></div><div class="aYp"><span id=":z3" class="SaH2Ve">Shared in Drive</span></div></div></div></div></div><div class="aSI"><div id=":yz" class="aSJ" style="border-color: rgb(15, 157, 88);"></div></div></div></a><div class="aQw"><div id=":ud" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Download attachment Support Numbers" data-tooltip-class="a1V" aria-hidden="true" aria-disabled="true" data-tooltip="Download" style="-webkit-user-select: none; display: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":uo" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Save attachment to Drive Support Numbers" data-tooltip-class="a1V" data-tooltip="Save to Drive" style="-webkit-user-select: none;"><div class="wtScjd J-J5-Ji aYr aQu"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div></div></span>';
24
22
  const item = parent.firstElementChild;
25
- const card = new GmailAttachmentCardView({ element: item }, driver);
23
+ const card = new _gmailAttachmentCardView.default({
24
+ element: item
25
+ }, driver);
26
26
  expect(card.getAttachmentType()).toBe('DRIVE');
27
27
  });
28
-
29
28
  it('Image', () => {
30
29
  const parent = document.createElement('div');
31
- parent.innerHTML =
32
- '<span class="aZo a5r N5jrZb" download_url="image/png:mixpanel.png:https://doc-0g-6g-docs.googleusercontent.com/docs/securesc/g7b6blm5q562d5kkm7hp3qjc197l3udo/rc9g7rutikab2k4o0grt0gojn77rhmre/1430503200000/12319357422283078493/14790627230404242429/0B9JouKBNdHWDeFpkM2QyWnFSdEU?h=07421357558349907965&amp;e=download" draggable="true"><a id=":vl" target="_blank" role="link" class="aQy aZr e aZI" href="https://doc-0g-6g-docs.googleusercontent.com/docs/securesc/g7b6blm5q562d5kkm7hp3qjc197l3udo/rc9g7rutikab2k4o0grt0gojn77rhmre/1430503200000/12319357422283078493/14790627230404242429/0B9JouKBNdHWDeFpkM2QyWnFSdEU?h=07421357558349907965&amp;e=download" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":2g">Preview attachment mixpanel.png</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG aYB" id=":vk" src="https://lh5.googleusercontent.com/2jWGyM4qIQPeyzEwnImuERZOVS53VACIv6znF6nKfJvM8_MEZvubnxicxUV4NXZtJ3Jxhw=w180-h120-p" style="margin: auto; position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; max-width: 100%; max-height: 100%;"><div id=":vi" class="aYv" style="display: none;"><img class="aYw aZy" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":2f" class="aYy"><div class="aYA"><img id=":6p" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_image_x16.png" title="Image"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":71">mixpanel.png</span></div><div class="aYp"><span id=":2e" class="SaH2Ve">Shared in Drive</span></div></div></div></div></div><div class="aSI"><div id=":vj" class="aSJ" style="border-color: rgb(255, 255, 255);"></div></div></div></a><div class="aQw"><div id=":2j" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Download attachment mixpanel.png" data-tooltip-class="a1V" aria-hidden="false" aria-disabled="false" tabindex="0" data-tooltip="Download" style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":2k" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Locate attachment in Drive mixpanel.png" data-tooltip-class="a1V" data-tooltip="Show in Drive" style="-webkit-user-select: none;"><div class="wtScjd J-J5-Ji aYr aUR"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div></div></span>';
30
+ parent.innerHTML = '<span class="aZo a5r N5jrZb" download_url="image/png:mixpanel.png:https://doc-0g-6g-docs.googleusercontent.com/docs/securesc/g7b6blm5q562d5kkm7hp3qjc197l3udo/rc9g7rutikab2k4o0grt0gojn77rhmre/1430503200000/12319357422283078493/14790627230404242429/0B9JouKBNdHWDeFpkM2QyWnFSdEU?h=07421357558349907965&amp;e=download" draggable="true"><a id=":vl" target="_blank" role="link" class="aQy aZr e aZI" href="https://doc-0g-6g-docs.googleusercontent.com/docs/securesc/g7b6blm5q562d5kkm7hp3qjc197l3udo/rc9g7rutikab2k4o0grt0gojn77rhmre/1430503200000/12319357422283078493/14790627230404242429/0B9JouKBNdHWDeFpkM2QyWnFSdEU?h=07421357558349907965&amp;e=download" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":2g">Preview attachment mixpanel.png</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG aYB" id=":vk" src="https://lh5.googleusercontent.com/2jWGyM4qIQPeyzEwnImuERZOVS53VACIv6znF6nKfJvM8_MEZvubnxicxUV4NXZtJ3Jxhw=w180-h120-p" style="margin: auto; position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; max-width: 100%; max-height: 100%;"><div id=":vi" class="aYv" style="display: none;"><img class="aYw aZy" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":2f" class="aYy"><div class="aYA"><img id=":6p" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_image_x16.png" title="Image"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":71">mixpanel.png</span></div><div class="aYp"><span id=":2e" class="SaH2Ve">Shared in Drive</span></div></div></div></div></div><div class="aSI"><div id=":vj" class="aSJ" style="border-color: rgb(255, 255, 255);"></div></div></div></a><div class="aQw"><div id=":2j" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Download attachment mixpanel.png" data-tooltip-class="a1V" aria-hidden="false" aria-disabled="false" tabindex="0" data-tooltip="Download" style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":2k" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Locate attachment in Drive mixpanel.png" data-tooltip-class="a1V" data-tooltip="Show in Drive" style="-webkit-user-select: none;"><div class="wtScjd J-J5-Ji aYr aUR"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div></div></span>';
33
31
  const item = parent.firstElementChild;
34
- const card = new GmailAttachmentCardView({ element: item }, driver);
32
+ const card = new _gmailAttachmentCardView.default({
33
+ element: item
34
+ }, driver);
35
35
  expect(card.getAttachmentType()).toBe('DRIVE');
36
36
  });
37
-
38
37
  it('Video', () => {
39
38
  const parent = document.createElement('div');
40
- parent.innerHTML =
41
- '<span class="aZo a5r N5jrZb" download_url="video/quicktime:Cannot%20Uncheck%20%22Restrict%20Sharing%22.mov:https://doc-0g-c4-docs.googleusercontent.com/docs/securesc/g7b6blm5q562d5kkm7hp3qjc197l3udo/l2883n65nr5vlmps3fkqqggs7prht2fo/1430503200000/14790627230404242429/14790627230404242429/0B8oWVm_LzypkWTBJN3BkRjNsdlVFVzNOeEk2U3AxN0hiOVYw?h=07421357558349907965&amp;e=download" draggable="true"><a id=":3e" target="_blank" role="link" class="aQy aZL aZr e aZI" href="https://doc-0g-c4-docs.googleusercontent.com/docs/securesc/g7b6blm5q562d5kkm7hp3qjc197l3udo/l2883n65nr5vlmps3fkqqggs7prht2fo/1430503200000/14790627230404242429/14790627230404242429/0B8oWVm_LzypkWTBJN3BkRjNsdlVFVzNOeEk2U3AxN0hiOVYw?h=07421357558349907965&amp;e=download" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":3m">Preview attachment Cannot Uncheck "Restrict Sharing".mov</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG aYB" id=":3f" src="https://lh4.googleusercontent.com/FMC3IHFmtQMWK4Hc-5ue5865HR7tvqTsX4yBwPdBd4mC5M9CCeZ_HE_bqnaPFPXpHlFO6rm3GdnXX2OLQITRdZ3CXMM=w180-h120-p" style="margin: auto; position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; max-width: 100%; max-height: 100%;"><div id=":3h" class="aYv" style="display: none;"><img class="aYw aZA" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":3l" class="aYy"><div class="aYA"><img id=":3j" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_video_x16.png" title="Video"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":3i">Cannot Uncheck "Restrict Sharing".mov</span></div><div class="aYp"><span id=":3k" class="SaH2Ve">Shared in Drive</span></div></div></div></div></div><div class="aSI"><div id=":3g" class="aSJ" style="border-color: rgb(219, 58, 55);"></div></div></div></a><div class="aQw"><div id=":3p" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Download attachment Cannot Uncheck &quot;Restrict Sharing&quot;.mov" data-tooltip-class="a1V" aria-hidden="false" aria-disabled="false" tabindex="0" data-tooltip="Download" style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":3q" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Locate attachment in Drive Cannot Uncheck &quot;Restrict Sharing&quot;.mov" data-tooltip-class="a1V" data-tooltip="Show in Drive" style="-webkit-user-select: none;"><div class="wtScjd J-J5-Ji aYr aUR"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div></div></span>';
39
+ parent.innerHTML = '<span class="aZo a5r N5jrZb" download_url="video/quicktime:Cannot%20Uncheck%20%22Restrict%20Sharing%22.mov:https://doc-0g-c4-docs.googleusercontent.com/docs/securesc/g7b6blm5q562d5kkm7hp3qjc197l3udo/l2883n65nr5vlmps3fkqqggs7prht2fo/1430503200000/14790627230404242429/14790627230404242429/0B8oWVm_LzypkWTBJN3BkRjNsdlVFVzNOeEk2U3AxN0hiOVYw?h=07421357558349907965&amp;e=download" draggable="true"><a id=":3e" target="_blank" role="link" class="aQy aZL aZr e aZI" href="https://doc-0g-c4-docs.googleusercontent.com/docs/securesc/g7b6blm5q562d5kkm7hp3qjc197l3udo/l2883n65nr5vlmps3fkqqggs7prht2fo/1430503200000/14790627230404242429/14790627230404242429/0B8oWVm_LzypkWTBJN3BkRjNsdlVFVzNOeEk2U3AxN0hiOVYw?h=07421357558349907965&amp;e=download" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":3m">Preview attachment Cannot Uncheck "Restrict Sharing".mov</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG aYB" id=":3f" src="https://lh4.googleusercontent.com/FMC3IHFmtQMWK4Hc-5ue5865HR7tvqTsX4yBwPdBd4mC5M9CCeZ_HE_bqnaPFPXpHlFO6rm3GdnXX2OLQITRdZ3CXMM=w180-h120-p" style="margin: auto; position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; max-width: 100%; max-height: 100%;"><div id=":3h" class="aYv" style="display: none;"><img class="aYw aZA" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":3l" class="aYy"><div class="aYA"><img id=":3j" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_video_x16.png" title="Video"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":3i">Cannot Uncheck "Restrict Sharing".mov</span></div><div class="aYp"><span id=":3k" class="SaH2Ve">Shared in Drive</span></div></div></div></div></div><div class="aSI"><div id=":3g" class="aSJ" style="border-color: rgb(219, 58, 55);"></div></div></div></a><div class="aQw"><div id=":3p" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Download attachment Cannot Uncheck &quot;Restrict Sharing&quot;.mov" data-tooltip-class="a1V" aria-hidden="false" aria-disabled="false" tabindex="0" data-tooltip="Download" style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":3q" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Locate attachment in Drive Cannot Uncheck &quot;Restrict Sharing&quot;.mov" data-tooltip-class="a1V" data-tooltip="Show in Drive" style="-webkit-user-select: none;"><div class="wtScjd J-J5-Ji aYr aUR"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div></div></span>';
42
40
  const item = parent.firstElementChild;
43
- const card = new GmailAttachmentCardView({ element: item }, driver);
41
+ const card = new _gmailAttachmentCardView.default({
42
+ element: item
43
+ }, driver);
44
44
  expect(card.getAttachmentType()).toBe('DRIVE');
45
45
  });
46
46
  });
47
-
48
47
  describe('UNKNOWN', () => {
49
48
  it('YouTube', () => {
50
49
  const parent = document.createElement('div');
51
- parent.innerHTML =
52
- '<span class="aZo"><a id=":1vm" target="_blank" role="link" class="aQy aZR e aZr" href="https://www.youtube.com/watch?v=XRYN2xt11Ek&amp;authuser=0" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0" data-tooltip="Netflix JavaScript Talks - Async JavaScript with Reactive Extensions"><span class="a3I" id=":1te">Preview YouTube video Netflix JavaScript Talks - Async JavaScript with Reactive Extensions</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG aYB" id=":1t7" src="https://i.ytimg.com/vi/XRYN2xt11Ek/mqdefault.jpg" style="position: absolute; margin: auto; top: -10%; right: -10%; bottom: -10%; left: -10%; max-width: 120%; min-width: 100%;"><div id=":1t9" class="aYv" style="display: none;"><img class="aYw" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":1td" class="aYy"><div class="aYA"><img id=":1tb" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_2_youtube_x16.png"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":1ta">Netflix JavaScript Talks - Async JavaScript with Reactive Extensions</span></div><div class="aYp"><span id=":1tc" class="SaH2Ve"></span></div></div><div class="a11"><img class="aZS" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div></div></div></div><div class="aSI"><div id=":1t8" class="aSJ" style="border-color: rgb(119, 119, 119);"></div></div></div></a></span>';
50
+ parent.innerHTML = '<span class="aZo"><a id=":1vm" target="_blank" role="link" class="aQy aZR e aZr" href="https://www.youtube.com/watch?v=XRYN2xt11Ek&amp;authuser=0" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0" data-tooltip="Netflix JavaScript Talks - Async JavaScript with Reactive Extensions"><span class="a3I" id=":1te">Preview YouTube video Netflix JavaScript Talks - Async JavaScript with Reactive Extensions</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG aYB" id=":1t7" src="https://i.ytimg.com/vi/XRYN2xt11Ek/mqdefault.jpg" style="position: absolute; margin: auto; top: -10%; right: -10%; bottom: -10%; left: -10%; max-width: 120%; min-width: 100%;"><div id=":1t9" class="aYv" style="display: none;"><img class="aYw" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":1td" class="aYy"><div class="aYA"><img id=":1tb" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_2_youtube_x16.png"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":1ta">Netflix JavaScript Talks - Async JavaScript with Reactive Extensions</span></div><div class="aYp"><span id=":1tc" class="SaH2Ve"></span></div></div><div class="a11"><img class="aZS" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div></div></div></div><div class="aSI"><div id=":1t8" class="aSJ" style="border-color: rgb(119, 119, 119);"></div></div></div></a></span>';
53
51
  const item = parent.firstElementChild;
54
- const card = new GmailAttachmentCardView({ element: item }, driver);
52
+ const card = new _gmailAttachmentCardView.default({
53
+ element: item
54
+ }, driver);
55
55
  expect(card.getAttachmentType()).toBe('UNKNOWN');
56
56
  });
57
57
  });
58
-
59
58
  describe('FILE', () => {
60
59
  it('Image partial load', () => {
61
60
  const parent = document.createElement('div');
62
- parent.innerHTML =
63
- '<span class="aZo"><a id=":x1" target="_blank" role="link" class="aQy e aZI" href="https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=fimg&amp;…yTm3Jys8&amp;sz=w1600&amp;ats=1430504364643&amp;rm=14d0c75c6145c8d4&amp;zw" data-tooltip-align="t,c" data-tooltip-class="a1V"><span class="a3I" id=":x9">Preview attachment shortcuts available.png</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":x2" src="?ui=2&amp;ik=1f119f7bbb&amp;view=fimg&amp;th=14d0c75c6145c8d4&amp;attid=0.1&amp;disp=thd&amp;realattid=f_i94qwb490&amp;attbid=ANGjdJ_jUb4hyszH7BYwFZCYh0dyb3mT--y5OlZLPHEnUJEz83h5iHUHr6JGjb57I8ckhCnGqk8az2YlDc_TLM3rivIfqzqmeEpCJtPc-c9DQuAclsN5JUb_Dww64Ck&amp;sz=w180-h120-p-nu&amp;ats=1430504364643&amp;rm=14d0c75c6145c8d4&amp;zw"><div id=":x4" class="aYv"><img class="aYw aZy" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":x8" class="aYy"><div class="aYA"><img id=":x6" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_image_x16.png" title="Image"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":x5">shortcuts available.png</span></div><div class="aYp"><span id=":x7" class="SaH2Ve">160 KB</span></div></div></div></div></div><div class="aSI"><div id=":x3" class="aSJ" style="border-color: #fff"></div></div></div></a><div class="aQw"><div id=":xc" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Download attachment shortcuts available.png" data-tooltip-class="a1V" aria-disabled="true" data-tooltip="Scanning for viruses..." style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":xd" class="T-I J-J5-Ji aQv T-I-ax7 L3" title="Save to Drive" role="button" aria-label="Save attachment to Drive shortcuts available.png" data-tooltip-class="a1V" aria-hidden="true" style="-webkit-user-select: none; display: none;"><div class="wtScjd aQu J-J5-Ji aYr"><div class="T-aT4"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":xe" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" data-tooltip="Add to contacts" style="-webkit-user-select: none; display: none;"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
61
+ parent.innerHTML = '<span class="aZo"><a id=":x1" target="_blank" role="link" class="aQy e aZI" href="https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=fimg&amp;…yTm3Jys8&amp;sz=w1600&amp;ats=1430504364643&amp;rm=14d0c75c6145c8d4&amp;zw" data-tooltip-align="t,c" data-tooltip-class="a1V"><span class="a3I" id=":x9">Preview attachment shortcuts available.png</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":x2" src="?ui=2&amp;ik=1f119f7bbb&amp;view=fimg&amp;th=14d0c75c6145c8d4&amp;attid=0.1&amp;disp=thd&amp;realattid=f_i94qwb490&amp;attbid=ANGjdJ_jUb4hyszH7BYwFZCYh0dyb3mT--y5OlZLPHEnUJEz83h5iHUHr6JGjb57I8ckhCnGqk8az2YlDc_TLM3rivIfqzqmeEpCJtPc-c9DQuAclsN5JUb_Dww64Ck&amp;sz=w180-h120-p-nu&amp;ats=1430504364643&amp;rm=14d0c75c6145c8d4&amp;zw"><div id=":x4" class="aYv"><img class="aYw aZy" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":x8" class="aYy"><div class="aYA"><img id=":x6" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_image_x16.png" title="Image"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":x5">shortcuts available.png</span></div><div class="aYp"><span id=":x7" class="SaH2Ve">160 KB</span></div></div></div></div></div><div class="aSI"><div id=":x3" class="aSJ" style="border-color: #fff"></div></div></div></a><div class="aQw"><div id=":xc" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Download attachment shortcuts available.png" data-tooltip-class="a1V" aria-disabled="true" data-tooltip="Scanning for viruses..." style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":xd" class="T-I J-J5-Ji aQv T-I-ax7 L3" title="Save to Drive" role="button" aria-label="Save attachment to Drive shortcuts available.png" data-tooltip-class="a1V" aria-hidden="true" style="-webkit-user-select: none; display: none;"><div class="wtScjd aQu J-J5-Ji aYr"><div class="T-aT4"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":xe" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" data-tooltip="Add to contacts" style="-webkit-user-select: none; display: none;"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
64
62
  const item = parent.firstElementChild;
65
- const card = new GmailAttachmentCardView({ element: item }, driver);
63
+ const card = new _gmailAttachmentCardView.default({
64
+ element: item
65
+ }, driver);
66
66
  expect(card.getAttachmentType()).toBe('FILE');
67
67
  });
68
-
69
68
  it('Image', () => {
70
69
  const parent = document.createElement('div');
71
- parent.innerHTML =
72
- '<span class="aZo N5jrZb" download_url="image/png:shortcuts%20available.png:https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d0c75c6145c8d4&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i94qwb490&amp;zw" draggable="true"><a id=":v2" target="_blank" role="link" class="aQy e aZI" href="https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=fimg&amp;th=14d0c75c6145c8d4&amp;attid=0.1&amp;disp=inline&amp;realattid=f_i94qwb490&amp;safe=1&amp;attbid=ANGjdJ-ttSt_OR-q9LAkPanrUKU8Mv3yKZYPdcZ0NNywe1NE-bvNZ3L759WF6EIaRanB7Kj663CFt7PdiRCQ0Py2X45zpH9NcuuzbqZET0tAepRJYN6U6YkK5yIFdRA&amp;sz=w1600&amp;ats=1430504486875&amp;rm=14d0c75c6145c8d4&amp;zw" data-tooltip-align="t,c" data-tooltip-class="a1V"><span class="a3I" id=":va">Preview attachment shortcuts available.png</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":v3" src="?ui=2&amp;ik=1f119f7bbb&amp;view=fimg&amp;th=14d0c75c6145c8d4&amp;attid=0.1&amp;disp=thd&amp;realattid=f_i94qwb490&amp;attbid=ANGjdJ9UbCYIYp1Tj3tWYlhwkVV4Vj4ddGIaiNqQL9Dmvhtxr1Yiu7-xX9xMdYzQY4upkHklIipUnO_7H3Y561Plkj1pHnw5L-J-2B__YULYHGfYrt7Vu7m5EmSN2YE&amp;sz=w180-h120-p-nu&amp;ats=1430504486875&amp;rm=14d0c75c6145c8d4&amp;zw"><div id=":v5" class="aYv"><img class="aYw aZy" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":v9" class="aYy"><div class="aYA"><img id=":v7" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_image_x16.png" title="Image"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":v6">shortcuts available.png</span></div><div class="aYp"><span id=":v8" class="SaH2Ve">160 KB</span></div></div></div></div></div><div class="aSI"><div id=":v4" class="aSJ" style="border-color: #fff"></div></div></div></a><div class="aQw"><div id=":vd" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Download attachment shortcuts available.png" data-tooltip-class="a1V" data-tooltip="Download" style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":ve" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Save attachment to Drive shortcuts available.png" data-tooltip-class="a1V" data-tooltip="Save to Drive" style="-webkit-user-select: none;"><div class="wtScjd J-J5-Ji aYr aQu"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":vf" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" data-tooltip="Add to contacts" style="-webkit-user-select: none; display: none;"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
70
+ parent.innerHTML = '<span class="aZo N5jrZb" download_url="image/png:shortcuts%20available.png:https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d0c75c6145c8d4&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i94qwb490&amp;zw" draggable="true"><a id=":v2" target="_blank" role="link" class="aQy e aZI" href="https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=fimg&amp;th=14d0c75c6145c8d4&amp;attid=0.1&amp;disp=inline&amp;realattid=f_i94qwb490&amp;safe=1&amp;attbid=ANGjdJ-ttSt_OR-q9LAkPanrUKU8Mv3yKZYPdcZ0NNywe1NE-bvNZ3L759WF6EIaRanB7Kj663CFt7PdiRCQ0Py2X45zpH9NcuuzbqZET0tAepRJYN6U6YkK5yIFdRA&amp;sz=w1600&amp;ats=1430504486875&amp;rm=14d0c75c6145c8d4&amp;zw" data-tooltip-align="t,c" data-tooltip-class="a1V"><span class="a3I" id=":va">Preview attachment shortcuts available.png</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":v3" src="?ui=2&amp;ik=1f119f7bbb&amp;view=fimg&amp;th=14d0c75c6145c8d4&amp;attid=0.1&amp;disp=thd&amp;realattid=f_i94qwb490&amp;attbid=ANGjdJ9UbCYIYp1Tj3tWYlhwkVV4Vj4ddGIaiNqQL9Dmvhtxr1Yiu7-xX9xMdYzQY4upkHklIipUnO_7H3Y561Plkj1pHnw5L-J-2B__YULYHGfYrt7Vu7m5EmSN2YE&amp;sz=w180-h120-p-nu&amp;ats=1430504486875&amp;rm=14d0c75c6145c8d4&amp;zw"><div id=":v5" class="aYv"><img class="aYw aZy" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":v9" class="aYy"><div class="aYA"><img id=":v7" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_image_x16.png" title="Image"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":v6">shortcuts available.png</span></div><div class="aYp"><span id=":v8" class="SaH2Ve">160 KB</span></div></div></div></div></div><div class="aSI"><div id=":v4" class="aSJ" style="border-color: #fff"></div></div></div></a><div class="aQw"><div id=":vd" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Download attachment shortcuts available.png" data-tooltip-class="a1V" data-tooltip="Download" style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":ve" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Save attachment to Drive shortcuts available.png" data-tooltip-class="a1V" data-tooltip="Save to Drive" style="-webkit-user-select: none;"><div class="wtScjd J-J5-Ji aYr aQu"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":vf" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" data-tooltip="Add to contacts" style="-webkit-user-select: none; display: none;"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
73
71
  const item = parent.firstElementChild;
74
- const card = new GmailAttachmentCardView({ element: item }, driver);
72
+ const card = new _gmailAttachmentCardView.default({
73
+ element: item
74
+ }, driver);
75
75
  expect(card.getAttachmentType()).toBe('FILE');
76
76
  });
77
-
78
77
  it('Image 2', () => {
79
78
  const parent = document.createElement('div');
80
- parent.innerHTML =
81
- '<span class="aZo N5jrZb a5r" download_url="image/png:glyphicons_154_more_windows%402x.png:https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d10d2d2cac40be&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i95yjsrs0&amp;zw" draggable="true"><a id=":1ub" target="_blank" role="link" class="aQy aZr e aZI" href="https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d10d2d2cac40be&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i95yjsrs0&amp;zw" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":1uj">Preview attachment glyphicons_154_more_windows@2x.png</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG aYB" id=":1uc" src="?ui=2&amp;ik=1f119f7bbb&amp;view=fimg&amp;th=14d10d2d2cac40be&amp;attid=0.1&amp;disp=thd&amp;realattid=f_i95yjsrs0&amp;attbid=ANGjdJ81k5MBG_KC-NgOU0uB2nPdvsE8TB5xXoMRjUW4rxM6p0GcrkGwC7dHUdCimgqqR4Ab0K98UYfXLTZg6VjqeKGKFWiWlzJ3BBW9Cvytlcc0jO1fK5OqkHY6n2o&amp;sz=w180-h120-p-nu&amp;ats=1430510538939&amp;rm=14d10d2d2cac40be&amp;zw" style="margin: auto; position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; max-width: 100%; max-height: 100%;"><div id=":1ue" class="aYv" style="display: none;"><img class="aYw aZy" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":1ui" class="aYy"><div class="aYA"><img id=":1ug" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_image_x16.png" title="Image"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":1uf">glyphicons_154_more_windows@2x.png</span></div><div class="aYp"><span id=":1uh" class="SaH2Ve">1.5 KB</span></div></div></div></div></div><div class="aSI"><div id=":1ud" class="aSJ" style="border-color: rgb(255, 255, 255);"></div></div></div></a><div class="aQw"><div id=":1um" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Download attachment glyphicons_154_more_windows@2x.png" data-tooltip-class="a1V" aria-disabled="false" style="-webkit-user-select: none;" tabindex="0" data-tooltip="Download"><div class="aSK J-J5-Ji aYr"></div></div><div id=":1un" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Save attachment to Drive glyphicons_154_more_windows@2x.png" data-tooltip-class="a1V" aria-hidden="false" style="-webkit-user-select: none;" tabindex="0" data-tooltip="Save to Drive"><div class="wtScjd J-J5-Ji aYr aQu"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":1uo" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" style="-webkit-user-select: none; display: none;" data-tooltip="Add to contacts"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
79
+ parent.innerHTML = '<span class="aZo N5jrZb a5r" download_url="image/png:glyphicons_154_more_windows%402x.png:https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d10d2d2cac40be&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i95yjsrs0&amp;zw" draggable="true"><a id=":1ub" target="_blank" role="link" class="aQy aZr e aZI" href="https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d10d2d2cac40be&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i95yjsrs0&amp;zw" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":1uj">Preview attachment glyphicons_154_more_windows@2x.png</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG aYB" id=":1uc" src="?ui=2&amp;ik=1f119f7bbb&amp;view=fimg&amp;th=14d10d2d2cac40be&amp;attid=0.1&amp;disp=thd&amp;realattid=f_i95yjsrs0&amp;attbid=ANGjdJ81k5MBG_KC-NgOU0uB2nPdvsE8TB5xXoMRjUW4rxM6p0GcrkGwC7dHUdCimgqqR4Ab0K98UYfXLTZg6VjqeKGKFWiWlzJ3BBW9Cvytlcc0jO1fK5OqkHY6n2o&amp;sz=w180-h120-p-nu&amp;ats=1430510538939&amp;rm=14d10d2d2cac40be&amp;zw" style="margin: auto; position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; max-width: 100%; max-height: 100%;"><div id=":1ue" class="aYv" style="display: none;"><img class="aYw aZy" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":1ui" class="aYy"><div class="aYA"><img id=":1ug" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_image_x16.png" title="Image"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":1uf">glyphicons_154_more_windows@2x.png</span></div><div class="aYp"><span id=":1uh" class="SaH2Ve">1.5 KB</span></div></div></div></div></div><div class="aSI"><div id=":1ud" class="aSJ" style="border-color: rgb(255, 255, 255);"></div></div></div></a><div class="aQw"><div id=":1um" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Download attachment glyphicons_154_more_windows@2x.png" data-tooltip-class="a1V" aria-disabled="false" style="-webkit-user-select: none;" tabindex="0" data-tooltip="Download"><div class="aSK J-J5-Ji aYr"></div></div><div id=":1un" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Save attachment to Drive glyphicons_154_more_windows@2x.png" data-tooltip-class="a1V" aria-hidden="false" style="-webkit-user-select: none;" tabindex="0" data-tooltip="Save to Drive"><div class="wtScjd J-J5-Ji aYr aQu"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":1uo" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" style="-webkit-user-select: none; display: none;" data-tooltip="Add to contacts"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
82
80
  const item = parent.firstElementChild;
83
- const card = new GmailAttachmentCardView({ element: item }, driver);
81
+ const card = new _gmailAttachmentCardView.default({
82
+ element: item
83
+ }, driver);
84
84
  expect(card.getAttachmentType()).toBe('FILE');
85
85
  });
86
-
87
86
  it('Doc partial load', () => {
88
87
  const parent = document.createElement('div');
89
- parent.innerHTML =
90
- '<span class="aZo"><a id=":yc" target="_blank" role="link" class="aQy e" href="https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d10d6c7456d1bf&amp;attid=0.1&amp;disp=inline&amp;realattid=f_i95ypbc10&amp;safe=1&amp;zw" data-tooltip-align="t,c" data-tooltip-class="a1V"><span class="a3I" id=":2v">Preview attachment NOTES.txt</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":yb" style="display:none;"><div id=":10m" class="aYv"><img class="aYw aZG" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":3r" class="aYy"><div class="aYA"><img id=":10o" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_text_x16.png" title="Text"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":10n">NOTES.txt</span></div><div class="aYp"><span id=":33" class="SaH2Ve">1 KB</span></div></div></div></div></div><div class="aSI"><div id=":ya" class="aSJ" style="border-color: #4986e7"></div></div></div></a><div class="aQw"><div id=":3f" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Download attachment NOTES.txt" data-tooltip-class="a1V" aria-disabled="true" data-tooltip="Scanning for viruses..." style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":3e" class="T-I J-J5-Ji aQv T-I-ax7 L3" title="Save to Drive" role="button" aria-label="Save attachment to Drive NOTES.txt" data-tooltip-class="a1V" aria-hidden="true" style="-webkit-user-select: none; display: none;"><div class="wtScjd aQu J-J5-Ji aYr"><div class="T-aT4"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":2d" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" data-tooltip="Add to contacts" style="-webkit-user-select: none; display: none;"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
88
+ parent.innerHTML = '<span class="aZo"><a id=":yc" target="_blank" role="link" class="aQy e" href="https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d10d6c7456d1bf&amp;attid=0.1&amp;disp=inline&amp;realattid=f_i95ypbc10&amp;safe=1&amp;zw" data-tooltip-align="t,c" data-tooltip-class="a1V"><span class="a3I" id=":2v">Preview attachment NOTES.txt</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":yb" style="display:none;"><div id=":10m" class="aYv"><img class="aYw aZG" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":3r" class="aYy"><div class="aYA"><img id=":10o" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_text_x16.png" title="Text"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":10n">NOTES.txt</span></div><div class="aYp"><span id=":33" class="SaH2Ve">1 KB</span></div></div></div></div></div><div class="aSI"><div id=":ya" class="aSJ" style="border-color: #4986e7"></div></div></div></a><div class="aQw"><div id=":3f" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Download attachment NOTES.txt" data-tooltip-class="a1V" aria-disabled="true" data-tooltip="Scanning for viruses..." style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":3e" class="T-I J-J5-Ji aQv T-I-ax7 L3" title="Save to Drive" role="button" aria-label="Save attachment to Drive NOTES.txt" data-tooltip-class="a1V" aria-hidden="true" style="-webkit-user-select: none; display: none;"><div class="wtScjd aQu J-J5-Ji aYr"><div class="T-aT4"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":2d" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" data-tooltip="Add to contacts" style="-webkit-user-select: none; display: none;"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
91
89
  const item = parent.firstElementChild;
92
- const card = new GmailAttachmentCardView({ element: item }, driver);
90
+ const card = new _gmailAttachmentCardView.default({
91
+ element: item
92
+ }, driver);
93
93
  expect(card.getAttachmentType()).toBe('FILE');
94
94
  });
95
-
96
95
  it('Doc', () => {
97
96
  const parent = document.createElement('div');
98
- parent.innerHTML =
99
- '<span class="aZo N5jrZb" download_url="text/plain:NOTES.txt:https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d10d6c7456d1bf&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i95ypbc10&amp;zw" draggable="true"><a id=":yc" target="_blank" role="link" class="aQy e" href="https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d10d6c7456d1bf&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i95ypbc10&amp;zw" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":2v">Preview attachment NOTES.txt</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":yb" style="display: none;"><div id=":10m" class="aYv"><img class="aYw aZG" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":3r" class="aYy"><div class="aYA"><img id=":10o" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_text_x16.png" title="Text"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":10n">NOTES.txt</span></div><div class="aYp"><span id=":33" class="SaH2Ve">1 KB</span></div></div></div></div></div><div class="aSI"><div id=":ya" class="aSJ" style="border-color: rgb(73, 134, 231);"></div></div></div></a><div class="aQw"><div id=":3f" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Download attachment NOTES.txt" data-tooltip-class="a1V" aria-disabled="false" style="-webkit-user-select: none;" tabindex="0" data-tooltip="Download"><div class="aSK J-J5-Ji aYr"></div></div><div id=":3e" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Save attachment to Drive NOTES.txt" data-tooltip-class="a1V" aria-hidden="false" style="-webkit-user-select: none;" tabindex="0" data-tooltip="Save to Drive"><div class="wtScjd J-J5-Ji aYr aQu"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":2d" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" style="-webkit-user-select: none; display: none;" data-tooltip="Add to contacts"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
97
+ parent.innerHTML = '<span class="aZo N5jrZb" download_url="text/plain:NOTES.txt:https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d10d6c7456d1bf&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i95ypbc10&amp;zw" draggable="true"><a id=":yc" target="_blank" role="link" class="aQy e" href="https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d10d6c7456d1bf&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i95ypbc10&amp;zw" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":2v">Preview attachment NOTES.txt</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":yb" style="display: none;"><div id=":10m" class="aYv"><img class="aYw aZG" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":3r" class="aYy"><div class="aYA"><img id=":10o" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_text_x16.png" title="Text"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":10n">NOTES.txt</span></div><div class="aYp"><span id=":33" class="SaH2Ve">1 KB</span></div></div></div></div></div><div class="aSI"><div id=":ya" class="aSJ" style="border-color: rgb(73, 134, 231);"></div></div></div></a><div class="aQw"><div id=":3f" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Download attachment NOTES.txt" data-tooltip-class="a1V" aria-disabled="false" style="-webkit-user-select: none;" tabindex="0" data-tooltip="Download"><div class="aSK J-J5-Ji aYr"></div></div><div id=":3e" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Save attachment to Drive NOTES.txt" data-tooltip-class="a1V" aria-hidden="false" style="-webkit-user-select: none;" tabindex="0" data-tooltip="Save to Drive"><div class="wtScjd J-J5-Ji aYr aQu"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":2d" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" style="-webkit-user-select: none; display: none;" data-tooltip="Add to contacts"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
100
98
  const item = parent.firstElementChild;
101
- const card = new GmailAttachmentCardView({ element: item }, driver);
99
+ const card = new _gmailAttachmentCardView.default({
100
+ element: item
101
+ }, driver);
102
102
  expect(card.getAttachmentType()).toBe('FILE');
103
103
  });
104
-
105
104
  it('Generic partial load', () => {
106
105
  const parent = document.createElement('div');
107
- parent.innerHTML =
108
- '<span class="aZo"><a id=":38" target="_blank" role="link" class="aQy e" data-tooltip-align="t,c" data-tooltip-class="a1V"><span class="a3I" id=":ug">Preview attachment package.json</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":37" style="display:none;"><div id=":30" class="aYv"><img class="aYw" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":v0" class="aYy"><div class="aYA"><img id=":2y" class="aSM" src="https://drive-thirdparty.googleusercontent.com/16/type/application/json"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":2z">package.json</span></div><div class="aYp"><span id=":v2" class="SaH2Ve">1.7 KB</span></div></div></div></div></div><div class="aSI"><div id=":36" class="aSJ" style="border-color: #777"></div></div></div></a><div class="aQw"><div id=":ud" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Download attachment package.json" data-tooltip-class="a1V" aria-disabled="true" data-tooltip="Scanning for viruses..." style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":uc" class="T-I J-J5-Ji aQv T-I-ax7 L3" title="Save to Drive" role="button" aria-label="Save attachment to Drive package.json" data-tooltip-class="a1V" aria-hidden="true" style="-webkit-user-select: none; display: none;"><div class="wtScjd aQu J-J5-Ji aYr"><div class="T-aT4"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":ub" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" data-tooltip="Add to contacts" style="-webkit-user-select: none; display: none;"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
106
+ parent.innerHTML = '<span class="aZo"><a id=":38" target="_blank" role="link" class="aQy e" data-tooltip-align="t,c" data-tooltip-class="a1V"><span class="a3I" id=":ug">Preview attachment package.json</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":37" style="display:none;"><div id=":30" class="aYv"><img class="aYw" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":v0" class="aYy"><div class="aYA"><img id=":2y" class="aSM" src="https://drive-thirdparty.googleusercontent.com/16/type/application/json"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":2z">package.json</span></div><div class="aYp"><span id=":v2" class="SaH2Ve">1.7 KB</span></div></div></div></div></div><div class="aSI"><div id=":36" class="aSJ" style="border-color: #777"></div></div></div></a><div class="aQw"><div id=":ud" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Download attachment package.json" data-tooltip-class="a1V" aria-disabled="true" data-tooltip="Scanning for viruses..." style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":uc" class="T-I J-J5-Ji aQv T-I-ax7 L3" title="Save to Drive" role="button" aria-label="Save attachment to Drive package.json" data-tooltip-class="a1V" aria-hidden="true" style="-webkit-user-select: none; display: none;"><div class="wtScjd aQu J-J5-Ji aYr"><div class="T-aT4"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":ub" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" data-tooltip="Add to contacts" style="-webkit-user-select: none; display: none;"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
109
107
  const item = parent.firstElementChild;
110
- const card = new GmailAttachmentCardView({ element: item }, driver);
108
+ const card = new _gmailAttachmentCardView.default({
109
+ element: item
110
+ }, driver);
111
111
  expect(card.getAttachmentType()).toBe('FILE');
112
112
  });
113
-
114
113
  it('Generic', () => {
115
114
  const parent = document.createElement('div');
116
- parent.innerHTML =
117
- '<span class="aZo N5jrZb" download_url="application/json:package.json:https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d10ce8187dd269&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i95ydr8x0&amp;zw" draggable="true"><a id=":35" target="_blank" role="link" class="aQy e" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":wf">Preview attachment package.json</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":3t" style="display: none;"><div id=":wk" class="aYv"><img class="aYw" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":wg" class="aYy"><div class="aYA"><img id=":wi" class="aSM" src="https://drive-thirdparty.googleusercontent.com/16/type/application/json"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":wj">package.json</span></div><div class="aYp"><span id=":wh" class="SaH2Ve">1.7 KB</span></div></div></div></div></div><div class="aSI"><div id=":wl" class="aSJ" style="border-color: rgb(119, 119, 119);"></div></div></div></a><div class="aQw"><div id=":wc" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Download attachment package.json" data-tooltip-class="a1V" aria-disabled="false" style="-webkit-user-select: none;" tabindex="0" data-tooltip="Download"><div class="aSK J-J5-Ji aYr"></div></div><div id=":wb" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Save attachment to Drive package.json" data-tooltip-class="a1V" aria-hidden="false" style="-webkit-user-select: none;" tabindex="0" data-tooltip="Save to Drive"><div class="wtScjd J-J5-Ji aYr aQu"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":wa" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" style="-webkit-user-select: none; display: none;" data-tooltip="Add to contacts"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
115
+ parent.innerHTML = '<span class="aZo N5jrZb" download_url="application/json:package.json:https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d10ce8187dd269&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i95ydr8x0&amp;zw" draggable="true"><a id=":35" target="_blank" role="link" class="aQy e" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":wf">Preview attachment package.json</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":3t" style="display: none;"><div id=":wk" class="aYv"><img class="aYw" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":wg" class="aYy"><div class="aYA"><img id=":wi" class="aSM" src="https://drive-thirdparty.googleusercontent.com/16/type/application/json"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":wj">package.json</span></div><div class="aYp"><span id=":wh" class="SaH2Ve">1.7 KB</span></div></div></div></div></div><div class="aSI"><div id=":wl" class="aSJ" style="border-color: rgb(119, 119, 119);"></div></div></div></a><div class="aQw"><div id=":wc" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Download attachment package.json" data-tooltip-class="a1V" aria-disabled="false" style="-webkit-user-select: none;" tabindex="0" data-tooltip="Download"><div class="aSK J-J5-Ji aYr"></div></div><div id=":wb" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Save attachment to Drive package.json" data-tooltip-class="a1V" aria-hidden="false" style="-webkit-user-select: none;" tabindex="0" data-tooltip="Save to Drive"><div class="wtScjd J-J5-Ji aYr aQu"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":wa" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" style="-webkit-user-select: none; display: none;" data-tooltip="Add to contacts"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
118
116
  const item = parent.firstElementChild;
119
- const card = new GmailAttachmentCardView({ element: item }, driver);
117
+ const card = new _gmailAttachmentCardView.default({
118
+ element: item
119
+ }, driver);
120
120
  expect(card.getAttachmentType()).toBe('FILE');
121
121
  });
122
-
123
122
  it('Video partial load', () => {
124
123
  const parent = document.createElement('div');
125
- parent.innerHTML =
126
- '<span class="aZo"><a id=":wt" target="_blank" role="link" class="aQy e aZI aZL" data-tooltip-align="t,c" data-tooltip-class="a1V"><span class="a3I" id=":2s">Preview attachment assigned to indicators.mov</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":ws" style="display:none;"><div id=":wq" class="aYv"><img class="aYw aZA" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":12v" class="aYy"><div class="aYA"><img id=":12u" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_video_x16.png" title="Video"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":3g">assigned to indicators.mov</span></div><div class="aYp"><span id=":zc" class="SaH2Ve">2.9 MB</span></div></div></div></div></div><div class="aSI"><div id=":wr" class="aSJ" style="border-color: #db3a37"></div></div></div></a><div class="aQw"><div id=":ym" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Download attachment assigned to indicators.mov" data-tooltip-class="a1V" aria-disabled="true" data-tooltip="Scanning for viruses..." style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":6k" class="T-I J-J5-Ji aQv T-I-ax7 L3" title="Save to Drive" role="button" aria-label="Save attachment to Drive assigned to indicators.mov" data-tooltip-class="a1V" aria-hidden="true" style="-webkit-user-select: none; display: none;"><div class="wtScjd aQu J-J5-Ji aYr"><div class="T-aT4"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":w0" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" data-tooltip="Add to contacts" style="-webkit-user-select: none; display: none;"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
124
+ parent.innerHTML = '<span class="aZo"><a id=":wt" target="_blank" role="link" class="aQy e aZI aZL" data-tooltip-align="t,c" data-tooltip-class="a1V"><span class="a3I" id=":2s">Preview attachment assigned to indicators.mov</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":ws" style="display:none;"><div id=":wq" class="aYv"><img class="aYw aZA" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":12v" class="aYy"><div class="aYA"><img id=":12u" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_video_x16.png" title="Video"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":3g">assigned to indicators.mov</span></div><div class="aYp"><span id=":zc" class="SaH2Ve">2.9 MB</span></div></div></div></div></div><div class="aSI"><div id=":wr" class="aSJ" style="border-color: #db3a37"></div></div></div></a><div class="aQw"><div id=":ym" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Download attachment assigned to indicators.mov" data-tooltip-class="a1V" aria-disabled="true" data-tooltip="Scanning for viruses..." style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":6k" class="T-I J-J5-Ji aQv T-I-ax7 L3" title="Save to Drive" role="button" aria-label="Save attachment to Drive assigned to indicators.mov" data-tooltip-class="a1V" aria-hidden="true" style="-webkit-user-select: none; display: none;"><div class="wtScjd aQu J-J5-Ji aYr"><div class="T-aT4"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":w0" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" data-tooltip="Add to contacts" style="-webkit-user-select: none; display: none;"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
127
125
  const item = parent.firstElementChild;
128
- const card = new GmailAttachmentCardView({ element: item }, driver);
126
+ const card = new _gmailAttachmentCardView.default({
127
+ element: item
128
+ }, driver);
129
129
  expect(card.getAttachmentType()).toBe('FILE');
130
130
  });
131
-
132
131
  it('Video', () => {
133
132
  const parent = document.createElement('div');
134
- parent.innerHTML =
135
- '<span class="aZo N5jrZb a5r" download_url="video/quicktime:assigned%20to%20indicators.mov:https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d11050c673e1b5&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i960ian10&amp;zw" draggable="true"><a id=":3i" target="_blank" role="link" class="aQy aZL e" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":3q">Preview attachment assigned to indicators.mov</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":3j" style="display: none;"><div id=":3l" class="aYv"><img class="aYw aZA" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":3p" class="aYy"><div class="aYA"><img id=":3n" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_video_x16.png" title="Video"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":3m">assigned to indicators.mov</span></div><div class="aYp"><span id=":3o" class="SaH2Ve">2.9 MB</span></div></div></div></div></div><div class="aSI"><div id=":3k" class="aSJ" style="border-color: rgb(219, 58, 55);"></div></div></div></a><div class="aQw"><div id=":3t" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Download attachment assigned to indicators.mov" data-tooltip-class="a1V" style="-webkit-user-select: none;" data-tooltip="Download"><div class="aSK J-J5-Ji aYr"></div></div><div id=":3u" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Save attachment to Drive assigned to indicators.mov" data-tooltip-class="a1V" style="-webkit-user-select: none;" data-tooltip="Save to Drive"><div class="wtScjd J-J5-Ji aYr aQu"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":3v" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" style="-webkit-user-select: none; display: none;" data-tooltip="Add to contacts"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
133
+ parent.innerHTML = '<span class="aZo N5jrZb a5r" download_url="video/quicktime:assigned%20to%20indicators.mov:https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d11050c673e1b5&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i960ian10&amp;zw" draggable="true"><a id=":3i" target="_blank" role="link" class="aQy aZL e" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":3q">Preview attachment assigned to indicators.mov</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":3j" style="display: none;"><div id=":3l" class="aYv"><img class="aYw aZA" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":3p" class="aYy"><div class="aYA"><img id=":3n" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_video_x16.png" title="Video"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":3m">assigned to indicators.mov</span></div><div class="aYp"><span id=":3o" class="SaH2Ve">2.9 MB</span></div></div></div></div></div><div class="aSI"><div id=":3k" class="aSJ" style="border-color: rgb(219, 58, 55);"></div></div></div></a><div class="aQw"><div id=":3t" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Download attachment assigned to indicators.mov" data-tooltip-class="a1V" style="-webkit-user-select: none;" data-tooltip="Download"><div class="aSK J-J5-Ji aYr"></div></div><div id=":3u" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Save attachment to Drive assigned to indicators.mov" data-tooltip-class="a1V" style="-webkit-user-select: none;" data-tooltip="Save to Drive"><div class="wtScjd J-J5-Ji aYr aQu"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":3v" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" style="-webkit-user-select: none; display: none;" data-tooltip="Add to contacts"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
136
134
  const item = parent.firstElementChild;
137
- const card = new GmailAttachmentCardView({ element: item }, driver);
135
+ const card = new _gmailAttachmentCardView.default({
136
+ element: item
137
+ }, driver);
138
138
  expect(card.getAttachmentType()).toBe('FILE');
139
139
  });
140
140
  });
141
- });
141
+ });
@@ -1,34 +1,34 @@
1
- /* @flow */
2
-
3
- import { defn } from 'ud';
4
- import Kefir from 'kefir';
5
- import kefirStopper from 'kefir-stopper';
1
+ "use strict";
6
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _ud = require("ud");
10
+ var _kefir = _interopRequireDefault(require("kefir"));
11
+ var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
7
12
  class GmailBackdrop {
8
- _stopper: Kefir.Observable<null> & { destroy(): void } = kefirStopper();
9
-
10
- constructor(
11
- zIndex: number = 500,
12
- target: HTMLElement = (document.body: any)
13
- ) {
13
+ constructor() {
14
+ let zIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 500;
15
+ let target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.body;
16
+ (0, _defineProperty2.default)(this, "_stopper", (0, _kefirStopper.default)());
14
17
  const el = document.createElement('div');
15
18
  el.className = 'Kj-JD-Jh inboxsdk__modal_overlay';
16
19
  el.style.zIndex = String(zIndex);
17
20
  if (!target) throw new Error('no target');
18
21
  target.appendChild(el);
19
-
20
22
  this._stopper.onValue(() => {
21
23
  el.remove();
22
24
  });
23
25
  }
24
-
25
- getStopper(): Kefir.Observable<null> {
26
+ getStopper() {
26
27
  return this._stopper;
27
28
  }
28
-
29
29
  destroy() {
30
30
  this._stopper.destroy();
31
31
  }
32
32
  }
33
-
34
- export default defn(module, GmailBackdrop);
33
+ var _default = (0, _ud.defn)(module, GmailBackdrop);
34
+ exports.default = _default;