Use Boost.Test to test utf8tolatin1 - others to be converted too...
This commit is contained in:
parent
9880ba39a7
commit
49fc75926e
@ -63,13 +63,14 @@ add_executable(test_path path_test.cxx )
|
|||||||
add_test(path ${EXECUTABLE_OUTPUT_PATH}/test_path)
|
add_test(path ${EXECUTABLE_OUTPUT_PATH}/test_path)
|
||||||
target_link_libraries(test_path ${TEST_LIBS})
|
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)
|
endif(ENABLE_TESTS)
|
||||||
|
|
||||||
add_boost_test(SVGpreserveAspectRatio
|
add_boost_test(SVGpreserveAspectRatio
|
||||||
SOURCES SVGpreserveAspectRatio_test.cxx
|
SOURCES SVGpreserveAspectRatio_test.cxx
|
||||||
LIBRARIES ${TEST_LIBS}
|
LIBRARIES ${TEST_LIBS}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
add_boost_test(utf8tolatin1
|
||||||
|
SOURCES utf8tolatin1_test.cxx
|
||||||
|
LIBRARIES ${TEST_LIBS}
|
||||||
|
)
|
||||||
|
@ -1,30 +1,26 @@
|
|||||||
|
/// Unit tests for utf8ToLatin1 conversion function
|
||||||
|
#define BOOST_TEST_MODULE misc
|
||||||
|
#include <BoostTestTargetConfig.h>
|
||||||
|
|
||||||
#include "strutils.hxx"
|
#include "strutils.hxx"
|
||||||
#include <iostream>
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
int main()
|
BOOST_AUTO_TEST_CASE( utf8_latin1_conversion )
|
||||||
{
|
{
|
||||||
std::string utf8_string1 = "Zweibr\u00FCcken";
|
std::string utf8_string1 = "Zweibr\u00FCcken";
|
||||||
//valid UTF-8, convertible to Latin-1
|
//valid UTF-8, convertible to Latin-1
|
||||||
std::string latin1_string1 = "Zweibr\374cken";
|
std::string latin1_string1 = "Zweibr\374cken";
|
||||||
//Latin-1, not valid UTF-8
|
//Latin-1, not valid UTF-8
|
||||||
std::string utf8_string2 = "\u600f\U00010143";
|
std::string utf8_string2 = "\u600f\U00010143";
|
||||||
//valid UTF-8, out of range for Latin-1
|
//valid UTF-8, out of range for Latin-1
|
||||||
|
|
||||||
std::string output_string1u = simgear::strutils::utf8ToLatin1(utf8_string1);
|
std::string output_string1u = simgear::strutils::utf8ToLatin1(utf8_string1);
|
||||||
if (output_string1u.compare(latin1_string1)){
|
BOOST_CHECK_EQUAL(output_string1u, latin1_string1);
|
||||||
std::cerr << "Conversion fail: "
|
|
||||||
<< output_string1u << "!=" << latin1_string1;
|
std::string output_string1l = simgear::strutils::utf8ToLatin1(latin1_string1);
|
||||||
return 1;
|
BOOST_CHECK_EQUAL(output_string1l, latin1_string1);
|
||||||
}
|
|
||||||
std::string output_string1l = simgear::strutils::utf8ToLatin1(latin1_string1);
|
std::string output_string3 = simgear::strutils::utf8ToLatin1(utf8_string2);
|
||||||
if (output_string1l.compare(latin1_string1)){
|
//we don't check the result of this one as there is no right answer,
|
||||||
std::cerr << "Non-conversion fail: "
|
//just make sure it doesn't crash/hang
|
||||||
<< 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;
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user