14
14
* limitations under the License.
15
15
*/
16
16
17
- import { assert } from 'chai' ;
17
+ /* eslint object-curly-spacing: [error, always, { "objectsInObjects": false }], arrow-parens: [error, as-needed] */
18
+
19
+ import { assert } from 'chai' ;
18
20
import bel from 'bel' ;
19
21
import domEvents from 'dom-events' ;
20
22
import td from 'testdouble' ;
21
-
22
- import { MDCSlider } from '../../../packages/mdc-slider' ;
23
+ import { strings } from '../../../packages/mdc-slider/continuous/constants' ;
24
+ import { MDCSlider } from '../../../packages/mdc-slider' ;
23
25
24
26
function getFixture ( ) {
25
27
return bel `
26
28
<div class="mdc-slider">
27
- <input type="range" class="mdc-slider__input">
29
+ <input type="range" class="mdc-slider__input" min="0" max="100" >
28
30
<div class="mdc-slider__background">
29
31
<div class="mdc-slider__background-lower"></div>
30
32
<div class="mdc-slider__background-upper"></div>
@@ -42,11 +44,11 @@ test('attachTo returns a component instance', () => {
42
44
function setupTest ( ) {
43
45
const root = getFixture ( ) ;
44
46
const component = new MDCSlider ( root ) ;
45
- return { root, component} ;
47
+ return { root, component } ;
46
48
}
47
49
48
50
test ( 'get/set disabled updates the input element' , ( ) => {
49
- const { root, component} = setupTest ( ) ;
51
+ const { root, component } = setupTest ( ) ;
50
52
const input = root . querySelector ( '.mdc-slider__input' ) ;
51
53
component . disabled = true ;
52
54
assert . isOk ( input . disabled ) ;
@@ -55,109 +57,114 @@ test('get/set disabled updates the input element', () => {
55
57
} ) ;
56
58
57
59
test ( 'get disabled gets state' , ( ) => {
58
- const { component} = setupTest ( ) ;
60
+ const { component } = setupTest ( ) ;
59
61
component . disabled = true ;
60
62
assert . isOk ( component . disabled ) ;
61
63
component . disabled = false ;
62
64
assert . isNotOk ( component . disabled ) ;
63
65
} ) ;
64
66
65
67
test ( '#adapter.addClass adds a class to the root element' , ( ) => {
66
- const { root, component} = setupTest ( ) ;
68
+ const { root, component } = setupTest ( ) ;
67
69
component . getDefaultFoundation ( ) . adapter_ . addClass ( 'foo' ) ;
68
70
assert . isOk ( root . classList . contains ( 'foo' ) ) ;
69
71
} ) ;
70
72
71
73
test ( '#adapter.removeClass removes a class from the root element' , ( ) => {
72
- const { root, component} = setupTest ( ) ;
74
+ const { root, component } = setupTest ( ) ;
73
75
root . classList . add ( 'foo' ) ;
74
76
component . getDefaultFoundation ( ) . adapter_ . removeClass ( 'foo' ) ;
75
77
assert . isNotOk ( root . classList . contains ( 'foo' ) ) ;
76
78
} ) ;
77
79
78
80
test ( '#adapter.addInputClass adds a class to the input element' , ( ) => {
79
- const { root, component} = setupTest ( ) ;
81
+ const { root, component } = setupTest ( ) ;
80
82
const input = root . querySelector ( '.mdc-slider__input' ) ;
81
83
component . getDefaultFoundation ( ) . adapter_ . addInputClass ( 'foo' ) ;
82
84
assert . isOk ( input . classList . contains ( 'foo' ) ) ;
83
85
} ) ;
84
86
85
87
test ( '#adapter.removeInputClass removes a class from the input element' , ( ) => {
86
- const { root, component} = setupTest ( ) ;
88
+ const { root, component } = setupTest ( ) ;
87
89
const input = root . querySelector ( '.mdc-slider__input' ) ;
88
90
input . classList . add ( 'foo' ) ;
89
91
component . getDefaultFoundation ( ) . adapter_ . removeInputClass ( 'foo' ) ;
90
92
assert . isNotOk ( input . classList . contains ( 'foo' ) ) ;
91
93
} ) ;
92
94
93
95
test ( '#adapter.registerHandler adds an event handler on the input element' , ( ) => {
94
- const { root, component} = setupTest ( ) ;
96
+ const { root, component } = setupTest ( ) ;
95
97
const handler = td . func ( 'fooHandler' ) ;
96
98
component . getDefaultFoundation ( ) . adapter_ . registerHandler ( 'foo' , handler ) ;
97
99
domEvents . emit ( root . querySelector ( '.mdc-slider__input' ) , 'foo' ) ;
98
100
td . verify ( handler ( td . matchers . anything ( ) ) ) ;
99
101
} ) ;
100
102
101
103
test ( '#adapter.deregisterHandler removes an event handler from the input element' , ( ) => {
102
- const { root, component} = setupTest ( ) ;
104
+ const { root, component } = setupTest ( ) ;
103
105
const input = root . querySelector ( '.mdc-slider__input' ) ;
104
106
const handler = td . func ( 'fooHandler' ) ;
105
107
input . addEventListener ( 'foo' , handler ) ;
106
108
component . getDefaultFoundation ( ) . adapter_ . deregisterHandler ( 'foo' , handler ) ;
107
109
domEvents . emit ( input , 'foo' ) ;
108
- td . verify ( handler ( td . matchers . anything ( ) ) , { times : 0 } ) ;
110
+ td . verify ( handler ( td . matchers . anything ( ) ) , { times : 0 } ) ;
109
111
} ) ;
110
112
111
113
test ( '#adapter.registerRootHandler adds an event handler on the root element' , ( ) => {
112
- const { root, component} = setupTest ( ) ;
114
+ const { root, component } = setupTest ( ) ;
113
115
const handler = td . func ( 'fooHandler' ) ;
114
116
component . getDefaultFoundation ( ) . adapter_ . registerRootHandler ( 'foo' , handler ) ;
115
117
domEvents . emit ( root , 'foo' ) ;
116
118
td . verify ( handler ( td . matchers . anything ( ) ) ) ;
117
119
} ) ;
118
120
119
121
test ( '#adapter.deregisterRootHandler removes an event handler from the root element' , ( ) => {
120
- const { root, component} = setupTest ( ) ;
122
+ const { root, component } = setupTest ( ) ;
121
123
const handler = td . func ( 'fooHandler' ) ;
122
124
root . addEventListener ( 'foo' , handler ) ;
123
125
component . getDefaultFoundation ( ) . adapter_ . deregisterRootHandler ( 'foo' , handler ) ;
124
126
domEvents . emit ( root , 'foo' ) ;
125
- td . verify ( handler ( td . matchers . anything ( ) ) , { times : 0 } ) ;
127
+ td . verify ( handler ( td . matchers . anything ( ) ) , { times : 0 } ) ;
126
128
} ) ;
127
129
128
130
test ( '#adapter.getNativeInput returns the component input element' , ( ) => {
129
- const { root, component} = setupTest ( ) ;
130
- assert . equal (
131
- component . getDefaultFoundation ( ) . adapter_ . getNativeInput ( ) ,
132
- root . querySelector ( '.mdc-slider__input' )
133
- ) ;
131
+ const { root, component } = setupTest ( ) ;
132
+ assert . equal ( component . getDefaultFoundation ( ) . adapter_ . getNativeInput ( ) , root . querySelector ( '.mdc-slider__input' ) ) ;
134
133
} ) ;
135
134
136
135
test ( '#adapter.setAttr sets an attribute to a certain value on the input element' , ( ) => {
137
- const { root, component} = setupTest ( ) ;
136
+ const { root, component } = setupTest ( ) ;
138
137
const input = root . querySelector ( '.mdc-slider__input' ) ;
139
138
component . getDefaultFoundation ( ) . adapter_ . setAttr ( 'aria-valuenow' , 'foo' ) ;
140
139
assert . equal ( input . getAttribute ( 'aria-valuenow' ) , 'foo' ) ;
141
140
} ) ;
142
141
143
142
test ( 'adapter#setLowerStyle sets the given style propertyName to the given value' , ( ) => {
144
- const { component, root} = setupTest ( ) ;
143
+ const { component, root } = setupTest ( ) ;
145
144
const lower = root . querySelector ( '.mdc-slider__background-lower' ) ;
146
145
component . getDefaultFoundation ( ) . adapter_ . setLowerStyle ( 'flex' , '0.5 1 0%' ) ;
147
146
assert . equal ( lower . style . getPropertyValue ( 'flex' ) , '0.5 1 0%' ) ;
148
147
} ) ;
149
148
150
149
test ( 'adapter#setUpperStyle sets the given style propertyName to the given value' , ( ) => {
151
- const { component, root} = setupTest ( ) ;
150
+ const { component, root } = setupTest ( ) ;
152
151
const upper = root . querySelector ( '.mdc-slider__background-upper' ) ;
153
152
component . getDefaultFoundation ( ) . adapter_ . setUpperStyle ( 'flex' , '0.5 1 0%' ) ;
154
153
assert . equal ( upper . style . getPropertyValue ( 'flex' ) , '0.5 1 0%' ) ;
155
154
} ) ;
156
155
157
156
test ( '#adapter.notifyChange broadcasts a "MDCSlider:change" custom event' , ( ) => {
158
- const { root, component} = setupTest ( ) ;
157
+ const { root, component } = setupTest ( ) ;
159
158
const handler = td . func ( 'custom event handler' ) ;
160
159
root . addEventListener ( 'MDCSlider:change' , handler ) ;
161
160
component . getDefaultFoundation ( ) . adapter_ . notifyChange ( { } ) ;
162
161
td . verify ( handler ( td . matchers . anything ( ) ) ) ;
163
162
} ) ;
163
+
164
+ test ( 'get/set value updates the value of the native checkbox element' , ( ) => {
165
+ const { root, component } = setupTest ( ) ;
166
+ const cb = root . querySelector ( strings . INPUT_SELECTOR ) ;
167
+ component . value = '59' ;
168
+ assert . equal ( cb . value , '59' ) ;
169
+ assert . equal ( component . value , cb . value ) ;
170
+ } ) ;
0 commit comments