Roll ICU to r205936
[chromium-blink-merge.git] / dbus / string_util_unittest.cc
blob3d0ff51efd08af25736baeb8f58f676640b5f7c6
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 namespace dbus {
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)"));
31 } // namespace dbus