summaryrefslogtreecommitdiff
path: root/test/ValueBaseBencodeParserTest.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com>2022-04-08 23:29:13 +0900
committerGitHub <noreply@github.com>2022-04-08 23:29:13 +0900
commit998f203288e399d371a91c6ecfb22f9ce2b26105 (patch)
tree6110994e4a9f28608da92e41b235990257ba13eb /test/ValueBaseBencodeParserTest.cc
parent37a7419fed8e6035a77c30bef456e36cbfd60245 (diff)
parentba36a38a6c4be38fe4e09cc95a40b58a48daed79 (diff)
Merge pull request #1905 from aria2/bt-bencode-allow-empty-dict-name
Allow empty dist name in bencode which is needed for hybrid torrent
Diffstat (limited to 'test/ValueBaseBencodeParserTest.cc')
-rw-r--r--test/ValueBaseBencodeParserTest.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/ValueBaseBencodeParserTest.cc b/test/ValueBaseBencodeParserTest.cc
index 30cca2f4..2e12ec49 100644
--- a/test/ValueBaseBencodeParserTest.cc
+++ b/test/ValueBaseBencodeParserTest.cc
@@ -208,6 +208,16 @@ void ValueBaseBencodeParserTest::testParseUpdate()
// Get trailing garbage position
CPPUNIT_ASSERT_EQUAL((ssize_t)7, error);
}
+ {
+ // dict, empty member name
+ std::string src = "d0:i123ee";
+ std::shared_ptr<ValueBase> d =
+ parser.parseFinal(src.c_str(), src.size(), error);
+ Dict* dict = downcast<Dict>(d);
+ CPPUNIT_ASSERT(dict);
+ CPPUNIT_ASSERT(dict->get(""));
+ CPPUNIT_ASSERT_EQUAL((int64_t)123, downcast<Integer>(dict->get(""))->i());
+ }
}
} // namespace aria2