1/* 2 * Copyright 2007 The WebRTC Project Authors. All rights reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11#include "webrtc/base/pathutils.h" 12#include "webrtc/base/gunit.h" 13 14TEST(Pathname, ReturnsDotForEmptyPathname) { 15 const std::string kCWD = 16 std::string(".") + rtc::Pathname::DefaultFolderDelimiter(); 17 18 rtc::Pathname path("/", ""); 19 EXPECT_FALSE(path.empty()); 20 EXPECT_FALSE(path.folder().empty()); 21 EXPECT_TRUE (path.filename().empty()); 22 EXPECT_FALSE(path.pathname().empty()); 23 EXPECT_EQ(std::string("/"), path.pathname()); 24 25 path.SetPathname("", "foo"); 26 EXPECT_FALSE(path.empty()); 27 EXPECT_TRUE (path.folder().empty()); 28 EXPECT_FALSE(path.filename().empty()); 29 EXPECT_FALSE(path.pathname().empty()); 30 EXPECT_EQ(std::string("foo"), path.pathname()); 31 32 path.SetPathname("", ""); 33 EXPECT_TRUE (path.empty()); 34 EXPECT_TRUE (path.folder().empty()); 35 EXPECT_TRUE (path.filename().empty()); 36 EXPECT_FALSE(path.pathname().empty()); 37 EXPECT_EQ(kCWD, path.pathname()); 38 39 path.SetPathname(kCWD, ""); 40 EXPECT_FALSE(path.empty()); 41 EXPECT_FALSE(path.folder().empty()); 42 EXPECT_TRUE (path.filename().empty()); 43 EXPECT_FALSE(path.pathname().empty()); 44 EXPECT_EQ(kCWD, path.pathname()); 45 46 rtc::Pathname path2("c:/foo bar.txt"); 47 EXPECT_EQ(path2.url(), std::string("file:///c:/foo%20bar.txt")); 48} 49