From faf78e24948280b25ccad71e5fe027809f8c6279 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Tue, 23 Apr 2024 06:10:50 +0200 Subject: Adding upstream version 2.9.2. Signed-off-by: Daniel Baumann --- test/libapt/parsedepends_test.cc | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) (limited to 'test/libapt/parsedepends_test.cc') diff --git a/test/libapt/parsedepends_test.cc b/test/libapt/parsedepends_test.cc index f641c8c..9771c5d 100644 --- a/test/libapt/parsedepends_test.cc +++ b/test/libapt/parsedepends_test.cc @@ -7,7 +7,7 @@ #include #include -#include +#include "common.h" static void parseDependency(bool const StripMultiArch, bool const ParseArchFlags, bool const ParseRestrictionsList, std::string Arch) { @@ -278,3 +278,36 @@ test: if (runner < 8) goto test; // this is the prove: tests are really evil ;) } + +TEST(ParseDependsTest, SpaceHate) +{ + auto const *const Depends = "no(=1), some(<<1),some (<<1),some( <<1),some(<< 1),some(<<1 ),some(<<1) ,last (=1)"; + const char* const End = Depends + strlen(Depends); + + const char* Start = Depends; + std::string Package; + std::string Version; + unsigned int Op = 29; + + Start = debListParser::ParseDepends(Start, End, Package, Version, Op); + EXPECT_NE(nullptr, Start); + EXPECT_EQ("no", Package); + EXPECT_EQ("1", Version); + EXPECT_EQ(pkgCache::Dep::Equals, Op); + + for (int i = 0; i < 6; ++i) + { + SCOPED_TRACE(i); + Start = debListParser::ParseDepends(Start, End, Package, Version, Op); + EXPECT_NE(nullptr, Start); + EXPECT_EQ("some", Package); + EXPECT_EQ("1", Version); + EXPECT_EQ(pkgCache::Dep::Less, Op); + } + + Start = debListParser::ParseDepends(Start, End, Package, Version, Op); + EXPECT_EQ(End, Start); + EXPECT_EQ("last", Package); + EXPECT_EQ("1", Version); + EXPECT_EQ(pkgCache::Dep::Equals, Op); +} -- cgit v1.2.3