Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(96)

Side by Side Diff: native_client_sdk/src/tests/nacl_io_test/path_test.cc

Issue 1018393007: [NaCl SDK] nacl_io: Fix bug in Path::Range introduced in recent change. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add additional tests for values completely outside the range Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « native_client_sdk/src/libraries/nacl_io/path.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « native_client_sdk/src/libraries/nacl_io/path.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698