@thednp/shorty 1.0.3 → 2.0.0-alpha10

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 (353) hide show
  1. package/.eslintrc.cjs +224 -0
  2. package/.lgtm.yml +9 -0
  3. package/.prettierrc.json +15 -0
  4. package/README.md +195 -198
  5. package/cypress/e2e/att.cy.ts +46 -0
  6. package/cypress/e2e/boolean.cy.ts +44 -0
  7. package/cypress/e2e/class.cy.ts +28 -0
  8. package/cypress/e2e/event.cy.ts +51 -0
  9. package/cypress/e2e/get.cy.ts +168 -0
  10. package/cypress/e2e/is.cy.ts +233 -0
  11. package/cypress/e2e/misc.cy.ts +331 -0
  12. package/cypress/e2e/selectors.cy.ts +85 -0
  13. package/cypress/fixtures/custom-elem.js +18 -0
  14. package/cypress/plugins/esbuild-istanbul.ts +50 -0
  15. package/cypress/plugins/tsCompile.ts +34 -0
  16. package/cypress/support/commands.ts +37 -0
  17. package/cypress/support/e2e.ts +21 -0
  18. package/cypress/support/index.js +22 -0
  19. package/cypress/test.html +63 -0
  20. package/cypress.config.ts +30 -0
  21. package/dist/shorty.cjs +2 -0
  22. package/dist/shorty.cjs.map +1 -0
  23. package/dist/shorty.d.ts +1502 -0
  24. package/dist/shorty.js +2 -2628
  25. package/dist/shorty.js.map +1 -0
  26. package/dist/shorty.mjs +552 -0
  27. package/dist/shorty.mjs.map +1 -0
  28. package/dts.config.ts +22 -0
  29. package/package.json +33 -38
  30. package/src/attr/getAttribute.ts +11 -0
  31. package/src/attr/getAttributeNS.ts +12 -0
  32. package/src/attr/hasAttribute.ts +10 -0
  33. package/src/attr/hasAttributeNS.ts +12 -0
  34. package/src/attr/removeAttribute.ts +9 -0
  35. package/src/attr/removeAttributeNS.ts +11 -0
  36. package/src/attr/setAttribute.ts +11 -0
  37. package/src/attr/setAttributeNS.ts +12 -0
  38. package/src/blocks/{documentBody.js → documentBody.ts} +0 -0
  39. package/src/blocks/{documentElement.js → documentElement.ts} +0 -0
  40. package/src/blocks/{documentHead.js → documentHead.ts} +0 -0
  41. package/src/boolean/isApple.ts +14 -0
  42. package/src/boolean/{isFirefox.js → isFirefox.ts} +2 -3
  43. package/src/boolean/{isMobile.js → isMobile.ts} +1 -2
  44. package/src/boolean/support3DTransform.ts +8 -0
  45. package/src/boolean/supportAnimation.ts +8 -0
  46. package/src/boolean/{supportPassive.js → supportPassive.ts} +3 -3
  47. package/src/boolean/supportTouch.ts +7 -0
  48. package/src/boolean/supportTransform.ts +8 -0
  49. package/src/boolean/supportTransition.ts +8 -0
  50. package/src/class/addClass.ts +11 -0
  51. package/src/class/hasClass.ts +11 -0
  52. package/src/class/removeClass.ts +11 -0
  53. package/src/event/off.ts +14 -0
  54. package/src/event/on.ts +14 -0
  55. package/src/event/one.ts +25 -0
  56. package/src/get/{getBoundingClientRect.js → getBoundingClientRect.ts} +14 -12
  57. package/src/get/{getDocument.js → getDocument.ts} +11 -7
  58. package/src/get/getDocumentBody.ts +13 -0
  59. package/src/get/getDocumentElement.ts +13 -0
  60. package/src/get/getDocumentHead.ts +12 -0
  61. package/src/get/{getElementAnimationDelay.js → getElementAnimationDelay.ts} +10 -9
  62. package/src/get/{getElementAnimationDuration.js → getElementAnimationDuration.ts} +10 -8
  63. package/src/get/getElementStyle.ts +25 -0
  64. package/src/get/{getElementTransitionDelay.js → getElementTransitionDelay.ts} +12 -8
  65. package/src/get/{getElementTransitionDuration.js → getElementTransitionDuration.ts} +12 -8
  66. package/src/get/{getNodeScroll.js → getNodeScroll.ts} +9 -5
  67. package/src/get/{getParentNode.js → getParentNode.ts} +11 -6
  68. package/src/get/{getRectRelativeToOffsetParent.js → getRectRelativeToOffsetParent.ts} +15 -7
  69. package/src/get/getUID.ts +42 -0
  70. package/src/get/{getWindow.js → getWindow.ts} +9 -6
  71. package/src/{index.js → index.ts} +37 -43
  72. package/src/interface/boundingClientRect.d.ts +10 -0
  73. package/src/interface/css4Declaration.d.ts +4 -0
  74. package/src/interface/customElement.d.ts +8 -0
  75. package/src/interface/navigatorUA.d.ts +15 -0
  76. package/src/interface/offsetRect.d.ts +6 -0
  77. package/src/interface/originalEvent.d.ts +4 -0
  78. package/src/is/isArray.ts +9 -0
  79. package/src/is/isCanvas.ts +13 -0
  80. package/src/is/isCustomElement.ts +13 -0
  81. package/src/is/isDocument.ts +13 -0
  82. package/src/is/{isElement.js → isElement.ts} +10 -5
  83. package/src/is/{isElementInScrollRange.js → isElementInScrollRange.ts} +4 -4
  84. package/src/is/{isElementInViewport.js → isElementInViewport.ts} +6 -12
  85. package/src/is/isElementsArray.ts +13 -0
  86. package/src/is/isFunction.ts +10 -0
  87. package/src/is/isHTMLCollection.ts +12 -0
  88. package/src/is/isHTMLElement.ts +13 -0
  89. package/src/is/isHTMLImageElement.ts +12 -0
  90. package/src/is/isJSON.ts +20 -0
  91. package/src/is/isMap.ts +11 -0
  92. package/src/is/isMedia.ts +20 -0
  93. package/src/is/isNode.ts +17 -0
  94. package/src/is/isNodeList.ts +13 -0
  95. package/src/is/isNumber.ts +9 -0
  96. package/src/is/isObject.ts +10 -0
  97. package/src/is/isRTL.ts +11 -0
  98. package/src/is/isSVGElement.ts +13 -0
  99. package/src/is/{isScaledElement.js → isScaledElement.ts} +9 -7
  100. package/src/is/isShadowRoot.ts +12 -0
  101. package/src/is/isString.ts +9 -0
  102. package/src/is/isTableElement.ts +14 -0
  103. package/src/is/isWeakMap.ts +11 -0
  104. package/src/is/isWindow.ts +13 -0
  105. package/src/misc/ArrayFrom.ts +11 -0
  106. package/src/misc/Float32ArrayFrom.ts +10 -0
  107. package/src/misc/Float64ArrayFrom.ts +10 -0
  108. package/src/misc/ObjectAssign.ts +43 -0
  109. package/src/misc/ObjectEntries.ts +11 -0
  110. package/src/misc/ObjectHasOwn.ts +17 -0
  111. package/src/misc/ObjectKeys.ts +10 -0
  112. package/src/misc/ObjectValues.ts +11 -0
  113. package/src/misc/createCustomEvent.ts +28 -0
  114. package/src/misc/createElement.ts +40 -0
  115. package/src/misc/createElementNS.ts +45 -0
  116. package/src/misc/data.ts +82 -0
  117. package/src/misc/dispatchEvent.ts +9 -0
  118. package/src/misc/distinct.ts +18 -0
  119. package/src/misc/{emulateAnimationEnd.js → emulateAnimationEnd.ts} +8 -9
  120. package/src/misc/{emulateTransitionEnd.js → emulateTransitionEnd.ts} +8 -9
  121. package/src/misc/focus.ts +9 -0
  122. package/src/misc/getInstance.ts +9 -0
  123. package/src/misc/{noop.js → noop.ts} +4 -1
  124. package/src/misc/normalizeOptions.ts +55 -0
  125. package/src/misc/normalizeValue.ts +30 -0
  126. package/src/misc/{passiveHandler.js → passiveHandler.ts} +1 -2
  127. package/src/misc/reflow.ts +9 -0
  128. package/src/misc/setElementStyle.ts +23 -0
  129. package/src/misc/timer.ts +84 -0
  130. package/src/misc/toLowerCase.ts +9 -0
  131. package/src/misc/toUpperCase.ts +9 -0
  132. package/src/selectors/closest.ts +20 -0
  133. package/src/selectors/{getCustomElements.js → getCustomElements.ts} +8 -4
  134. package/src/selectors/getElementById.ts +16 -0
  135. package/src/selectors/getElementsByClassName.ts +22 -0
  136. package/src/selectors/getElementsByTagName.ts +20 -0
  137. package/src/selectors/matches.ts +10 -0
  138. package/src/selectors/querySelector.ts +22 -0
  139. package/src/selectors/{querySelectorAll.js → querySelectorAll.ts} +7 -5
  140. package/src/strings/{DOMContentLoadedEvent.js → DOMContentLoadedEvent.ts} +0 -1
  141. package/src/strings/{DOMMouseScrollEvent.js → DOMMouseScrollEvent.ts} +0 -1
  142. package/src/strings/{abortEvent.js → abortEvent.ts} +0 -1
  143. package/src/strings/{addEventListener.js → addEventListener.ts} +0 -1
  144. package/src/strings/{animationDelay.js → animationDelay.ts} +0 -1
  145. package/src/strings/{animationDuration.js → animationDuration.ts} +0 -1
  146. package/src/strings/{animationEndEvent.js → animationEndEvent.ts} +0 -1
  147. package/src/strings/{animationName.js → animationName.ts} +0 -1
  148. package/src/strings/{ariaChecked.js → ariaChecked.ts} +0 -1
  149. package/src/strings/{ariaDescribedBy.js → ariaDescribedBy.ts} +0 -1
  150. package/src/strings/{ariaDescription.js → ariaDescription.ts} +0 -1
  151. package/src/strings/{ariaExpanded.js → ariaExpanded.ts} +0 -1
  152. package/src/strings/{ariaHasPopup.js → ariaHasPopup.ts} +0 -1
  153. package/src/strings/{ariaHidden.js → ariaHidden.ts} +0 -1
  154. package/src/strings/{ariaLabel.js → ariaLabel.ts} +0 -1
  155. package/src/strings/{ariaLabelledBy.js → ariaLabelledBy.ts} +0 -1
  156. package/src/strings/{ariaModal.js → ariaModal.ts} +0 -1
  157. package/src/strings/{ariaPressed.js → ariaPressed.ts} +0 -1
  158. package/src/strings/{ariaSelected.js → ariaSelected.ts} +0 -1
  159. package/src/strings/{ariaValueMax.js → ariaValueMax.ts} +0 -1
  160. package/src/strings/{ariaValueMin.js → ariaValueMin.ts} +0 -1
  161. package/src/strings/{ariaValueNow.js → ariaValueNow.ts} +0 -1
  162. package/src/strings/{ariaValueText.js → ariaValueText.ts} +0 -1
  163. package/src/strings/{beforeunloadEvent.js → beforeunloadEvent.ts} +0 -1
  164. package/src/strings/{bezierEasings.js → bezierEasings.ts} +0 -1
  165. package/src/strings/{blurEvent.js → blurEvent.ts} +0 -1
  166. package/src/strings/{changeEvent.js → changeEvent.ts} +0 -1
  167. package/src/strings/{contextmenuEvent.js → contextmenuEvent.ts} +0 -1
  168. package/src/strings/dragEvent.ts +5 -0
  169. package/src/strings/dragendEvent.ts +5 -0
  170. package/src/strings/dragenterEvent.ts +5 -0
  171. package/src/strings/dragleaveEvent.ts +5 -0
  172. package/src/strings/dragoverEvent.ts +5 -0
  173. package/src/strings/dragstartEvent.ts +5 -0
  174. package/src/strings/{errorEvent.js → errorEvent.ts} +0 -1
  175. package/src/strings/{focusEvent.js → focusEvent.ts} +0 -1
  176. package/src/strings/{focusEvents.js → focusEvents.ts} +0 -1
  177. package/src/strings/{focusinEvent.js → focusinEvent.ts} +0 -1
  178. package/src/strings/{focusoutEvent.js → focusoutEvent.ts} +0 -1
  179. package/src/strings/{gesturechangeEvent.js → gesturechangeEvent.ts} +0 -1
  180. package/src/strings/{gestureendEvent.js → gestureendEvent.ts} +0 -1
  181. package/src/strings/{gesturestartEvent.js → gesturestartEvent.ts} +0 -1
  182. package/src/strings/{keyAlt.js → keyAlt.ts} +1 -1
  183. package/src/strings/{keyArrowDown.js → keyArrowDown.ts} +1 -1
  184. package/src/strings/{keyArrowLeft.js → keyArrowLeft.ts} +1 -1
  185. package/src/strings/{keyArrowRight.js → keyArrowRight.ts} +1 -1
  186. package/src/strings/{keyArrowUp.js → keyArrowUp.ts} +1 -1
  187. package/src/strings/{keyBackspace.js → keyBackspace.ts} +1 -1
  188. package/src/strings/{keyCapsLock.js → keyCapsLock.ts} +1 -1
  189. package/src/strings/{keyControl.js → keyControl.ts} +1 -1
  190. package/src/strings/{keyDelete.js → keyDelete.ts} +1 -1
  191. package/src/strings/{keyEnter.js → keyEnter.ts} +1 -1
  192. package/src/strings/{keyEscape.js → keyEscape.ts} +1 -1
  193. package/src/strings/{keyInsert.js → keyInsert.ts} +1 -1
  194. package/src/strings/{keyMeta.js → keyMeta.ts} +1 -1
  195. package/src/strings/{keyPause.js → keyPause.ts} +1 -1
  196. package/src/strings/{keyScrollLock.js → keyScrollLock.ts} +1 -1
  197. package/src/strings/{keyShift.js → keyShift.ts} +1 -1
  198. package/src/strings/{keySpace.js → keySpace.ts} +1 -1
  199. package/src/strings/{keyTab.js → keyTab.ts} +1 -1
  200. package/src/strings/{keyboardEventKeys.js → keyboardEventKeys.ts} +0 -1
  201. package/src/strings/{keydownEvent.js → keydownEvent.ts} +0 -1
  202. package/src/strings/{keypressEvent.js → keypressEvent.ts} +0 -1
  203. package/src/strings/{keyupEvent.js → keyupEvent.ts} +0 -1
  204. package/src/strings/{loadEvent.js → loadEvent.ts} +0 -1
  205. package/src/strings/{loadstartEvent.js → loadstartEvent.ts} +0 -1
  206. package/src/strings/{mouseClickEvents.js → mouseClickEvents.ts} +0 -1
  207. package/src/strings/mouseHoverEvents.ts +8 -0
  208. package/src/strings/{mouseSwipeEvents.js → mouseSwipeEvents.ts} +4 -2
  209. package/src/strings/{mouseclickEvent.js → mouseclickEvent.ts} +0 -1
  210. package/src/strings/{mousedblclickEvent.js → mousedblclickEvent.ts} +0 -1
  211. package/src/strings/{mousedownEvent.js → mousedownEvent.ts} +0 -1
  212. package/src/strings/{mouseenterEvent.js → mouseenterEvent.ts} +0 -1
  213. package/src/strings/{mousehoverEvent.js → mousehoverEvent.ts} +0 -1
  214. package/src/strings/{mouseinEvent.js → mouseinEvent.ts} +0 -1
  215. package/src/strings/{mouseleaveEvent.js → mouseleaveEvent.ts} +0 -1
  216. package/src/strings/{mousemoveEvent.js → mousemoveEvent.ts} +0 -1
  217. package/src/strings/{mouseoutEvent.js → mouseoutEvent.ts} +0 -1
  218. package/src/strings/{mouseoverEvent.js → mouseoverEvent.ts} +0 -1
  219. package/src/strings/{mouseupEvent.js → mouseupEvent.ts} +0 -1
  220. package/src/strings/{mousewheelEvent.js → mousewheelEvent.ts} +0 -1
  221. package/src/strings/{moveEvent.js → moveEvent.ts} +0 -1
  222. package/src/strings/{nativeEvents.js → nativeEvents.ts} +0 -0
  223. package/src/strings/{offsetHeight.js → offsetHeight.ts} +0 -1
  224. package/src/strings/{offsetWidth.js → offsetWidth.ts} +0 -1
  225. package/src/strings/{orientationchangeEvent.js → orientationchangeEvent.ts} +0 -1
  226. package/src/strings/{pointercancelEvent.js → pointercancelEvent.ts} +0 -1
  227. package/src/strings/{pointerdownEvent.js → pointerdownEvent.ts} +0 -1
  228. package/src/strings/{pointerleaveEvent.js → pointerleaveEvent.ts} +0 -1
  229. package/src/strings/{pointermoveEvent.js → pointermoveEvent.ts} +0 -1
  230. package/src/strings/{pointerupEvent.js → pointerupEvent.ts} +0 -1
  231. package/src/strings/{readystatechangeEvent.js → readystatechangeEvent.ts} +0 -1
  232. package/src/strings/{removeEventListener.js → removeEventListener.ts} +0 -1
  233. package/src/strings/{resetEvent.js → resetEvent.ts} +0 -1
  234. package/src/strings/{resizeEvent.js → resizeEvent.ts} +0 -1
  235. package/src/strings/{scrollEvent.js → scrollEvent.ts} +0 -1
  236. package/src/strings/{scrollHeight.js → scrollHeight.ts} +0 -1
  237. package/src/strings/{scrollWidth.js → scrollWidth.ts} +0 -1
  238. package/src/strings/{selectEvent.js → selectEvent.ts} +0 -1
  239. package/src/strings/{selectendEvent.js → selectendEvent.ts} +0 -1
  240. package/src/strings/{selectstartEvent.js → selectstartEvent.ts} +0 -1
  241. package/src/strings/{submitEvent.js → submitEvent.ts} +0 -1
  242. package/src/strings/tabindex.ts +5 -0
  243. package/src/strings/touchEvents.ts +10 -0
  244. package/src/strings/{touchcancelEvent.js → touchcancelEvent.ts} +0 -1
  245. package/src/strings/{touchendEvent.js → touchendEvent.ts} +0 -1
  246. package/src/strings/{touchmoveEvent.js → touchmoveEvent.ts} +0 -1
  247. package/src/strings/{touchstartEvent.js → touchstartEvent.ts} +0 -1
  248. package/src/strings/{transitionDelay.js → transitionDelay.ts} +0 -1
  249. package/src/strings/{transitionDuration.js → transitionDuration.ts} +0 -1
  250. package/src/strings/{transitionEndEvent.js → transitionEndEvent.ts} +0 -1
  251. package/src/strings/{transitionProperty.js → transitionProperty.ts} +0 -2
  252. package/src/strings/{unloadEvent.js → unloadEvent.ts} +0 -1
  253. package/src/strings/{userAgent.js → userAgent.ts} +0 -0
  254. package/src/strings/userAgentData.ts +9 -0
  255. package/tsconfig.json +30 -0
  256. package/vite.config.ts +30 -0
  257. package/dist/shorty.esm.js +0 -2599
  258. package/dist/shorty.esm.min.js +0 -2
  259. package/dist/shorty.min.js +0 -2
  260. package/src/attr/getAttribute.js +0 -9
  261. package/src/attr/getAttributeNS.js +0 -10
  262. package/src/attr/hasAttribute.js +0 -9
  263. package/src/attr/hasAttributeNS.js +0 -10
  264. package/src/attr/removeAttribute.js +0 -9
  265. package/src/attr/removeAttributeNS.js +0 -10
  266. package/src/attr/setAttribute.js +0 -10
  267. package/src/attr/setAttributeNS.js +0 -11
  268. package/src/boolean/isApple.js +0 -13
  269. package/src/boolean/support3DTransform.js +0 -9
  270. package/src/boolean/supportAnimation.js +0 -9
  271. package/src/boolean/supportTouch.js +0 -7
  272. package/src/boolean/supportTransform.js +0 -9
  273. package/src/boolean/supportTransition.js +0 -9
  274. package/src/class/addClass.js +0 -10
  275. package/src/class/hasClass.js +0 -10
  276. package/src/class/removeClass.js +0 -10
  277. package/src/event/off.js +0 -9
  278. package/src/event/on.js +0 -9
  279. package/src/event/one.js +0 -23
  280. package/src/get/getDocumentBody.js +0 -10
  281. package/src/get/getDocumentElement.js +0 -11
  282. package/src/get/getDocumentHead.js +0 -10
  283. package/src/get/getElementAnimationDelayLegacy.js +0 -21
  284. package/src/get/getElementAnimationDurationLegacy.js +0 -21
  285. package/src/get/getElementStyle.js +0 -20
  286. package/src/get/getElementTransitionDelayLegacy.js +0 -21
  287. package/src/get/getElementTransitionDurationLegacy.js +0 -21
  288. package/src/get/getUID.js +0 -34
  289. package/src/is/isArray.js +0 -8
  290. package/src/is/isCustomElement.js +0 -8
  291. package/src/is/isDocument.js +0 -10
  292. package/src/is/isElementsArray.js +0 -12
  293. package/src/is/isFunction.js +0 -8
  294. package/src/is/isHTMLCollection.js +0 -8
  295. package/src/is/isHTMLElement.js +0 -9
  296. package/src/is/isHTMLImageElement.js +0 -8
  297. package/src/is/isMedia.js +0 -14
  298. package/src/is/isNode.js +0 -9
  299. package/src/is/isNodeList.js +0 -9
  300. package/src/is/isNumber.js +0 -8
  301. package/src/is/isObject.js +0 -8
  302. package/src/is/isRTL.js +0 -9
  303. package/src/is/isSVGElement.js +0 -11
  304. package/src/is/isShadowRoot.js +0 -9
  305. package/src/is/isString.js +0 -8
  306. package/src/is/isTableElement.js +0 -11
  307. package/src/is/isWindow.js +0 -9
  308. package/src/misc/ArrayFrom.js +0 -8
  309. package/src/misc/Float32ArrayFrom.js +0 -7
  310. package/src/misc/Float64ArrayFrom.js +0 -7
  311. package/src/misc/ObjectAssign.js +0 -7
  312. package/src/misc/ObjectEntries.js +0 -7
  313. package/src/misc/ObjectKeys.js +0 -7
  314. package/src/misc/ObjectValues.js +0 -7
  315. package/src/misc/OriginalEvent.js +0 -20
  316. package/src/misc/createElement.js +0 -27
  317. package/src/misc/createElementNS.js +0 -30
  318. package/src/misc/data.js +0 -78
  319. package/src/misc/dispatchEvent.js +0 -8
  320. package/src/misc/distinct.js +0 -10
  321. package/src/misc/emulateAnimationEndLegacy.js +0 -41
  322. package/src/misc/emulateTransitionEndLegacy.js +0 -41
  323. package/src/misc/focus.js +0 -7
  324. package/src/misc/normalizeOptions.js +0 -49
  325. package/src/misc/normalizeValue.js +0 -34
  326. package/src/misc/passiveHandlerLegacy.js +0 -10
  327. package/src/misc/reflow.js +0 -8
  328. package/src/misc/setElementStyle.js +0 -19
  329. package/src/misc/timer.js +0 -75
  330. package/src/misc/toLowerCase.js +0 -8
  331. package/src/misc/toUpperCase.js +0 -8
  332. package/src/misc/version.js +0 -8
  333. package/src/selectors/closest.js +0 -16
  334. package/src/selectors/getElementById.js +0 -14
  335. package/src/selectors/getElementsByClassName.js +0 -15
  336. package/src/selectors/getElementsByTagName.js +0 -15
  337. package/src/selectors/matches.js +0 -10
  338. package/src/selectors/matchesLegacy.js +0 -23
  339. package/src/selectors/querySelector.js +0 -19
  340. package/src/strings/animationDelayLegacy.js +0 -9
  341. package/src/strings/animationDurationLegacy.js +0 -9
  342. package/src/strings/animationEndEventLegacy.js +0 -9
  343. package/src/strings/animationNameLegacy.js +0 -9
  344. package/src/strings/mouseHoverEvents.js +0 -7
  345. package/src/strings/touchEvents.js +0 -8
  346. package/src/strings/transitionDelayLegacy.js +0 -9
  347. package/src/strings/transitionDurationLegacy.js +0 -9
  348. package/src/strings/transitionEndEventLegacy.js +0 -9
  349. package/src/strings/transitionPropertyLegacy.js +0 -12
  350. package/src/strings/userAgentData.js +0 -7
  351. package/types/index.d.ts +0 -257
  352. package/types/module/shorty.ts +0 -248
  353. package/types/shorty.d.ts +0 -2316
