1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "dbus/string_util.h" 6 #include "testing/gtest/include/gtest/gtest.h" 7 8 namespace dbus { 9 10 TEST(StringUtilTest, IsValidObjectPath) { 11 EXPECT_TRUE(IsValidObjectPath("/")); 12 EXPECT_TRUE(IsValidObjectPath("/foo/bar")); 13 EXPECT_TRUE(IsValidObjectPath("/hoge_fuga/piyo123")); 14 // Empty string. 15 EXPECT_FALSE(IsValidObjectPath(std::string())); 16 // Empty element. 17 EXPECT_FALSE(IsValidObjectPath("//")); 18 EXPECT_FALSE(IsValidObjectPath("/foo//bar")); 19 EXPECT_FALSE(IsValidObjectPath("/foo///bar")); 20 // Trailing '/'. 21 EXPECT_FALSE(IsValidObjectPath("/foo/")); 22 EXPECT_FALSE(IsValidObjectPath("/foo/bar/")); 23 // Not beginning with '/'. 24 EXPECT_FALSE(IsValidObjectPath("foo/bar")); 25 // Invalid characters. 26 EXPECT_FALSE(IsValidObjectPath("/foo.bar")); 27 EXPECT_FALSE(IsValidObjectPath("/foo/*")); 28 EXPECT_FALSE(IsValidObjectPath("/foo/bar(1)")); 29 } 30 31 } // namespace dbus 32