@@ -88,14 +88,104 @@ public function testReverseTransformWithGrouping()
88
88
{
89
89
$ transformer = new NumberToLocalizedStringTransformer (null , true );
90
90
91
+ // completely valid format
91
92
$ this ->assertEquals (1234.5 , $ transformer ->reverseTransform ('1.234,5 ' ));
92
93
$ this ->assertEquals (12345.912 , $ transformer ->reverseTransform ('12.345,912 ' ));
94
+ // omit group separator
93
95
$ this ->assertEquals (1234.5 , $ transformer ->reverseTransform ('1234,5 ' ));
94
96
$ this ->assertEquals (12345.912 , $ transformer ->reverseTransform ('12345,912 ' ));
95
97
}
96
98
99
+ public function testDecimalSeparatorMayBeDotIfGroupingSeparatorIsNotDot ()
100
+ {
101
+ \Locale::setDefault ('fr ' );
102
+ $ transformer = new NumberToLocalizedStringTransformer (null , true );
103
+
104
+ // completely valid format
105
+ $ this ->assertEquals (1234.5 , $ transformer ->reverseTransform ('1 234,5 ' ));
106
+ // accept dots
107
+ $ this ->assertEquals (1234.5 , $ transformer ->reverseTransform ('1 234.5 ' ));
108
+ // omit group separator
109
+ $ this ->assertEquals (1234.5 , $ transformer ->reverseTransform ('1234,5 ' ));
110
+ $ this ->assertEquals (1234.5 , $ transformer ->reverseTransform ('1234.5 ' ));
111
+ }
112
+
113
+ /**
114
+ * @expectedException \Symfony\Component\Form\Exception\TransformationFailedException
115
+ */
116
+ public function testDecimalSeparatorMayNotBeDotIfGroupingSeparatorIsDot ()
117
+ {
118
+ $ transformer = new NumberToLocalizedStringTransformer (null , true );
119
+
120
+ $ transformer ->reverseTransform ('1.234.5 ' );
121
+ }
122
+
123
+ /**
124
+ * @expectedException \Symfony\Component\Form\Exception\TransformationFailedException
125
+ */
126
+ public function testDecimalSeparatorMayNotBeDotIfGroupingSeparatorIsDot_noGroupSep ()
127
+ {
128
+ $ transformer = new NumberToLocalizedStringTransformer (null , true );
129
+
130
+ $ transformer ->reverseTransform ('1234.5 ' );
131
+ }
132
+
133
+ public function testDecimalSeparatorMayBeDotIfGroupingSeparatorIsDotButNoGroupingUsed ()
134
+ {
135
+ \Locale::setDefault ('fr ' );
136
+ $ transformer = new NumberToLocalizedStringTransformer ();
137
+
138
+ $ this ->assertEquals (1234.5 , $ transformer ->reverseTransform ('1234,5 ' ));
139
+ $ this ->assertEquals (1234.5 , $ transformer ->reverseTransform ('1234.5 ' ));
140
+ }
141
+
142
+ public function testDecimalSeparatorMayBeCommaIfGroupingSeparatorIsNotComma ()
143
+ {
144
+ \Locale::setDefault ('ak ' );
145
+ $ transformer = new NumberToLocalizedStringTransformer (null , true );
146
+
147
+ // completely valid format
148
+ $ this ->assertEquals (1234.5 , $ transformer ->reverseTransform ('1 234.5 ' ));
149
+ // accept commas
150
+ $ this ->assertEquals (1234.5 , $ transformer ->reverseTransform ('1 234,5 ' ));
151
+ // omit group separator
152
+ $ this ->assertEquals (1234.5 , $ transformer ->reverseTransform ('1234.5 ' ));
153
+ $ this ->assertEquals (1234.5 , $ transformer ->reverseTransform ('1234,5 ' ));
154
+ }
155
+
156
+ /**
157
+ * @expectedException \Symfony\Component\Form\Exception\TransformationFailedException
158
+ */
159
+ public function testDecimalSeparatorMayNotBeCommaIfGroupingSeparatorIsComma ()
160
+ {
161
+ \Locale::setDefault ('en ' );
162
+ $ transformer = new NumberToLocalizedStringTransformer (null , true );
163
+
164
+ $ transformer ->reverseTransform ('1,234,5 ' );
165
+ }
166
+
167
+ /**
168
+ * @expectedException \Symfony\Component\Form\Exception\TransformationFailedException
169
+ */
170
+ public function testDecimalSeparatorMayNotBeCommaIfGroupingSeparatorIsComma_noGroupSep ()
171
+ {
172
+ \Locale::setDefault ('en ' );
173
+ $ transformer = new NumberToLocalizedStringTransformer (null , true );
174
+
175
+ $ transformer ->reverseTransform ('1234,5 ' );
176
+ }
177
+
178
+ public function testDecimalSeparatorMayBeCommaIfGroupingSeparatorIsCommaButNoGroupingUsed ()
179
+ {
180
+ \Locale::setDefault ('en ' );
181
+ $ transformer = new NumberToLocalizedStringTransformer ();
182
+
183
+ $ this ->assertEquals (1234.5 , $ transformer ->reverseTransform ('1234,5 ' ));
184
+ $ this ->assertEquals (1234.5 , $ transformer ->reverseTransform ('1234.5 ' ));
185
+ }
186
+
97
187
/**
98
- * @expectedException Symfony\Component\Form\Exception\UnexpectedTypeException
188
+ * @expectedException \ Symfony\Component\Form\Exception\UnexpectedTypeException
99
189
*/
100
190
public function testTransformExpectsNumeric ()
101
191
{
@@ -105,7 +195,7 @@ public function testTransformExpectsNumeric()
105
195
}
106
196
107
197
/**
108
- * @expectedException Symfony\Component\Form\Exception\UnexpectedTypeException
198
+ * @expectedException \ Symfony\Component\Form\Exception\UnexpectedTypeException
109
199
*/
110
200
public function testReverseTransformExpectsString ()
111
201
{
@@ -115,7 +205,7 @@ public function testReverseTransformExpectsString()
115
205
}
116
206
117
207
/**
118
- * @expectedException Symfony\Component\Form\Exception\TransformationFailedException
208
+ * @expectedException \ Symfony\Component\Form\Exception\TransformationFailedException
119
209
*/
120
210
public function testReverseTransformExpectsValidNumber ()
121
211
{
0 commit comments