@@ -0,0 +1,44 @@
1
+ /// <reference types="cypress" />
2
+ // @ts-nocheck
3
+
4
+ // import SHORTY from '../../src/index';
5
+ import * as SHORTY from '../../src/index';
6
+
7
+ describe('Shorty Library Tests', () => {
8
+ before(() => {
9
+ cy.visit('cypress/test.html');
10
+ });
11
+
12
+ it('Test boolean folder', () => {
13
+ const {
14
+ // these are impossible to test 100% of the branches
15
+ isApple,
16
+ isMobile,
17
+ isFirefox,
18
+ support3DTransform,
19
+ supportAnimation,
20
+ supportPassive,
21
+ supportTouch,
22
+ supportTransform,
23
+ supportTransition,
24
+ // querySelectorAll, getWindow
25
+ } = SHORTY;
26
+ cy
27
+ .window()
28
+ .then(() => {
29
+ expect(isApple, 'isApple').to.be.false;
30
+ expect(isMobile, 'isMobile').to.be.false;
31
+ if (Cypress.isBrowser('firefox')) {
32
+ expect(isFirefox, 'isFirefox').to.be.true;
33
+ } else {
34
+ expect(isFirefox, 'isFirefox').to.be.false;
35
+ }
36
+ expect(support3DTransform, 'support3DTransform').to.be.true;
37
+ expect(supportAnimation, 'supportAnimation').to.be.true;
38
+ expect(supportPassive, 'supportPassive').to.be.true;
39
+ expect(supportTouch, 'supportTouch').to.be.false;
40
+ expect(supportTransform, 'supportTransform').to.be.true;
41
+ expect(supportTransition, 'supportTransition').to.be.true;
42
+ });
43
+ });
44
+ });
@@ -0,0 +1,28 @@
1
+ /// <reference types="cypress" />
2
+ // @ts-nocheck
3
+
4
+ // import SHORTY from '../../src/index';
5
+ import * as SHORTY from '../../src/index';
6
+
7
+ describe('Shorty Library Tests', () => {
8
+ before(() => {
9
+ cy.visit('cypress/test.html');
10
+ });
11
+
12
+ it('Test class folder', () => {
13
+ const { addClass, hasClass, removeClass } = SHORTY;
14
+ cy
15
+ .get('.alert')
16
+ .then($alert => {
17
+ const alert = $alert[0];
18
+
19
+ addClass(alert, 'to-be-removed');
20
+ expect(hasClass(alert, 'to-be-removed')).to.be.true;
21
+ removeClass(alert, 'show');
22
+ expect(hasClass(alert, 'show')).to.be.false;
23
+ })
24
+ .wait(200)
25
+ .get('.alert')
26
+ .should('be.hidden');
27
+ });
28
+ });
@@ -0,0 +1,51 @@
1
+ /// <reference types="cypress" />
2
+ // @ts-nocheck
3
+
4
+ // import SHORTY from '../../src/index';
5
+ import * as SHORTY from '../../src/index';
6
+
7
+ describe('Shorty Library Tests', () => {
8
+ before(() => {
9
+ cy.visit('cypress/test.html');
10
+ });
11
+
12
+ it('Test event folder', () => {
13
+ const {
14
+ // on, off are called by one
15
+ one,
16
+ getElementsByClassName,
17
+ } = SHORTY;
18
+
19
+ cy
20
+ .get('.alert')
21
+ .should(($alert) => {
22
+
23
+ if ($alert[0]){
24
+ const [el] = $alert;
25
+ const [btn] = getElementsByClassName('btn-close', el);
26
+ const doc = btn.ownerDocument;
27
+ console.log(doc, btn)
28
+
29
+ one(el, 'click', function handle(e) {
30
+ const message = doc.createElement('p');
31
+ message.innerText += 'click fired for ' + (e.currentTarget as HTMLElement).tagName;
32
+ el.append(message);
33
+ // console.log(e.target, e.currentTarget);
34
+ });
35
+
36
+ one(btn, 'click', function handle(e) {
37
+ const message = doc.createElement('p');
38
+ message.innerText = 'click fired for ' + (e.target as HTMLElement).tagName;
39
+ el.append(message);
40
+ });
41
+ }
42
+ })
43
+ .get('.btn-close')
44
+ .click({ force: true })
45
+ .should(btn => {
46
+ expect(btn[0], 'event target').be.equal((btn[0].ownerDocument as Document).activeElement);
47
+ })
48
+ .get('.alert')
49
+ .should('contain', 'click fired for BUTTON');
50
+ });
51
+ });
@@ -0,0 +1,168 @@
1
+ /// <reference types="cypress" />
2
+ // @ts-nocheck
3
+
4
+ // import SHORTY from '../../src/index';
5
+ import * as SHORTY from '../../src/index';
6
+
7
+ import CustomElem from '../fixtures/custom-elem';
8
+
9
+ describe('Shorty Library Tests', () => {
10
+ before(() => {
11
+ cy.visit('cypress/test.html');
12
+ });
13
+
14
+ it('Test get folder', () => {
15
+ const {
16
+ getBoundingClientRect,
17
+ getDocument,
18
+ getDocumentBody,
19
+ getDocumentElement,
20
+ getDocumentHead,
21
+ getElementAnimationDelay,
22
+ getElementAnimationDuration,
23
+ getElementTransitionDelay,
24
+ getElementTransitionDuration,
25
+ getElementStyle,
26
+ getNodeScroll,
27
+ getParentNode,
28
+ getRectRelativeToOffsetParent,
29
+ getUID,
30
+ getWindow,
31
+ ObjectValues,
32
+ } = SHORTY;
33
+
34
+ cy
35
+ .get('.alert')
36
+ .should($element => {
37
+ const element = $element[0];
38
+ element.style.transform = 'scale(1.01)';
39
+ const win = getWindow(element);
40
+ const CE = new CustomElem();
41
+ CE.className = 'btn btn-outline-primary';
42
+ win.document.body.append(CE);
43
+
44
+ // we round values so all browsers return same values
45
+ let { x, y, top, left, right, bottom, width, height } = getBoundingClientRect(
46
+ element,
47
+ true,
48
+ );
49
+ expect(
50
+ ObjectValues([x, y, top, left, right, bottom, width, height]).map(Math.round),
51
+ 'getBoundingClientRect',
52
+ ).to.deep.equal([63, 87, 87, 63, 927, 204, 864, 117]);
53
+ element.style.transform = '';
54
+
55
+ expect(getWindow(), 'getWindow').to.be.instanceOf(Window); // root WINDOW
56
+ expect(getWindow(element.ownerDocument), 'getWindow(document)').to.be.instanceOf(
57
+ win.Window,
58
+ );
59
+ expect(getWindow(CE), 'getWindow(CustomElement)').to.be.instanceOf(win.Window);
60
+ expect(getWindow(CE.shadowRoot), 'getWindow(CustomElement.shadowRoot)').to.be.instanceOf(
61
+ win.Window,
62
+ );
63
+ expect(getWindow(win.top), 'getWindow(window)').to.be.instanceOf(win.top.Window);
64
+
65
+ expect(getDocument(), 'getDocument()').to.be.instanceOf(Document);
66
+ expect(getDocument(element), 'getDocument(node)').to.be.instanceOf(win.Document);
67
+ expect(getDocument(win.document), 'getDocument(document)').to.be.instanceOf(win.Document);
68
+ expect(getDocument(win), 'getDocument(window)').to.be.instanceOf(win.Document);
69
+
70
+ expect(getDocumentBody(element), 'getDocumentBody').to.be.instanceOf(win.HTMLBodyElement);
71
+ expect(getDocumentElement(element), 'getDocumentElement').to.be.instanceOf(
72
+ win.HTMLHtmlElement,
73
+ );
74
+ expect(getDocumentHead(element), 'getDocumentHead').to.be.instanceOf(win.HTMLHeadElement);
75
+
76
+ expect(getElementAnimationDelay(element), 'getElementAnimationDelay').to.equal(0);
77
+
78
+ expect(getElementAnimationDuration(element), 'getElementAnimationDuration').to.equal(0);
79
+
80
+ CE.style.animation = 'animate-me 1s ease 0.5s';
81
+ expect(getElementAnimationDelay(CE), 'getElementAnimationDelay - seconds').to.equal(500);
82
+
83
+ expect(getElementAnimationDuration(CE), 'getElementAnimationDuration - seconds').to.equal(
84
+ 1000,
85
+ );
86
+
87
+ CE.style.animation = 'animate-me 1200ms ease 400ms';
88
+ expect(getElementAnimationDelay(CE), 'getElementAnimationDelay - miliseconds').to.equal(
89
+ 400,
90
+ );
91
+
92
+ expect(
93
+ getElementAnimationDuration(CE),
94
+ 'getElementAnimationDuration - miliseconds',
95
+ ).to.equal(1200);
96
+
97
+ element.style.transition = 'opacity .145s linear .1s';
98
+ expect(getElementTransitionDelay(element), 'getElementTransitionDelay - seconds').to.equal(
99
+ 100,
100
+ );
101
+ expect(
102
+ getElementTransitionDuration(element),
103
+ 'getElementTransitionDuration - seconds',
104
+ ).to.equal(145);
105
+
106
+ element.style.transition = 'opacity 140ms linear 10ms';
107
+ expect(
108
+ getElementTransitionDelay(element),
109
+ 'getElementTransitionDelay- miliseconds',
110
+ ).to.equal(10);
111
+
112
+ expect(
113
+ getElementTransitionDuration(element),
114
+ 'getElementTransitionDuration- miliseconds',
115
+ ).to.equal(140);
116
+
117
+ element.style.transition = '';
118
+
119
+ expect(getElementStyle(element, 'color'), 'getElementStyle(color)').to.equal(
120
+ 'rgb(102, 77, 3)',
121
+ );
122
+
123
+ expect(getNodeScroll(win), 'getNodeScroll(window)').to.deep.equal({ x: 0, y: 0 });
124
+ expect(getNodeScroll(element), 'getNodeScroll(element)').to.deep.equal({ x: 0, y: 0 });
125
+ expect(
126
+ getNodeScroll(element.offsetParent as HTMLElement),
127
+ 'getNodeScroll(element.offsetParent)',
128
+ ).to.deep.equal({ x: 0, y: 0 });
129
+ expect(getNodeScroll(getDocumentBody(element)), 'getNodeScroll(body)').to.deep.equal({
130
+ x: 0,
131
+ y: 0,
132
+ });
133
+
134
+ expect(getParentNode(getDocumentElement()), 'getParentNode()').to.be.instanceOf(
135
+ HTMLHtmlElement,
136
+ ); // root HTML
137
+ expect(getParentNode(win), 'getParentNode(window)').to.be.instanceOf(win.HTMLHtmlElement);
138
+ expect(getParentNode(getDocumentBody(element)), 'getParentNode(body)').to.be.instanceOf(
139
+ win.HTMLHtmlElement,
140
+ );
141
+ expect(getParentNode(element), 'getParentNode(node)').to.have.class('container');
142
+ expect(getParentNode(CE), 'getParentNode(CustomElement)').to.be.instanceOf(
143
+ win.HTMLBodyElement,
144
+ );
145
+ expect(
146
+ getParentNode(CE.shadowRoot),
147
+ 'getParentNode(CustomElement.shadowRoot)',
148
+ ).to.be.instanceOf(CustomElem);
149
+
150
+ ({ x, y, width, height } = getRectRelativeToOffsetParent(
151
+ element,
152
+ getDocumentElement(win),
153
+ getNodeScroll(getDocumentElement(win)),
154
+ ));
155
+
156
+ expect(
157
+ [x, y, width, height].map(Math.round),
158
+ 'getRectRelativeToOffsetParent',
159
+ ).to.deep.equal([68, 88, 864, 117]);
160
+
161
+ expect(getUID(element), 'getUID()').to.eq(0);
162
+ expect(getUID(element, 'Alert'), 'getUID(key) - set & returns').to.eq(0);
163
+ expect(getUID(element, 'Alert'), 'getUID(key) - returns').to.eq(0);
164
+ expect(getUID(win, 'Alert'), 'getUID(key) - set & returns').to.eq(1);
165
+ expect(getUID(win, 'Alert'), 'getUID(key) - returns').to.eq(1);
166
+ });
167
+ });
168
+ });
@@ -0,0 +1,233 @@
1
+ /// <reference types="cypress" />
2
+ // @ts-nocheck
3
+
4
+ // import SHORTY from '../../src/index';
5
+ import * as SHORTY from '../../src/index';
6
+
7
+ import CustomElem from '../fixtures/custom-elem';
8
+
9
+ describe('Shorty Library Tests', () => {
10
+ before(() => {
11
+ cy.visit('cypress/test.html');
12
+ });
13
+
14
+ it('Test is folder', () => {
15
+ const {
16
+ isArray,
17
+ isCustomElement,
18
+ isDocument,
19
+ isElement,
20
+ isElementInScrollRange,
21
+ isElementInViewport,
22
+ isElementsArray,
23
+ isCanvas,
24
+ isFunction,
25
+ isHTMLCollection,
26
+ isHTMLElement,
27
+ isHTMLImageElement,
28
+ isJSON,
29
+ isMedia,
30
+ isMap,
31
+ isWeakMap,
32
+ isObject,
33
+ isNode,
34
+ isNodeList,
35
+ isRTL,
36
+ isScaledElement,
37
+ isShadowRoot,
38
+ isString,
39
+ isNumber,
40
+ isSVGElement,
41
+ isTableElement,
42
+ isWindow,
43
+ getWindow,
44
+ querySelector,
45
+ // getElementsByTagName,
46
+ } = SHORTY;
47
+
48
+ cy.get('div').then($element => {
49
+ // const win = getWindow($element[0]);
50
+ const CE = new CustomElem();
51
+ CE.className = 'btn btn-outline-primary';
52
+ CE.style.transform = 'scale(1.01)';
53
+ getWindow($element[0]).document.body.append(CE);
54
+ })
55
+ .wait(100)
56
+ .get('.alert').then($element => {
57
+ const element = $element[0];
58
+ const win = getWindow(element);
59
+ const CE = querySelector('custom-elem', win.document);
60
+ // CE.className = 'btn btn-outline-primary';
61
+ // CE.style.transform = 'scale(1.01)';
62
+ // win.document.body.append(CE);
63
+ const img = querySelector('img', element);
64
+ const svg = querySelector('svg', element);
65
+ const path = querySelector('path', element);
66
+ const table = querySelector('table', win.document);
67
+
68
+ expect(isArray(new Float32Array(0, 'a')), 'isArray(Float32Array)').to.be.false;
69
+ expect(isArray(), 'isArray()').to.be.false;
70
+ expect(isArray(element), 'isArray(node)').to.be.false;
71
+ expect(isArray([0, 'a']), 'isArray([0, 1]])').to.be.true;
72
+ expect(isArray(new Array(0, 'a')), 'isArray(new Array(0, 1)])').to.be.true;
73
+
74
+ expect(isDocument(), 'isDocument()').to.be.false;
75
+ expect(isDocument(win), 'isDocument(document)').to.be.false;
76
+ expect(isDocument(document), 'isDocument(document)').to.be.true;
77
+ expect(isDocument(win.document), 'isDocument(document)').to.be.true;
78
+
79
+ expect(isElement(), 'isElement()').to.be.false;
80
+ expect(isElement(win.document), 'isElement(document)').to.be.false;
81
+ expect(isElement(win), 'isElement(window)').to.be.false;
82
+ expect(isElement(element), 'isElement(node)').to.be.true;
83
+ expect(isElement(win.document.body), 'isElement(body)').to.be.true;
84
+
85
+ expect(isElementsArray(), 'isElementsArray()').to.be.false;
86
+ expect(isElementsArray(win), 'isElementsArray(window)').to.be.false;
87
+ expect(isElementsArray([0, 1]), 'isElementsArray(window)').to.be.false;
88
+ expect(isElementsArray([...element.children]), 'isElementsArray(expected)').to.be.true;
89
+
90
+ expect(isFunction(), 'isFunction()').to.be.false;
91
+ expect(isFunction(element), 'isFunction(node)').to.be.false;
92
+ expect(isFunction(element.addEventListener), 'isFunction(function)').to.be.true;
93
+
94
+ expect(isObject(), 'isObject()').to.be.false;
95
+ expect(isObject(element), 'isObject(node)').to.be.true;
96
+ expect(isObject({ a: 2 }), 'isObject(object)').to.be.true;
97
+ expect(isObject(element.addEventListener), 'isObject(function)').to.be.false;
98
+
99
+ expect(isHTMLCollection(), 'isHTMLCollection()').to.be.false;
100
+ expect(isHTMLCollection([...element.children]), 'isHTMLCollection(array)').to.be.false;
101
+ expect(isHTMLCollection(element.children), 'isHTMLCollection(expected)').to.be.true;
102
+
103
+ expect(isHTMLElement(), 'isHTMLElement()').to.be.false;
104
+ expect(isHTMLElement(element), 'isHTMLElement(element)').to.be.true;
105
+ expect(isHTMLElement(win), 'isHTMLElement(window)').to.be.false;
106
+ expect(isHTMLElement(win.document.body), 'isHTMLElement(body)').to.be.true;
107
+ expect(isHTMLElement(win.document.head), 'isHTMLElement(head)').to.be.true;
108
+ expect(isHTMLElement(CE), 'isHTMLElement(CustomElement)').to.be.true;
109
+ expect(isHTMLElement(CE.shadowRoot), 'isHTMLElement(CustomElement)').to.be.false;
110
+ expect(isHTMLElement([...element.children]), 'isHTMLElement(array)').to.be.false;
111
+ expect(isHTMLElement(win.document), 'isHTMLElement(document)').to.be.false;
112
+
113
+ expect(isHTMLImageElement(), 'isHTMLImageElement()').to.be.false;
114
+ expect(isHTMLImageElement(win.document), 'isHTMLImageElement(document)').to.be.false;
115
+ expect(isHTMLImageElement(win), 'isHTMLImageElement(window)').to.be.false;
116
+ expect(isHTMLImageElement(img), 'isHTMLImageElement(image)').to.be.true;
117
+ expect(isHTMLImageElement(svg), 'isHTMLImageElement(svg)').to.be.false;
118
+ expect(isHTMLImageElement(path), 'isHTMLImageElement(path)').to.be.false;
119
+
120
+ expect(isMedia(), 'isMedia()').to.be.false;
121
+ expect(isMedia(win.document), 'isMedia(document)').to.be.false;
122
+ expect(isMedia(win), 'isMedia(window)').to.be.false;
123
+ expect(isMedia(CE), 'isMedia(CustomElement)').to.be.false;
124
+ expect(isMedia(img), 'isMedia(image)').to.be.true;
125
+ expect(isMedia(svg), 'isMedia(svg)').to.be.true;
126
+ expect(isMedia(path), 'isMedia(path)').to.be.true;
127
+
128
+ expect(isCanvas(), 'isCanvas()').to.be.false;
129
+ expect(isCanvas(win.document), 'isCanvas(document)').to.be.false;
130
+ expect(isCanvas(win), 'isCanvas(window)').to.be.false;
131
+ expect(isCanvas(CE), 'isCanvas(CustomElement)').to.be.false;
132
+ expect(isCanvas(img), 'isCanvas(image)').to.be.false;
133
+ expect(isCanvas(svg), 'isCanvas(svg)').to.be.false;
134
+ expect(isCanvas(win.document.createElement('canvas')), 'isCanvas(canvas)').to.be.true;
135
+
136
+ expect(isJSON(), 'isJSON()').to.be.false;
137
+ expect(isJSON(win.document), 'isJSON(document)').to.be.false;
138
+ expect(isJSON(win), 'isJSON(window)').to.be.false;
139
+ expect(isJSON('some string'), 'isJSON(JSON)').to.be.false;
140
+ expect(isJSON('{"a":1,"b":2}'), 'isJSON(JSON)').to.be.true;
141
+ expect(isJSON('["a",2]'), 'isJSON(JSON)').to.be.true;
142
+
143
+ expect(isMap(), 'isMap()').to.be.false;
144
+ expect(isMap(win.document), 'isMap(document)').to.be.false;
145
+ expect(isMap(win), 'isMap(window)').to.be.false;
146
+ expect(isMap(new Map()), 'isMap(Map)').to.be.true;
147
+
148
+ expect(isWeakMap(), 'isWeakMap()').to.be.false;
149
+ expect(isWeakMap(win.document), 'isWeakMap(document)').to.be.false;
150
+ expect(isWeakMap(win), 'isWeakMap(window)').to.be.false;
151
+ expect(isWeakMap(new WeakMap()), 'isWeakMap(WeakMap)').to.be.true;
152
+
153
+ expect(isElementInScrollRange(), 'isElementInScrollRange()').to.be.false;
154
+ expect(isElementInScrollRange(win), 'isElementInScrollRange(window)').to.be.false;
155
+ expect(isElementInScrollRange(CE), 'isElementInScrollRange(CustomElement)').to.be.true;
156
+ expect(isElementInScrollRange(element), 'isElementInScrollRange(node)').to.be.true;
157
+
158
+ expect(isElementInViewport(), 'isElementInScrollRange()').to.be.false;
159
+ expect(isElementInViewport(win), 'isElementInScrollRange(window)').to.be.false;
160
+ expect(isElementInViewport(CE), 'isElementInScrollRange(CustomElement)').to.be.true;
161
+ expect(isElementInViewport(element), 'isElementInScrollRange(node)').to.be.true;
162
+
163
+ expect(isNode(), 'isNode()').to.be.false;
164
+ expect(isNode(img), 'isNode(image)').to.be.true;
165
+ expect(isNode(svg), 'isNode(svg)').to.be.true;
166
+ expect(isNode(path), 'isNode(path)').to.be.true;
167
+ expect(isNode(win.document), 'isNode(document)').to.be.true;
168
+ expect(isNode(win), 'isNode(window)').to.be.false;
169
+ expect(isNode(CE), 'isNode(CustomElement)').to.be.true;
170
+
171
+ expect(isNodeList(), 'isNodeList()').to.be.false;
172
+ expect(isNodeList(element), 'isNodeList(node)').to.be.false;
173
+ expect(isNodeList(element.children), 'isNodeList(HTMLCollection)').to.be.false;
174
+ expect(isNodeList(element.querySelectorAll('*')), 'isNodeList(expected)').to.be.true;
175
+
176
+ expect(isRTL(), 'isRTL()').to.be.false;
177
+ expect(isRTL(element), 'isRTL(node)').to.be.false;
178
+ expect(isRTL(win.document), 'isRTL(document)').to.be.false;
179
+
180
+ expect(isScaledElement(), 'isScaledElement()').to.be.false;
181
+ expect(isScaledElement(element), 'isScaledElement(node)').to.be.false;
182
+ expect(isScaledElement(win), 'isScaledElement(window)').to.be.false;
183
+ expect(isScaledElement(win.document), 'isScaledElement(document)').to.be.false;
184
+ expect(isScaledElement(CE), 'isScaledElement(expected)').to.be.true;
185
+
186
+ expect(isSVGElement(), 'isSVGElement()').to.be.false;
187
+ expect(isSVGElement(element), 'isSVGElement(node)').to.be.false;
188
+ expect(isSVGElement(win), 'isSVGElement(window)').to.be.false;
189
+ expect(isSVGElement(win.document), 'isSVGElement(document)').to.be.false;
190
+ expect(isSVGElement(CE), 'isSVGElement(CustomElement)').to.be.false;
191
+ expect(isSVGElement(svg), 'isSVGElement(svg)').to.be.true;
192
+ expect(isSVGElement(path), 'isSVGElement(path)').to.be.true;
193
+
194
+ expect(isString(), 'isString()').to.be.false;
195
+ expect(isString(element), 'isString(node)').to.be.false;
196
+ expect(isString(element.nodeName), 'isString(nodeName)').to.be.true;
197
+ expect(isString(element.nodeType), 'isString(number)').to.be.false;
198
+
199
+ expect(isNumber(), 'isNumber()').to.be.false;
200
+ expect(isNumber(element), 'isNumber(node)').to.be.false;
201
+ expect(isNumber(element.nodeName), 'isNumber(nodeName)').to.be.false;
202
+ expect(isNumber(element.nodeType), 'isNumber(nodeType)').to.be.true;
203
+ expect(isNumber(0.55), 'isNumber(number)').to.be.true;
204
+ expect(isNumber(-Infinity), 'isNumber(Infinity)').to.be.true;
205
+
206
+ expect(isTableElement(), 'isTableElement()').to.be.false;
207
+ expect(isTableElement(element), 'isTableElement(node)').to.be.false;
208
+ expect(isTableElement(win), 'isTableElement(window)').to.be.false;
209
+ expect(isTableElement(win.document), 'isTableElement(document)').to.be.false;
210
+ expect(isTableElement(CE), 'isTableElement(CustomElement)').to.be.false;
211
+ expect(isTableElement(table), 'isTableElement(table)').to.be.true;
212
+ expect(isTableElement(querySelector('td', table)), 'isTableElement(TD)').to.be.true;
213
+ expect(isTableElement(querySelector('th', table)), 'isTableElement(TH)').to.be.true;
214
+
215
+ expect(isWindow(), 'isWindow()').to.be.false;
216
+ expect(isWindow(win.document), 'isWindow(document)').to.be.false;
217
+ expect(isWindow(document), 'isWindow(document)').to.be.false;
218
+ expect(isWindow(win), 'isDocument(window)').to.be.true;
219
+ expect(isWindow(win.top), 'isDocument(window)').to.be.true;
220
+ expect(isWindow(window), 'isDocument(window)').to.be.true;
221
+ expect(isWindow(window.top), 'isDocument(window)').to.be.true;
222
+
223
+ expect(isCustomElement(), 'isCustomElement()').to.be.false;
224
+ expect(isCustomElement(element), 'isCustomElement(node)').to.be.false;
225
+ expect(isCustomElement(CE), 'isCustomElement(CustomElement)').to.be.true;
226
+
227
+ expect(isShadowRoot(), 'isShadowRoot()').to.be.false;
228
+ expect(isShadowRoot(element), 'isShadowRoot(element)').to.be.false;
229
+ expect(isShadowRoot(document), 'isShadowRoot(document)').to.be.false;
230
+ expect(isShadowRoot(CE.shadowRoot), 'isShadowRoot(CustomElement.shadowRoot)').to.be.true;
231
+ });
232
+ });
233
+ });