Home | History | Annotate | Download | only in base
      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 
     14 TEST(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