X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=tst%2Fio%2FTokenTest.cpp;fp=tst%2Fio%2FTokenTest.cpp;h=e794a7b6386daad2f66e5a331fb786d874fe1af6;hb=958ad20b247bbf6a0105bf246d57fc06416ebb58;hp=d0d7fc4d95e89ac1c3dc8f19a2cfc0fd30c8fe02;hpb=3185bad87c06739e4ec19b456c7158437ba9621f;p=blank.git diff --git a/tst/io/TokenTest.cpp b/tst/io/TokenTest.cpp index d0d7fc4..e794a7b 100644 --- a/tst/io/TokenTest.cpp +++ b/tst/io/TokenTest.cpp @@ -361,6 +361,12 @@ void TokenTest::testReader() { assert_read( "reading quaternion [ -0.945, 0, -0.326, 0]", glm::quat(-0.945, 0, -0.326, 0), value_quat, in); + // TODO: comment at end of stream makes it think there's more? + //CPPUNIT_ASSERT_MESSAGE("expected end of stream", !in.HasMore()); + // TODO: and it even works?? + //CPPUNIT_ASSERT_THROW_MESSAGE( + // "extracting token after EOS", + // in.Next(), std::runtime_error); } void TokenTest::testReaderEmpty() { @@ -389,9 +395,30 @@ void TokenTest::testReaderEmpty() { } void TokenTest::testReaderMalformed() { - stringstream ss; - ss << ""; - TokenStreamReader in(ss); + { + stringstream ss; + ss << "a"; + TokenStreamReader in(ss); + CPPUNIT_ASSERT_THROW_MESSAGE( + "unexpected token type should throw", + in.GetInt(), std::runtime_error); + } + { + stringstream ss; + ss << ":"; + TokenStreamReader in(ss); + CPPUNIT_ASSERT_THROW_MESSAGE( + "casting ':' to bool should throw", + in.GetBool(), std::runtime_error); + } + { + stringstream ss; + ss << "hello"; + TokenStreamReader in(ss); + CPPUNIT_ASSERT_THROW_MESSAGE( + "casting \"hello\" to bool should throw", + in.GetBool(), std::runtime_error); + } }