first commit

This commit is contained in:
Furqan-14
2026-05-15 10:39:16 +05:30
commit 43eba01201
38 changed files with 2021 additions and 0 deletions
+18
View File
@@ -0,0 +1,18 @@
# Engine test suite. Phase 0: a single smoke test that backs Gate G0.
add_executable(pdfengine_smoke
smoke_test.cpp
)
target_link_libraries(pdfengine_smoke
PRIVATE
pdfengine::pdfengine
GTest::gtest
GTest::gtest_main
)
pdfengine_set_warnings(pdfengine_smoke)
pdfengine_enable_sanitizers(pdfengine_smoke)
# Registers each TEST() with CTest so `ctest --preset ...` runs them.
gtest_discover_tests(pdfengine_smoke)
+27
View File
@@ -0,0 +1,27 @@
// Phase 0 smoke test: proves the engine library compiles, links against its
// vcpkg dependencies, and is callable. This is what Gate G0 ("infrastructure
// compiles on all platforms") checks in CI.
#include <gtest/gtest.h>
#include <pdfengine/pdf_engine.hpp>
#include <string_view>
TEST(EngineSmoke, VersionIsReported) {
EXPECT_FALSE(pdfengine::engineVersion().empty());
EXPECT_EQ(pdfengine::engineVersion(), pdfengine::version_string);
}
TEST(EngineSmoke, BuildInfoMentionsVersion) {
const std::string_view info = pdfengine::engineBuildInfo();
EXPECT_NE(info.find(pdfengine::version_string), std::string_view::npos);
}
TEST(EngineSmoke, BuildInfoConsistentWithPdfiumLinkage) {
const std::string_view info = pdfengine::engineBuildInfo();
const bool says_on = info.find("pdfium=on") != std::string_view::npos;
EXPECT_EQ(says_on, pdfengine::engineHasPdfium());
}
TEST(EngineSmoke, LogBuildInfoDoesNotThrow) {
// Exercises the spdlog dependency end to end (compile + link + call).
EXPECT_NO_THROW(pdfengine::engineLogBuildInfo());
}