11<?php
2- class CheckboxFieldTest extends SuperAdminTestCase {
2+ class CheckboxesFieldTest extends SuperAdminTestCase {
33
44 public function provider () {
55
@@ -138,4 +138,45 @@ public function testFieldIsValid($fields, $data, $expectedValue, $expectedValidi
138138 $ isValid = $ fieldInstance ->isValid ($ values );
139139 $ this ->assertEquals ($ expectedValidity , $ isValid );
140140 }
141+
142+ public function testPrepareInputForSave () {
143+ $ fields = array (
144+ 'fieldtype ' => 'checkboxes ' ,
145+ 'name ' => 'question ' ,
146+ 'required ' => '0 ' ,
147+ 'default_values ' => "1 \r\n2 \r\n3 \r\n5 \r\n6 " ,
148+ 'values ' => "1 \r\n2 \r\n3 \r\n4 \r\n5 \r\n6 " ,
149+ 'order ' => '1 ' ,
150+ 'show_rule ' => 'always ' ,
151+ 'range_min ' => 3 ,
152+ 'range_max ' => 4 ,
153+ );
154+ $ fieldInstance = new PluginFormcreatorCheckboxesField ($ fields );
155+
156+ // Test a value is mandatory
157+ $ input = [
158+ 'values ' => "" ,
159+ 'name ' => 'foo ' ,
160+ ];
161+ $ out = $ fieldInstance ->prepareQuestionInputForSave ($ input );
162+ $ this ->assertEquals (0 , count ($ out ));
163+
164+ // Test accented chars are kept
165+ $ input = [
166+ 'values ' => "éè \r\nsomething else " ,
167+ 'default_values ' => "éè " ,
168+ ];
169+ $ out = $ fieldInstance ->prepareQuestionInputForSave ($ input );
170+ $ this ->assertEquals ("éè \r\nsomething else " , $ out ['values ' ]);
171+ $ this ->assertEquals ("éè " , $ out ['default_values ' ]);
172+
173+ // Test values are trimmed
174+ $ input = [
175+ 'values ' => ' something \r\n something else ' ,
176+ 'default_values ' => " something " ,
177+ ];
178+ $ out = $ fieldInstance ->prepareQuestionInputForSave ($ input );
179+ $ this ->assertEquals ('something\r\nsomething else ' , $ out ['values ' ]);
180+ $ this ->assertEquals ("something " , $ out ['default_values ' ]);
181+ }
141182}
0 commit comments