| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <fcntl.h> | 5 #include <fcntl.h> |
| 6 | 6 |
| 7 #include "gtest/gtest.h" | 7 #include "gtest/gtest.h" |
| 8 | 8 |
| 9 #include "nacl_io/kernel_proxy.h" | 9 #include "nacl_io/kernel_proxy.h" |
| 10 #include "nacl_io/path.h" | 10 #include "nacl_io/path.h" |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 EXPECT_TRUE(p.IsAbsolute()); | 63 EXPECT_TRUE(p.IsAbsolute()); |
| 64 EXPECT_FALSE(p.IsRoot()); | 64 EXPECT_FALSE(p.IsRoot()); |
| 65 EXPECT_EQ(2, p.Size()); | 65 EXPECT_EQ(2, p.Size()); |
| 66 EXPECT_EQ("/", p.Part(0)); | 66 EXPECT_EQ("/", p.Part(0)); |
| 67 EXPECT_EQ("foo", p.Part(1)); | 67 EXPECT_EQ("foo", p.Part(1)); |
| 68 EXPECT_EQ("foo", p.Basename()); | 68 EXPECT_EQ("foo", p.Basename()); |
| 69 EXPECT_EQ("/foo", p.Join()); | 69 EXPECT_EQ("/foo", p.Join()); |
| 70 EXPECT_EQ("/", p.Range(0, 1)); | 70 EXPECT_EQ("/", p.Range(0, 1)); |
| 71 EXPECT_EQ("foo", p.Range(1, 2)); | 71 EXPECT_EQ("foo", p.Range(1, 2)); |
| 72 EXPECT_EQ("/foo", p.Range(0, 2)); | 72 EXPECT_EQ("/foo", p.Range(0, 2)); |
| 73 EXPECT_EQ("", p.Range(2, 2)); |
| 73 EXPECT_EQ("/", p.Parent().Join()); | 74 EXPECT_EQ("/", p.Parent().Join()); |
| 74 } | 75 } |
| 75 | 76 |
| 76 TEST(PathTest, TwoPart_Relative) { | 77 TEST(PathTest, TwoPart_Relative) { |
| 77 Path p("foo/bar"); | 78 Path p("foo/bar"); |
| 78 EXPECT_FALSE(p.IsAbsolute()); | 79 EXPECT_FALSE(p.IsAbsolute()); |
| 79 EXPECT_FALSE(p.IsRoot()); | 80 EXPECT_FALSE(p.IsRoot()); |
| 80 EXPECT_EQ(2, p.Size()); | 81 EXPECT_EQ(2, p.Size()); |
| 81 EXPECT_EQ("foo", p.Part(0)); | 82 EXPECT_EQ("foo", p.Part(0)); |
| 82 EXPECT_EQ("bar", p.Part(1)); | 83 EXPECT_EQ("bar", p.Part(1)); |
| 83 EXPECT_EQ("bar", p.Basename()); | 84 EXPECT_EQ("bar", p.Basename()); |
| 84 EXPECT_EQ("foo/bar", p.Join()); | 85 EXPECT_EQ("foo/bar", p.Join()); |
| 85 EXPECT_EQ("foo", p.Range(0, 1)); | 86 EXPECT_EQ("foo", p.Range(0, 1)); |
| 86 EXPECT_EQ("bar", p.Range(1, 2)); | 87 EXPECT_EQ("bar", p.Range(1, 2)); |
| 87 EXPECT_EQ("foo/bar", p.Range(0, 2)); | 88 EXPECT_EQ("foo/bar", p.Range(0, 2)); |
| 89 EXPECT_EQ("", p.Range(2, 2)); |
| 88 EXPECT_EQ("foo", p.Parent().Join()); | 90 EXPECT_EQ("foo", p.Parent().Join()); |
| 89 } | 91 } |
| 90 | 92 |
| 91 TEST(PathTest, MakeRelative) { | 93 TEST(PathTest, MakeRelative) { |
| 92 EXPECT_EQ("", Path("/").MakeRelative().Join()); | 94 EXPECT_EQ("", Path("/").MakeRelative().Join()); |
| 93 EXPECT_EQ("foo/bar/baz", Path("/foo/bar/baz").MakeRelative().Join()); | 95 EXPECT_EQ("foo/bar/baz", Path("/foo/bar/baz").MakeRelative().Join()); |
| 94 EXPECT_EQ("foo/bar/baz", Path("foo/bar/baz").MakeRelative().Join()); | 96 EXPECT_EQ("foo/bar/baz", Path("foo/bar/baz").MakeRelative().Join()); |
| 95 } | 97 } |
| 96 | 98 |
| 97 TEST(PathTest, Normalize_EmptyComponent) { | 99 TEST(PathTest, Normalize_EmptyComponent) { |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 Path p("a/relative/path"); | 180 Path p("a/relative/path"); |
| 179 | 181 |
| 180 EXPECT_EQ("a", p.Range(0, 1)); | 182 EXPECT_EQ("a", p.Range(0, 1)); |
| 181 EXPECT_EQ("a/relative", p.Range(0, 2)); | 183 EXPECT_EQ("a/relative", p.Range(0, 2)); |
| 182 EXPECT_EQ("a/relative/path", p.Range(0, 3)); | 184 EXPECT_EQ("a/relative/path", p.Range(0, 3)); |
| 183 | 185 |
| 184 EXPECT_EQ("relative", p.Range(1, 2)); | 186 EXPECT_EQ("relative", p.Range(1, 2)); |
| 185 EXPECT_EQ("relative/path", p.Range(1, 3)); | 187 EXPECT_EQ("relative/path", p.Range(1, 3)); |
| 186 | 188 |
| 187 EXPECT_EQ("path", p.Range(2, 3)); | 189 EXPECT_EQ("path", p.Range(2, 3)); |
| 190 |
| 191 EXPECT_EQ("", p.Range(2, 100)); |
| 192 EXPECT_EQ("", p.Range(42, 67)); |
| 188 } | 193 } |
| 189 | 194 |
| 190 TEST(PathTest, Range_Absolute) { | 195 TEST(PathTest, Range_Absolute) { |
| 191 Path p("/an/absolute/path"); | 196 Path p("/an/absolute/path"); |
| 192 | 197 |
| 193 EXPECT_EQ("/", p.Range(0, 1)); | 198 EXPECT_EQ("/", p.Range(0, 1)); |
| 194 EXPECT_EQ("/an", p.Range(0, 2)); | 199 EXPECT_EQ("/an", p.Range(0, 2)); |
| 195 EXPECT_EQ("/an/absolute", p.Range(0, 3)); | 200 EXPECT_EQ("/an/absolute", p.Range(0, 3)); |
| 196 EXPECT_EQ("/an/absolute/path", p.Range(0, 4)); | 201 EXPECT_EQ("/an/absolute/path", p.Range(0, 4)); |
| 197 | 202 |
| 198 EXPECT_EQ("an", p.Range(1, 2)); | 203 EXPECT_EQ("an", p.Range(1, 2)); |
| 199 EXPECT_EQ("an/absolute", p.Range(1, 3)); | 204 EXPECT_EQ("an/absolute", p.Range(1, 3)); |
| 200 EXPECT_EQ("an/absolute/path", p.Range(1, 4)); | 205 EXPECT_EQ("an/absolute/path", p.Range(1, 4)); |
| 201 | 206 |
| 202 EXPECT_EQ("absolute", p.Range(2, 3)); | 207 EXPECT_EQ("absolute", p.Range(2, 3)); |
| 203 EXPECT_EQ("absolute/path", p.Range(2, 4)); | 208 EXPECT_EQ("absolute/path", p.Range(2, 4)); |
| 204 | 209 |
| 205 EXPECT_EQ("path", p.Range(3, 4)); | 210 EXPECT_EQ("path", p.Range(3, 4)); |
| 211 |
| 212 EXPECT_EQ("", p.Range(2, 100)); |
| 213 EXPECT_EQ("", p.Range(42, 67)); |
| 206 } | 214 } |
| 207 | 215 |
| 208 TEST(PathTest, Assign) { | 216 TEST(PathTest, Assign) { |
| 209 Path p; | 217 Path p; |
| 210 | 218 |
| 211 p = "foo/bar"; | 219 p = "foo/bar"; |
| 212 EXPECT_EQ("foo/bar", p.Join()); | 220 EXPECT_EQ("foo/bar", p.Join()); |
| 213 | 221 |
| 214 // Should normalize. | 222 // Should normalize. |
| 215 p = "/foo/../bar"; | 223 p = "/foo/../bar"; |
| 216 EXPECT_EQ("/bar", p.Join()); | 224 EXPECT_EQ("/bar", p.Join()); |
| 217 | 225 |
| 218 p = Path("hi/planet"); | 226 p = Path("hi/planet"); |
| 219 EXPECT_EQ("hi/planet", p.Join()); | 227 EXPECT_EQ("hi/planet", p.Join()); |
| 220 } | 228 } |
| 221 | 229 |
| 222 TEST(PathTest, Equals) { | 230 TEST(PathTest, Equals) { |
| 223 EXPECT_TRUE(Path("/foo") == Path("/foo")); | 231 EXPECT_TRUE(Path("/foo") == Path("/foo")); |
| 224 EXPECT_TRUE(Path("foo/../bar") == Path("bar")); | 232 EXPECT_TRUE(Path("foo/../bar") == Path("bar")); |
| 225 EXPECT_TRUE(Path("one/path") != Path("another/path")); | 233 EXPECT_TRUE(Path("one/path") != Path("another/path")); |
| 226 } | 234 } |
| 227 | 235 |
| OLD | NEW |