X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=tests%2Fcodec.cpp;fp=tests%2Fcodec.cpp;h=896ce5d2247e47cc5a6657fe172e043126f3b280;hp=0000000000000000000000000000000000000000;hb=120023d8da0aabcb803a87111608ce84c94661f8;hpb=79482ba7aea1b79c7a310c940cc0292532ef3bcb diff --git a/tests/codec.cpp b/tests/codec.cpp new file mode 100644 index 0000000..896ce5d --- /dev/null +++ b/tests/codec.cpp @@ -0,0 +1,41 @@ +#include +#include +#include + +using namespace std; +using namespace Msp; + +class CodecTests: public Test::RegisteredTest +{ +public: + CodecTests(); + + static const char *get_name() { return "Codec"; } + +private: + void invalid_character(); + void invalid_sequence(); +}; + + +CodecTests::CodecTests() +{ + add(&CodecTests::invalid_character, "invalid_character").expect_throw(); + add(&CodecTests::invalid_sequence, "invalid_sequence").expect_throw(); +} + +void CodecTests::invalid_character() +{ + StringCodec::unichar ch = 0xE4; + StringCodec::Ascii::Encoder enc; + string buf; + enc.encode_char(ch, buf); +} + +void CodecTests::invalid_sequence() +{ + string str = "\343\201"; + string::const_iterator iter = str.begin(); + StringCodec::Utf8::Decoder dec; + dec.decode_char(str, iter); +}