notcurses/tests/Exceptions.cpp

32 lines
774 B
C++
Raw Normal View History

#define NCPP_EXCEPTIONS_PLEASE
#include "main.h"
2020-10-03 22:54:34 +00:00
#include <memory>
2020-05-21 21:22:12 +00:00
using namespace ncpp;
TEST_CASE("Exceptions") {
2020-05-21 21:22:12 +00:00
2020-07-23 05:56:42 +00:00
notcurses_options nopts{};
nopts.flags = NCOPTION_SUPPRESS_BANNERS |
NCOPTION_INHIBIT_SETLOCALE;
nopts.loglevel = NCLOGLEVEL_VERBOSE;
SUBCASE("GetInstance") {
CHECK_THROWS_AS(NotCurses::get_instance(), invalid_state_error);
}
SUBCASE("ResetStats") {
2020-07-23 05:56:42 +00:00
NotCurses nc{ nopts };
CHECK_THROWS_AS(nc.reset_stats(nullptr), invalid_argument);
}
// ncpp only allows one notcurses object at a time (why?)
SUBCASE("OnlyOneNotCurses") {
2020-07-23 05:56:42 +00:00
NotCurses nc{ nopts };
std::unique_ptr<NotCurses> nc2;
// FIXME attempts to match ::init_error have failed thus far :/
CHECK_THROWS(nc2.reset(new NotCurses()));
}
}