From f614c8ed0c4ecc4f1811ad1862af33ba16a2afbd Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Mon, 19 Sep 2016 21:02:37 +0100 Subject: Tidy overview categories and add test for unhyphenated category name --- gentoobrowse-api/service/portageimpl.cpp | 7 +------ gentoobrowse-api/unittests/fixtures/categories.dat | 1 + gentoobrowse-api/unittests/testPortage.cpp | 12 +++++++----- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/gentoobrowse-api/service/portageimpl.cpp b/gentoobrowse-api/service/portageimpl.cpp index 7653976..cf03f23 100644 --- a/gentoobrowse-api/service/portageimpl.cpp +++ b/gentoobrowse-api/service/portageimpl.cpp @@ -62,12 +62,7 @@ Portage::getAllOverviewCategories(const Ice::Current &) auto cats = fetchCache(sql::portage::getAllOverviewCategories, 30); for (const auto & c : cats) { auto hyphen = c->name.find('-'); - if (hyphen == (std::string::npos)-1) { - rtn[c->name].push_back(c); - } - else { - rtn[c->name.substr(0, hyphen)].push_back(c); - } + rtn[c->name.substr(0, hyphen)].push_back(c); } return rtn; } diff --git a/gentoobrowse-api/unittests/fixtures/categories.dat b/gentoobrowse-api/unittests/fixtures/categories.dat index 698aeba..dfe9df9 100644 --- a/gentoobrowse-api/unittests/fixtures/categories.dat +++ b/gentoobrowse-api/unittests/fixtures/categories.dat @@ -3,3 +3,4 @@ 316 app-backup The app-backup category contains tools for performing backups of data, including both full and incremental backups, as well as backups to other media (CD-R, Tape, etc.). 311 dev-vcs The dev-vcs category contains utilities focused on version control. 313 net-proxy The net-proxy category contains network proxy software. +315 virtual The virtual category contains packages which satisfy virtual dependencies. diff --git a/gentoobrowse-api/unittests/testPortage.cpp b/gentoobrowse-api/unittests/testPortage.cpp index 2a8dd77..14fe16b 100644 --- a/gentoobrowse-api/unittests/testPortage.cpp +++ b/gentoobrowse-api/unittests/testPortage.cpp @@ -35,11 +35,11 @@ BOOST_AUTO_TEST_CASE( findCategory ) BOOST_AUTO_TEST_CASE( getAllCategories ) { auto cats = p->getAllCategories(); - BOOST_REQUIRE_EQUAL(5, cats.size()); + BOOST_REQUIRE_EQUAL(6, cats.size()); BOOST_REQUIRE_EQUAL(316, cats.front()->categoryid); - BOOST_REQUIRE_EQUAL(313, cats.back()->categoryid); + BOOST_REQUIRE_EQUAL(315, cats.back()->categoryid); BOOST_REQUIRE_EQUAL("app-backup", cats.front()->name); - BOOST_REQUIRE_EQUAL("net-proxy", cats.back()->name); + BOOST_REQUIRE_EQUAL("virtual", cats.back()->name); } BOOST_AUTO_TEST_CASE( getCategoriesInSuper ) @@ -75,13 +75,15 @@ BOOST_AUTO_TEST_CASE( getCategoriesWithRecentAdditions ) BOOST_AUTO_TEST_CASE( getAllOverviewCategories ) { auto cats = p->getAllOverviewCategories(); - BOOST_REQUIRE_EQUAL(3, cats.size()); + BOOST_REQUIRE_EQUAL(4, cats.size()); BOOST_REQUIRE_EQUAL("app", cats.begin()->first); BOOST_REQUIRE_EQUAL(2, cats["app"].size()); BOOST_REQUIRE_EQUAL("app-backup", cats["app"].front()->name); BOOST_REQUIRE_EQUAL("app-crypt", cats["app"].back()->name); BOOST_REQUIRE_EQUAL("2015-12-02T19:12:59.916989", cats["app"].back()->lastaddition); - BOOST_REQUIRE_EQUAL("net", cats.rbegin()->first); + BOOST_REQUIRE_EQUAL("virtual", cats.rbegin()->first); + BOOST_REQUIRE_EQUAL(1, cats.rbegin()->second.size()); + BOOST_REQUIRE_EQUAL("virtual", cats["virtual"].front()->name); } BOOST_AUTO_TEST_CASE( getOverviewCategoriesInSuper ) -- cgit v1.2.3