]> git.sesse.net Git - vlc/blobdiff - src/test/i18n_atof.c
* i18n_strtod: locale-agnostic strtod() (accepts both comma and dot as decimal separ...
[vlc] / src / test / i18n_atof.c
index 4ac8eeeeb13e557a30b6e55b65c4fbc1b589b3d6..b7307eeca5bf61b1148a3140bd5c6d208f155d9f 100644 (file)
 
 int main (void)
 {
+    const char dot9[] = "999999.999999";
+    const char comma9[] = "999999,999999";
+    const char sharp9[] = "999999#999999";
+    char *end;
+
     assert (i18n_atof("0") == 0.);
     assert (i18n_atof("1") == 1.);
     assert (i18n_atof("1.") == 1.);
     assert (i18n_atof("1,") == 1.);
     assert (i18n_atof("1#") == 1.);
-    assert (i18n_atof("999999.999999") == 999999.999999);
-    assert (i18n_atof("999999,999999") == 999999.999999);
-    assert (i18n_atof("999999#999999") == 999999.);
-
+    assert (i18n_atof(dot9) == 999999.999999);
+    assert (i18n_atof(comma9) == 999999.999999);
+    assert (i18n_atof(sharp9) == 999999.);
     assert (i18n_atof("invalid") == 0.);
+
+    assert (us_atof("0") == 0.);
+    assert (us_atof("1") == 1.);
+    assert (us_atof("1.") == 1.);
+    assert (us_atof("1,") == 1.);
+    assert (us_atof("1#") == 1.);
+    assert (us_atof(dot9) == 999999.999999);
+    assert (us_atof(comma9) == 999999.);
+    assert (us_atof(sharp9) == 999999.);
+    assert (us_atof("invalid") == 0.);
+
+    assert ((i18n_strtod(dot9, &end ) == 999999.999999)
+            && (*end == '\0'));
+    assert ((i18n_strtod(comma9, &end ) == 999999.999999)
+            && (*end == '\0'));
+    assert ((i18n_strtod(sharp9, &end ) == 999999.)
+            && (*end == '#'));
+
+    assert ((us_strtod(dot9, &end ) == 999999.999999)
+            && (*end == '\0'));
+    assert ((us_strtod(comma9, &end ) == 999999.)
+            && (*end == ','));
+    assert ((us_strtod(sharp9, &end ) == 999999.)
+            && (*end == '#'));
+
     return 0;
 }