commit 3256f87ed4e548d19ff87133d9f1aa5930021e0c
parent e073e5e5f72c146897773aaa12d342e2dc1aae23
Author: cfillion <cfillion@users.noreply.github.com>
Date: Tue, 8 Mar 2016 02:38:57 -0500
read the suggested repo name from an arguement of the root tag instead
Diffstat:
4 files changed, 14 insertions(+), 31 deletions(-)
diff --git a/src/index_v1.cpp b/src/index_v1.cpp
@@ -30,6 +30,11 @@ static void LoadVersionV1(TiXmlElement *, Package *pkg);
void Index::loadV1(TiXmlElement *root, Index *ri)
{
+ if(ri->name().empty()) {
+ if(const char *name = root->Attribute("name"))
+ ri->setName(name);
+ }
+
TiXmlElement *node = root->FirstChildElement("category");
while(node) {
@@ -53,13 +58,6 @@ void LoadMetadataV1(TiXmlElement *meta, Index *ri)
ri->setAboutText(rtf);
}
- node = meta->FirstChildElement("name");
-
- if(node && ri->name().empty()) {
- if(const char *name = node->GetText())
- ri->setName(name);
- }
-
node = meta->FirstChildElement("link");
while(node) {
diff --git a/test/index.cpp b/test/index.cpp
@@ -237,6 +237,12 @@ TEST_CASE("repository links", M) {
}
}
+TEST_CASE("link type from string", M) {
+ REQUIRE(Index::linkTypeFor("website") == Index::WebsiteLink);
+ REQUIRE(Index::linkTypeFor("donation") == Index::DonationLink);
+ REQUIRE(Index::linkTypeFor("bacon") == Index::WebsiteLink);
+}
+
TEST_CASE("set index name", M) {
SECTION("set") {
Index ri({});
@@ -256,9 +262,3 @@ TEST_CASE("set index name", M) {
REQUIRE(ri.name() == "hello");
}
}
-
-TEST_CASE("link type from string", M) {
- REQUIRE(Index::linkTypeFor("website") == Index::WebsiteLink);
- REQUIRE(Index::linkTypeFor("donation") == Index::DonationLink);
- REQUIRE(Index::linkTypeFor("bacon") == Index::WebsiteLink);
-}
diff --git a/test/index_v1.cpp b/test/index_v1.cpp
@@ -213,26 +213,12 @@ TEST_CASE("read index metadata", M) {
TEST_CASE("read index name (from raw data only)") {
SECTION("valid") {
- IndexPtr ri = Index::load({}, R"XML(
- <index version="1">
- <metadata>
- <name>Hello World</name>
- </metadata>
- </index>
- )XML");
-
+ IndexPtr ri = Index::load({}, "<index version=\"1\" name=\"Hello World\"/>\n");
REQUIRE(ri->name() == "Hello World");
}
- SECTION("broken") {
- IndexPtr ri = Index::load({}, R"XML(
- <index version="1">
- <metadata>
- <name/>
- </metadata>
- </index>
- )XML");
-
+ SECTION("missing") {
+ IndexPtr ri = Index::load({}, "<index version=\"1\"/>\n");
REQUIRE(ri->name() == "");
}
}
diff --git a/test/indexes/v1/ReaPack/metadata.xml b/test/indexes/v1/ReaPack/metadata.xml
@@ -1,6 +1,5 @@
<index version="1">
<metadata>
- <name>This Is Ignored Unless When Importing From URL</name>
<link rel="website" href="http://cfillion.tk" />
<link rel="website" href="https://github.com/cfillion"></link>
<link rel="website">http://twitter.com/cfi30</link>