]> git.saurik.com Git - apt.git/blobdiff - test/libapt/strutil_test.cc
fix test/integration/test-apt-helper
[apt.git] / test / libapt / strutil_test.cc
index bfe0d722254b1b12129d9c6720691ef2587a899c..618f4daba22ce4544645171b288d58d6475d4a13 100644 (file)
@@ -1,8 +1,13 @@
+#include <config.h>
+
 #include <apt-pkg/strutl.h>
 
+#include <string>
+#include <vector>
+
 #include "assert.h"
 
-int main(int argc,char *argv[])
+int main()
 {
    std::string input, output, expected;
 
@@ -42,5 +47,50 @@ int main(int argc,char *argv[])
    output = DeEscapeString(input);
    equals(output, expected);
 
+   // Split
+   input = "status: libnet1:amd64: unpacked";
+   std::vector<std::string> result = StringSplit(input, ": ");
+   equals(result[0], "status");
+   equals(result[1], "libnet1:amd64");
+   equals(result[2], "unpacked");
+   equals(result.size(), 3);
+
+   input = "status: libnet1:amd64: unpacked";
+   result = StringSplit(input, "xxx");
+   equals(result[0], input);
+   equals(result.size(), 1);
+
+   input = "status: libnet1:amd64: unpacked";
+   result = StringSplit(input, "");
+   equals(result.size(), 0);
+
+   input = "x:y:z";
+   result = StringSplit(input, ":", 2);
+   equals(result.size(), 2);
+   equals(result[0], "x");
+   equals(result[1], "y:z");
+
+   input = "abc";
+   result = StringSplit(input, "");
+   equals(result.size(), 0);
+
+   // endswith
+   bool b;
+   input = "abcd";
+   b = APT::String::Endswith(input, "d");
+   equals(b, true);
+
+   b = APT::String::Endswith(input, "cd");
+   equals(b, true);
+
+   b = APT::String::Endswith(input, "abcd");
+   equals(b, true);
+
+   b = APT::String::Endswith(input, "x");
+   equals(b, false);
+
+   b = APT::String::Endswith(input, "abcndefg");
+   equals(b, false);
+
    return 0;
 }