the Compartmented Robust Posix C++ Unit Test system |
|
---|
Define the character set for strings produced from test cases.
Used in: Before calling crpcut::run
().
Typically in main
().
The prototype is:
void crpcut::set_charset
(const char*charset
)
The parameter charset
must be a character set name
recognised by the iconv_open
() function. All output
from the test program will be converted from this character set to the
defined output character set. See also
-C
name
/
--output-charset
=name
.
Example: the test program
#include <crpcut.hpp> TEST(output_string) { static const char str[] = { '\xc2', '\xbf', '\xc3', '\xa5', '\xc3', '\xb1', 0 }; INFO << str; } int main(int argc, char *argv[]) { return crpcut::run(argc, argv); }
uses the default UTF-8
encoding for its strings:
PASSED!: output_string info--------------------------------------------------------------------------- samples/utf8_code.cpp:33 ¿åñ =============================================================================== 1 test cases selected Sum Critical Non-critical PASSED : 1 1 0
While the test program
#include <crpcut.hpp> TEST(output_string) { static const char str[] = { '\xc2', '\xbf', '\xc3', '\xa5', '\xc3', '\xb1', 0 }; INFO << str; } int main(int argc, char *argv[]) { crpcut::set_charset("ISO8859-1"); return crpcut::run(argc, argv); }
defines the character set to ISO8859-1
when
outputting the exact same character sequence:
PASSED!: output_string info--------------------------------------------------------------------------- samples/iso8859_1_code.cpp:33 ¿åñ =============================================================================== 1 test cases selected Sum Critical Non-critical PASSED : 1 1 0
which gives the character sequence a different appearance.