commit 52e92ae034578572b7ada8030408ed4780a79522
parent 56c4f1373d5060364ad23ce75b15460e78d5ec91
Author: cfillion <cfillion@users.noreply.github.com>
Date: Fri, 27 Nov 2015 00:04:35 -0500
add a test case for a full well-formed database
Diffstat:
2 files changed, 38 insertions(+), 0 deletions(-)
diff --git a/test/database_v1.cpp b/test/database_v1.cpp
@@ -97,6 +97,34 @@ TEST_CASE("default platform", M) {
TEST_CASE("version changelog", M) {
DatabasePtr db = Database::load(DBPATH "changelog.xml");
+ CHECK_FALSE(db->categories().empty());
+ CHECK_FALSE(db->category(0)->packages().empty());
+ CHECK_FALSE(db->category(0)->package(0)->versions().empty());
+
REQUIRE(db->category(0)->package(0)->version(0)->changelog()
== "Hello\nWorld");
}
+
+TEST_CASE("full database", M) {
+ DatabasePtr db = Database::load(DBPATH "full_database.xml");
+ REQUIRE(db->categories().size() == 1);
+
+ CategoryPtr cat = db->category(0);
+ REQUIRE(cat->name() == "Category Name");
+ REQUIRE(cat->packages().size() == 1);
+
+ PackagePtr pack = cat->package(0);
+ REQUIRE(pack->type() == Package::ScriptType);
+ REQUIRE(pack->name() == "Hello World.lua");
+ REQUIRE(pack->author() == "cfillion");
+ REQUIRE(pack->versions().size() == 1);
+
+ VersionPtr ver = pack->version(0);
+ REQUIRE(ver->name() == "1.0");
+ REQUIRE(ver->sources().size() == 1);
+ REQUIRE(ver->changelog() == "Fixed a division by zero error.");
+
+ SourcePtr source = ver->source(0);
+ REQUIRE(source->platform() == Source::GenericPlatform);
+ REQUIRE(source->url() == "https://google.com/");
+}
diff --git a/test/db/v1/full_database.xml b/test/db/v1/full_database.xml
@@ -0,0 +1,10 @@
+<index version="1">
+ <category name="Category Name">
+ <reapack name="Hello World.lua" author="cfillion" type="script">
+ <version name="1.0">
+ <source platform="all">https://google.com/</source>
+ <changelog>Fixed a division by zero error.</changelog>
+ </version>
+ </reapack>
+ </category>
+</index>