24
24
import runAxeCheck from '@instructure/ui-axe-check'
25
25
import { fireEvent , prettyDOM } from 'dom-testing-library'
26
26
27
+ function getOwnerDocument ( element ) {
28
+ return element . ownerDocument
29
+ }
30
+
31
+ function getOwnerWindow ( element ) {
32
+ const doc = getOwnerDocument ( element )
33
+ return doc . defaultView || doc . parentWindow
34
+ }
35
+
27
36
function typeIn ( element , value ) {
28
37
element . value = value // eslint-disable-line no-param-reassign
29
38
fireEvent ( element , new Event ( 'change' , {
@@ -33,10 +42,18 @@ function typeIn (element, value) {
33
42
} ) )
34
43
}
35
44
36
- function text ( element ) {
45
+ function getTextContent ( element ) {
37
46
return element . textContent
38
47
}
39
48
49
+ function getTagName ( element ) {
50
+ return element . tagName . toLowerCase ( )
51
+ }
52
+
53
+ function getComputedStyle ( element ) {
54
+ return getOwnerWindow ( element ) . getComputedStyle ( element )
55
+ }
56
+
40
57
function visible ( element ) {
41
58
return ! ! ( element . offsetWidth || element . offsetHeight || element . getClientRects ( ) . length )
42
59
}
@@ -45,12 +62,12 @@ function getAttribute (element, ...args) {
45
62
return element . getAttribute ( ...args )
46
63
}
47
64
48
- function parent ( element ) {
65
+ function getParentNode ( element ) {
49
66
return element . parentNode
50
67
}
51
68
52
69
function focused ( element ) {
53
- return ( element === element . ownerDocument . activeElement )
70
+ return ( element === getOwnerDocument ( element ) . activeElement )
54
71
}
55
72
56
73
function getDOMNode ( element ) {
@@ -70,13 +87,29 @@ async function accessible (element = document.documentElement, options) {
70
87
}
71
88
}
72
89
90
+ // aliases
91
+ const parent = getParentNode
92
+ const text = getTextContent
93
+ const tag = getTagName
94
+ const computedStyle = getComputedStyle
95
+ const attribute = getAttribute
96
+
73
97
export {
98
+ getOwnerWindow ,
99
+ getOwnerDocument ,
100
+ computedStyle ,
101
+ getComputedStyle ,
102
+ tag ,
103
+ getTagName ,
74
104
typeIn ,
105
+ attribute ,
75
106
getAttribute ,
76
107
getDOMNode ,
77
108
debug ,
78
109
accessible ,
110
+ getTextContent ,
79
111
text ,
112
+ getParentNode ,
80
113
parent ,
81
114
focused ,
82
115
visible
0 commit comments