]> git.saurik.com Git - wxWidgets.git/commitdiff
revert previous revision about localization of decimal points in GetHumanReadableSize...
authorFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Sun, 6 Jun 2010 18:52:28 +0000 (18:52 +0000)
committerFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Sun, 6 Jun 2010 18:52:28 +0000 (18:52 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64515 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

tests/datetime/datetimetest.cpp
tests/filename/filenametest.cpp
tests/testprec.h

index d60aae81b6dc5e9e0550c2499d99c0a9857ac334..9322fe4ef2be4bfc586c19c51bf346c416a69584 100644 (file)
@@ -83,18 +83,6 @@ private:
 
 #endif // CHANGE_SYSTEM_DATE
 
-// helper class setting the locale to "C" for its lifetime
-class CLocaleSetter
-{
-public:
-    CLocaleSetter() : m_locOld(setlocale(LC_ALL, "C")) { }
-    ~CLocaleSetter() { setlocale(LC_ALL, m_locOld); }
-
-private:
-    const char * const m_locOld;
-    wxDECLARE_NO_COPY_CLASS(CLocaleSetter);
-};
-
 // helper function translating week day/month names from English to the current
 // locale
 static wxString TranslateDate(const wxString& str)
index 175e41bc655d005ad706b2ed671b45761a53f451..69b7ae8202847ea2514082d96cd88f7d155f55df 100644 (file)
@@ -503,26 +503,25 @@ void FileNameTestCase::TestGetHumanReadable()
         { "304 KB",    304351, 0, wxSIZE_CONV_SI          },
     };
 
+    CLocaleSetter loc;      // we want to use "C" locale for LC_NUMERIC
+                            // so that regardless of the system's locale
+                            // the decimal point used by GetHumanReadableSize()
+                            // is always '.'
     for ( unsigned n = 0; n < WXSIZEOF(testData); n++ )
     {
         const TestData& td = testData[n];
 
         // take care of using the decimal point for the current locale before
         // the actual comparison
-        wxString result_localized = wxString(td.result);
-        result_localized.Replace(".", wxLocale::GetInfo(wxLOCALE_DECIMAL_POINT, wxLOCALE_CAT_NUMBER));
-
         CPPUNIT_ASSERT_EQUAL
         (
-            result_localized,
+            td.result,
             wxFileName::GetHumanReadableSize(td.size, "NA", td.prec, td.conv)
         );
     }
 
     // also test the default convention value
-    wxString result_localized = wxString("1.4 MB");
-    result_localized.Replace(".", wxLocale::GetInfo(wxLOCALE_DECIMAL_POINT, wxLOCALE_CAT_NUMBER));
-    CPPUNIT_ASSERT_EQUAL( result_localized, wxFileName::GetHumanReadableSize(1512993, "") );
+    CPPUNIT_ASSERT_EQUAL( "1.4 MB", wxFileName::GetHumanReadableSize(1512993, "") );
 }
 
 void FileNameTestCase::TestStrip()
@@ -594,8 +593,9 @@ void FileNameTestCase::TestCreateTempFileName()
         { "foo", "$SYSTEM_TEMP", false },
         { "..", "$SYSTEM_TEMP", false },
         { "../bar", "..", false },
+#ifdef __WXMSW__
         { "c:\\a\\place\\which\\does\\not\\exist", "", true },
-#ifdef __UNIX__
+#else if defined( __UNIX__ )
         { "/tmp/foo", "/tmp", false },
         { "/tmp/foo/bar", "", true },
 #endif // __UNIX__
index b5178c8d1ed3e0453c7bb4506af0886ab63238eb..f7d0e66c5cfbe6cef51863d406bb8196df6a082b 100644 (file)
@@ -67,3 +67,15 @@ extern void SetFilterEventFunc(FilterEventFunc func);
 extern void SetProcessEventFunc(ProcessEventFunc func);
 
 extern bool IsNetworkAvailable();
+
+// helper class setting the locale to "C" for its lifetime
+class CLocaleSetter
+{
+public:
+    CLocaleSetter() : m_locOld(setlocale(LC_ALL, "C")) { }
+    ~CLocaleSetter() { setlocale(LC_ALL, m_locOld); }
+
+private:
+    const char * const m_locOld;
+    wxDECLARE_NO_COPY_CLASS(CLocaleSetter);
+};