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.
5 #include "dbus/string_util.h"
6 #include "testing/gtest/include/gtest/gtest.h"
8 TEST(StringUtilTest
, IsValidObjectPath
) {
9 EXPECT_TRUE(dbus::IsValidObjectPath("/"));
10 EXPECT_TRUE(dbus::IsValidObjectPath("/foo/bar"));
11 EXPECT_TRUE(dbus::IsValidObjectPath("/hoge_fuga/piyo123"));
13 EXPECT_FALSE(dbus::IsValidObjectPath(""));
15 EXPECT_FALSE(dbus::IsValidObjectPath("//"));
16 EXPECT_FALSE(dbus::IsValidObjectPath("/foo//bar"));
17 EXPECT_FALSE(dbus::IsValidObjectPath("/foo///bar"));
19 EXPECT_FALSE(dbus::IsValidObjectPath("/foo/"));
20 EXPECT_FALSE(dbus::IsValidObjectPath("/foo/bar/"));
21 // Not beginning with '/'.
22 EXPECT_FALSE(dbus::IsValidObjectPath("foo/bar"));
23 // Invalid characters.
24 EXPECT_FALSE(dbus::IsValidObjectPath("/foo.bar"));
25 EXPECT_FALSE(dbus::IsValidObjectPath("/foo/*"));
26 EXPECT_FALSE(dbus::IsValidObjectPath("/foo/bar(1)"));