string_util_unittest.cc 1.0 KB

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