00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #include "topic_tools/parse.h"
00029
00030 #include <gtest/gtest.h>
00031
00032 TEST(GetBaseName, simpleName)
00033 {
00034 std::string in("foo");
00035 std::string expected("foo");
00036 std::string out;
00037
00038 ASSERT_TRUE(topic_tools::getBaseName(in, out));
00039 ASSERT_EQ(expected, out);
00040 }
00041
00042 TEST(GetBaseName, leadingSlash)
00043 {
00044 std::string in("/foo");
00045 std::string expected("foo");
00046 std::string out;
00047
00048 ASSERT_TRUE(topic_tools::getBaseName(in, out));
00049 ASSERT_EQ(expected, out);
00050 }
00051
00052 TEST(GetBaseName, trailingSlash)
00053 {
00054 std::string in("foo/");
00055 std::string expected("foo");
00056 std::string out;
00057
00058 ASSERT_TRUE(topic_tools::getBaseName(in, out));
00059 ASSERT_EQ(expected, out);
00060 }
00061
00062 TEST(GetBaseName, multipleLevels)
00063 {
00064 std::string in("bar/bat/baz/foo");
00065 std::string expected("foo");
00066 std::string out;
00067
00068 ASSERT_TRUE(topic_tools::getBaseName(in, out));
00069 ASSERT_EQ(expected, out);
00070 }
00071
00072 TEST(GetBaseName, multipleSlashes)
00073 {
00074 std::string in("//bar///bat/baz/foo///");
00075 std::string expected("foo");
00076 std::string out;
00077
00078 ASSERT_TRUE(topic_tools::getBaseName(in, out));
00079 ASSERT_EQ(expected, out);
00080 }
00081
00082 TEST(GetBaseName, emptyName)
00083 {
00084 std::string in("///");
00085 std::string out;
00086
00087 ASSERT_FALSE(topic_tools::getBaseName(in, out));
00088 }
00089
00090 int main(int argc, char **argv)
00091 {
00092 testing::InitGoogleTest(&argc, argv);
00093 return RUN_ALL_TESTS();
00094 }