]> git.mxchange.org Git - simgear.git/commitdiff
utf8ToLatin1: add test
authorRebecca Palmer <R.Palmer@bham.ac.uk>
Tue, 10 Jun 2014 19:45:05 +0000 (20:45 +0100)
committerRebecca Palmer <R.Palmer@bham.ac.uk>
Tue, 10 Jun 2014 19:45:05 +0000 (20:45 +0100)
simgear/misc/CMakeLists.txt
simgear/misc/utf8tolatin1_test.cxx [new file with mode: 0644]

index 00c7e97809199ce4ac1d21a1bf0064b0e8b6d910..6b4790afa90c4ab48272ba513872da72784bc8ce 100644 (file)
@@ -63,9 +63,13 @@ add_executable(test_path path_test.cxx )
 add_test(path ${EXECUTABLE_OUTPUT_PATH}/test_path)
 target_link_libraries(test_path ${TEST_LIBS})
 
+add_executable(test_utf8tolatin1 utf8tolatin1_test.cxx )
+add_test(utf8tolatin1 ${EXECUTABLE_OUTPUT_PATH}/test_utf8tolatin1)
+target_link_libraries(test_utf8tolatin1 ${TEST_LIBS})
+
 endif(ENABLE_TESTS)
 
 add_boost_test(SVGpreserveAspectRatio
   SOURCES SVGpreserveAspectRatio_test.cxx
   LIBRARIES ${TEST_LIBS}
-)
\ No newline at end of file
+)
diff --git a/simgear/misc/utf8tolatin1_test.cxx b/simgear/misc/utf8tolatin1_test.cxx
new file mode 100644 (file)
index 0000000..9b6049e
--- /dev/null
@@ -0,0 +1,30 @@
+#include "strutils.hxx"
+#include <iostream>
+#include <string>
+
+int main()
+{
+    std::string utf8_string1 = "Zweibr\u00FCcken";
+    //valid UTF-8, convertible to Latin-1
+    std::string latin1_string1 = "Zweibr\374cken";
+    //Latin-1, not valid UTF-8
+    std::string utf8_string2 = "\u600f\U00010143";
+    //valid UTF-8, out of range for Latin-1
+    
+    std::string output_string1u = simgear::strutils::utf8ToLatin1(utf8_string1);
+    if (output_string1u.compare(latin1_string1)){
+        std::cerr << "Conversion fail: "
+        << output_string1u << "!=" << latin1_string1;
+        return 1;
+    }
+    std::string output_string1l = simgear::strutils::utf8ToLatin1(latin1_string1);
+    if (output_string1l.compare(latin1_string1)){
+        std::cerr << "Non-conversion fail: "
+        << output_string1l << "!=" << latin1_string1;
+        return 1;
+    }
+    std::string output_string3 = simgear::strutils::utf8ToLatin1(utf8_string2);
+    //we don't check the result of this one as there is no right answer,
+    //just make sure it doesn't crash/hang
+    return 0;
+}