@@ -135,33 +135,85 @@ public function testMultipleRanges(): void
135135 {
136136 $ spreadsheet = new Spreadsheet ();
137137 $ sheet = $ spreadsheet ->getActiveSheet ();
138- $ sheet ->getCell ('B1 ' )->setValue (1 );
139- $ sheet ->getCell ('B2 ' )->setValue (2 );
140- $ sheet ->getCell ('B3 ' )->setValue (3 );
141- $ dv = $ sheet ->getDataValidation ('A1:A4 C5 D6:D7 ' );
138+ $ sheet ->getCell ('C1 ' )->setValue (1 );
139+ $ sheet ->getCell ('C2 ' )->setValue (2 );
140+ $ sheet ->getCell ('C3 ' )->setValue (3 );
141+ $ dv = $ sheet ->getDataValidation ('A1:A4 D5 E6:E7 ' );
142142 $ dv ->setType (DataValidation::TYPE_LIST )
143143 ->setShowDropDown (true )
144- ->setFormula1 ('$B $1:$B $3 ' )
144+ ->setFormula1 ('$C $1:$C $3 ' )
145145 ->setErrorStyle (DataValidation::STYLE_STOP )
146146 ->setShowErrorMessage (true )
147147 ->setErrorTitle ('Input Error ' )
148148 ->setError ('Value is not a member of allowed list ' );
149- $ sheet ->insertNewColumnBefore ('A ' );
149+ $ sheet ->insertNewColumnBefore ('B ' );
150150 $ dvs = $ sheet ->getDataValidationCollection ();
151151 self ::assertCount (1 , $ dvs );
152- $ expected = 'B1:B4 D5 E6:E7 ' ;
152+ $ expected = 'A1:A4 E5 F6:F7 ' ;
153153 self ::assertSame ([$ expected ], array_keys ($ dvs ));
154154 $ dv = $ dvs [$ expected ];
155155 self ::assertSame ($ expected , $ dv ->getSqref ());
156- self ::assertSame ('$C$1:$C$3 ' , $ dv ->getFormula1 ());
157- $ sheet ->getCell ('B2 ' )->setValue (3 );
158- self ::assertTrue ($ sheet ->getCell ('B2 ' )->hasValidValue ());
159- $ sheet ->getCell ('D5 ' )->setValue (7 );
160- self ::assertFalse ($ sheet ->getCell ('D5 ' )->hasValidValue ());
161- $ sheet ->getCell ('E6 ' )->setValue (7 );
162- self ::assertFalse ($ sheet ->getCell ('E6 ' )->hasValidValue ());
163- $ sheet ->getCell ('E7 ' )->setValue (1 );
164- self ::assertTrue ($ sheet ->getCell ('E7 ' )->hasValidValue ());
156+ self ::assertSame ('$D$1:$D$3 ' , $ dv ->getFormula1 ());
157+ $ sheet ->getCell ('A3 ' )->setValue (8 );
158+ self ::assertFalse ($ sheet ->getCell ('A3 ' )->hasValidValue ());
159+ $ sheet ->getCell ('E5 ' )->setValue (7 );
160+ self ::assertFalse ($ sheet ->getCell ('E5 ' )->hasValidValue ());
161+ $ sheet ->getCell ('F6 ' )->setValue (7 );
162+ self ::assertFalse ($ sheet ->getCell ('F6 ' )->hasValidValue ());
163+ $ sheet ->getCell ('F7 ' )->setValue (1 );
164+ self ::assertTrue ($ sheet ->getCell ('F7 ' )->hasValidValue ());
165+ $ spreadsheet ->disconnectWorksheets ();
166+ }
167+
168+ public function testWholeColumn (): void
169+ {
170+ $ spreadsheet = new Spreadsheet ();
171+ $ sheet = $ spreadsheet ->getActiveSheet ();
172+ $ dv = new DataValidation ();
173+ $ dv ->setType (DataValidation::TYPE_NONE );
174+ $ sheet ->setDataValidation ('A5:A7 ' , $ dv );
175+ $ dv = new DataValidation ();
176+ $ dv ->setType (DataValidation::TYPE_LIST )
177+ ->setShowDropDown (true )
178+ ->setFormula1 ('"Item A,Item B,Item C" ' )
179+ ->setErrorStyle (DataValidation::STYLE_STOP )
180+ ->setShowErrorMessage (true )
181+ ->setErrorTitle ('Input Error ' )
182+ ->setError ('Value is not a member of allowed list ' );
183+ $ sheet ->setDataValidation ('A:A ' , $ dv );
184+ $ dv = new DataValidation ();
185+ $ dv ->setType (DataValidation::TYPE_NONE );
186+ $ sheet ->setDataValidation ('A9 ' , $ dv );
187+ self ::assertSame (DataValidation::TYPE_LIST , $ sheet ->getDataValidation ('A4 ' )->getType ());
188+ self ::assertSame (DataValidation::TYPE_LIST , $ sheet ->getDataValidation ('A10 ' )->getType ());
189+ self ::assertSame (DataValidation::TYPE_NONE , $ sheet ->getDataValidation ('A6 ' )->getType ());
190+ self ::assertSame (DataValidation::TYPE_NONE , $ sheet ->getDataValidation ('A9 ' )->getType ());
191+ $ spreadsheet ->disconnectWorksheets ();
192+ }
193+
194+ public function testWholeRow (): void
195+ {
196+ $ spreadsheet = new Spreadsheet ();
197+ $ sheet = $ spreadsheet ->getActiveSheet ();
198+ $ dv = new DataValidation ();
199+ $ dv ->setType (DataValidation::TYPE_NONE );
200+ $ sheet ->setDataValidation ('C1:F1 ' , $ dv );
201+ $ dv = new DataValidation ();
202+ $ dv ->setType (DataValidation::TYPE_LIST )
203+ ->setShowDropDown (true )
204+ ->setFormula1 ('"Item A,Item B,Item C" ' )
205+ ->setErrorStyle (DataValidation::STYLE_STOP )
206+ ->setShowErrorMessage (true )
207+ ->setErrorTitle ('Input Error ' )
208+ ->setError ('Value is not a member of allowed list ' );
209+ $ sheet ->setDataValidation ('1:1 ' , $ dv );
210+ $ dv = new DataValidation ();
211+ $ dv ->setType (DataValidation::TYPE_NONE );
212+ $ sheet ->setDataValidation ('H1 ' , $ dv );
213+ self ::assertSame (DataValidation::TYPE_LIST , $ sheet ->getDataValidation ('B1 ' )->getType ());
214+ self ::assertSame (DataValidation::TYPE_LIST , $ sheet ->getDataValidation ('J1 ' )->getType ());
215+ self ::assertSame (DataValidation::TYPE_NONE , $ sheet ->getDataValidation ('D1 ' )->getType ());
216+ self ::assertSame (DataValidation::TYPE_NONE , $ sheet ->getDataValidation ('H1 ' )->getType ());
165217 $ spreadsheet ->disconnectWorksheets ();
166218 }
167219}
0 commit comments