@@ -5,16 +5,17 @@ describe("Select Plugin", function () {
5
5
} ) ;
6
6
7
7
describe ( "Select" , function ( ) {
8
- var browserSelect , normalInput , normalDropdown ;
8
+ var browserSelect , normalInput , normalDropdown , selectInstance ;
9
9
10
10
beforeEach ( function ( ) {
11
11
$ ( 'select' ) . formSelect ( ) ;
12
12
browserSelect = $ ( 'select.normal' ) ;
13
+ selectInstance = M . FormSelect . getInstance ( browserSelect [ 0 ] ) ;
13
14
} ) ;
14
15
15
16
it ( "should open dropdown and select option" , function ( done ) {
16
- normalInput = browserSelect . parent ( ) . find ( 'input.select-dropdown' ) ;
17
- normalDropdown = browserSelect . parent ( ) . find ( 'ul.select-dropdown' ) ;
17
+ normalInput = $ ( selectInstance . wrapper ) . find ( 'input.select-dropdown' ) ;
18
+ normalDropdown = $ ( selectInstance . wrapper ) . find ( 'ul.select-dropdown' ) ;
18
19
19
20
expect ( normalInput ) . toExist ( 'Should dynamically generate select dropdown structure.' ) ;
20
21
expect ( normalDropdown ) . toExist ( 'Should dynamically generate select dropdown structure.' ) ;
@@ -38,8 +39,8 @@ describe("Select Plugin", function () {
38
39
} ) ;
39
40
40
41
it ( "should have pre-selected value" , function ( ) {
41
- normalInput = browserSelect . parent ( ) . find ( 'input.select-dropdown' ) ;
42
- normalDropdown = browserSelect . parent ( ) . find ( 'ul.select-dropdown' ) ;
42
+ normalInput = $ ( selectInstance . wrapper ) . find ( 'input.select-dropdown' ) ;
43
+ normalDropdown = $ ( selectInstance . wrapper ) . find ( 'ul.select-dropdown' ) ;
43
44
44
45
var firstOption = browserSelect . find ( 'option[selected]' ) ;
45
46
expect ( normalInput . val ( ) ) . toEqual ( firstOption . text ( ) , 'Value should be equal to preselected option.' ) ;
@@ -51,8 +52,8 @@ describe("Select Plugin", function () {
51
52
} ) ;
52
53
53
54
it ( "should getSelectedValues correctly" , function ( done ) {
54
- normalInput = browserSelect . parent ( ) . find ( 'input.select-dropdown' ) ;
55
- normalDropdown = browserSelect . parent ( ) . find ( 'ul.select-dropdown' ) ;
55
+ normalInput = $ ( selectInstance . wrapper ) . find ( 'input.select-dropdown' ) ;
56
+ normalDropdown = $ ( selectInstance . wrapper ) . find ( 'ul.select-dropdown' ) ;
56
57
57
58
expect ( browserSelect [ 0 ] . M_FormSelect . getSelectedValues ( ) ) . toEqual ( [ browserSelect [ 0 ] . value ] , 'Should equal initial selected value' ) ;
58
59
@@ -73,15 +74,16 @@ describe("Select Plugin", function () {
73
74
} ) ;
74
75
75
76
describe ( "Multiple Select" , function ( ) {
76
- var browserSelect , multipleInput , multipleDropdown ;
77
+ var browserSelect , multipleInput , multipleDropdown , selectInstance ;
77
78
78
79
beforeEach ( function ( ) {
79
80
browserSelect = $ ( 'select.multiple' ) ;
81
+ selectInstance = M . FormSelect . getInstance ( browserSelect [ 0 ] ) ;
80
82
} ) ;
81
83
82
84
it ( "should open dropdown and select multiple options" , function ( done ) {
83
- multipleInput = browserSelect . parent ( ) . find ( 'input.select-dropdown' ) ;
84
- multipleDropdown = browserSelect . parent ( ) . find ( 'ul.select-dropdown' ) ;
85
+ multipleInput = $ ( selectInstance . wrapper ) . find ( 'input.select-dropdown' ) ;
86
+ multipleDropdown = $ ( selectInstance . wrapper ) . find ( 'ul.select-dropdown' ) ;
85
87
86
88
expect ( multipleInput ) . toExist ( 'Should dynamically generate select dropdown structure.' ) ;
87
89
expect ( multipleDropdown ) . toExist ( 'Should dynamically generate select dropdown structure.' ) ;
@@ -108,8 +110,8 @@ describe("Select Plugin", function () {
108
110
} ) ;
109
111
110
112
it ( "should open dropdown and deselect multiple options" , function ( done ) {
111
- multipleInput = browserSelect . parent ( ) . find ( 'input.select-dropdown' ) ;
112
- multipleDropdown = browserSelect . parent ( ) . find ( 'ul.select-dropdown' ) ;
113
+ multipleInput = $ ( selectInstance . wrapper ) . find ( 'input.select-dropdown' ) ;
114
+ multipleDropdown = $ ( selectInstance . wrapper ) . find ( 'ul.select-dropdown' ) ;
113
115
114
116
expect ( multipleInput ) . toExist ( 'Should dynamically generate select dropdown structure.' ) ;
115
117
expect ( multipleDropdown ) . toExist ( 'Should dynamically generate select dropdown structure.' ) ;
@@ -139,8 +141,8 @@ describe("Select Plugin", function () {
139
141
} ) ;
140
142
141
143
it ( "should have multiple pre-selected values" , function ( ) {
142
- multipleInput = browserSelect . parent ( ) . find ( 'input.select-dropdown' ) ;
143
- multipleDropdown = browserSelect . parent ( ) . find ( 'ul.select-dropdown' ) ;
144
+ multipleInput = $ ( selectInstance . wrapper ) . find ( 'input.select-dropdown' ) ;
145
+ multipleDropdown = $ ( selectInstance . wrapper ) . find ( 'ul.select-dropdown' ) ;
144
146
145
147
var secondOption = browserSelect . find ( 'option[selected]' ) . eq ( 0 ) ;
146
148
var thirdOption = browserSelect . find ( 'option[selected]' ) . eq ( 1 ) ;
@@ -149,15 +151,16 @@ describe("Select Plugin", function () {
149
151
} ) ;
150
152
151
153
describe ( "Optgroup Select" , function ( ) {
152
- var browserSelect , optInput , optDropdown , optionInOptgroup , optionAfterOptGroup ;
154
+ var browserSelect , optInput , optDropdown , optionInOptgroup , optionAfterOptGroup , selectInstance ;
153
155
154
156
beforeEach ( function ( ) {
155
157
browserSelect = $ ( 'select.optgroup' ) ;
158
+ selectInstance = M . FormSelect . getInstance ( browserSelect [ 0 ] ) ;
156
159
} ) ;
157
160
158
161
it ( "should open dropdown and select options" , function ( done ) {
159
- optInput = browserSelect . parent ( ) . find ( 'input.select-dropdown' ) ;
160
- optDropdown = browserSelect . parent ( ) . find ( 'ul.select-dropdown' ) ;
162
+ optInput = $ ( selectInstance . wrapper ) . find ( 'input.select-dropdown' ) ;
163
+ optDropdown = $ ( selectInstance . wrapper ) . find ( 'ul.select-dropdown' ) ;
161
164
162
165
var optgroups = optDropdown . find ( 'li.optgroup' ) ;
163
166
browserSelect . find ( 'optgroup' ) . each ( function ( i ) {
@@ -186,16 +189,16 @@ describe("Select Plugin", function () {
186
189
} ) ;
187
190
188
191
it ( "should have options inside optgroup indented" , function ( ) {
189
- optionInOptgroup = browserSelect . parent ( ) . find ( 'li.optgroup + li' ) ;
190
- optionAfterOptGroup = browserSelect . parent ( ) . find ( 'ul li:last-child' ) ;
192
+ optionInOptgroup = $ ( selectInstance . wrapper ) . find ( 'li.optgroup + li' ) ;
193
+ optionAfterOptGroup = $ ( selectInstance . wrapper ) . find ( 'ul li:last-child' ) ;
191
194
192
195
expect ( optionInOptgroup ) . toHaveClass ( 'optgroup-option' , 'Should have optgroup-option class' ) ;
193
196
expect ( optionAfterOptGroup ) . not . toHaveClass ( 'optgroup-option' , 'Should not have optgroup-option class' ) ;
194
197
} ) ;
195
198
196
199
it ( "should not do anything when optgroup li clicked" , function ( done ) {
197
- optInput = browserSelect . parent ( ) . find ( 'input.select-dropdown' ) ;
198
- optDropdown = browserSelect . parent ( ) . find ( 'ul.select-dropdown' ) ;
200
+ optInput = $ ( selectInstance . wrapper ) . find ( 'input.select-dropdown' ) ;
201
+ optDropdown = $ ( selectInstance . wrapper ) . find ( 'ul.select-dropdown' ) ;
199
202
var originalVal = optInput . val ( ) ;
200
203
201
204
var optgroups = optDropdown . find ( 'li.optgroup' ) ;
0 commit comments