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

Side by Side Diff: test/cctest/test-utils.cc

Issue 113992: fix embedded vector copy constructor and assignment. (Closed)
Patch Set: Created 11 years, 6 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 | « src/utils.h ('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 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 CHECK_EQ(0, strncmp(buffer.start(), s, i - 1)); 170 CHECK_EQ(0, strncmp(buffer.start(), s, i - 1));
171 CHECK_EQ(kMarker, buffer[i]); 171 CHECK_EQ(kMarker, buffer[i]);
172 if (i <= length) { 172 if (i <= length) {
173 CHECK_EQ(i - 1, strlen(buffer.start())); 173 CHECK_EQ(i - 1, strlen(buffer.start()));
174 } else { 174 } else {
175 CHECK_EQ(length, strlen(buffer.start())); 175 CHECK_EQ(length, strlen(buffer.start()));
176 } 176 }
177 buffer.Dispose(); 177 buffer.Dispose();
178 } 178 }
179 } 179 }
180
181
182 // Issue 358: When copying EmbeddedVector, Vector::start_ must point
183 // to the buffer in the copy, not in the source.
184 TEST(EmbeddedVectorCopy) {
185 EmbeddedVector<int, 1> src;
186 src[0] = 100;
187 EmbeddedVector<int, 1> dst = src;
188 CHECK_NE(src.start(), dst.start());
189 CHECK_EQ(src[0], dst[0]);
190 src[0] = 200;
191 CHECK_NE(src[0], dst[0]);
192 }
193
194
195 // Also Issue 358, assignment case.
196 TEST(EmbeddedVectorAssign) {
197 EmbeddedVector<int, 1> src;
198 src[0] = 100;
199 EmbeddedVector<int, 1> dst;
200 dst[0] = 200;
201 CHECK_NE(src.start(), dst.start());
202 CHECK_NE(src[0], dst[0]);
203 dst = src;
204 CHECK_NE(src.start(), dst.start());
205 CHECK_EQ(src[0], dst[0]);
206 src[0] = 200;
207 CHECK_NE(src[0], dst[0]);
208 }
OLDNEW
« no previous file with comments | « src/utils.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698