Commit e9bbfd78 authored by gabime's avatar gabime

merge 1.x

parents c5bb8612 1f35621d
......@@ -118,14 +118,17 @@ TEST_CASE("file_event_handlers", "[file_helper]")
REQUIRE(filename == TEST_FILENAME);
events.push_back(flags::before_open);
};
handlers.after_open = [&](spdlog::filename_t filename, std::FILE *fstream) {
handlers.after_open = [&](spdlog::filename_t filename, std::FILE* fstream) {
REQUIRE(filename == TEST_FILENAME);
REQUIRE(fstream);
fputs("after_open\n", fstream);
events.push_back(flags::after_open);
};
handlers.before_close = [&](spdlog::filename_t filename, std::FILE *fstream) {
handlers.before_close = [&](spdlog::filename_t filename, std::FILE* fstream) {
REQUIRE(filename == TEST_FILENAME);
REQUIRE(fstream);
fputs("before_close\n", fstream);
fflush(fstream);
events.push_back(flags::before_close);
};
handlers.after_close = [&](spdlog::filename_t filename) {
......@@ -133,24 +136,22 @@ TEST_CASE("file_event_handlers", "[file_helper]")
events.push_back(flags::after_close);
};
{
spdlog::details::file_helper helper{handlers};
spdlog::details::file_helper helper{ handlers };
REQUIRE(events.empty());
helper.open(TEST_FILENAME);
REQUIRE(events == std::vector<flags>{flags::before_open, flags::after_open});
events.clear();
helper.reopen(true);
REQUIRE(events == std::vector<flags>{flags::before_close, flags::after_close, flags::before_open, flags::after_open});
events.clear();
helper.close();
helper.close();
REQUIRE(events == std::vector<flags>{flags::before_close, flags::after_close});
REQUIRE(file_contents(TEST_FILENAME) == "after_open\nbefore_close\n");
helper.reopen(true);
events.clear();
events.clear();
}
// make sure that the file_helper destrcutor calls the close callbacks if needed
REQUIRE(events == std::vector<flags>{flags::before_close, flags::after_close});
REQUIRE(file_contents(TEST_FILENAME) == "after_open\nbefore_close\n");
}
}
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment