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

Side by Side Diff: third_party/WebKit/Source/platform/image-decoders/SegmentStreamTest.cpp

Issue 2565323003: Move gif image decoder to SkCodec (Closed)
Patch Set: Cleaning up SegmentStream tests Created 3 years, 7 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
OLDNEW
(Empty)
1 // Copyright (c) 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "platform/image-decoders/SegmentStream.h"
6
7 #include <memory>
8 #include "platform/SharedBuffer.h"
9 #include "platform/wtf/PtrUtil.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11
12 // SegmentStream has 4 accessors which do not alter state:
13 // - isCleared()
14 // - isAtEnd()
15 // - getPosition()
16 // - getLength()
17 //
18 // For every operation which changes state we can test:
19 // - the operation completed as expected,
20 // - the accessors did not change, and/or
21 // - the accessors changed in the way we expected.
22 //
23 // There are actually 2 more accessors:
24 // - hasPosition()
25 // - hasLength()
26 // but these should always return true to indicate that we can call getLength()
27 // for example. So let's not add them to every state changing operation and add
28 // needless complexity.
29
30 namespace {
31
32 constexpr size_t kBufferAllocationSize = 20;
33 constexpr size_t kInsideBufferPosition = 10;
34 constexpr size_t kPastEndOfBufferPosition = 30;
35
36 testing::AssertionResult IsCleared(const blink::SegmentStream&);
37 testing::AssertionResult IsAtEnd(const blink::SegmentStream&);
38 testing::AssertionResult PositionIsZero(const blink::SegmentStream&);
39 testing::AssertionResult PositionIsInsideBuffer(const blink::SegmentStream&);
40 testing::AssertionResult PositionIsAtEndOfBuffer(const blink::SegmentStream&);
41 testing::AssertionResult LengthIsZero(const blink::SegmentStream&);
42 testing::AssertionResult LengthIsAllocationSize(const blink::SegmentStream&);
43
44 // Many of these tests require a SegmentStream that can be read from.
45 // This means the stream must have a buffer and contents.
46 //
47 // This function creates a buffer of size |kBufferAllocationSize|
48 // and prepares a SegmentStream with that buffer.
49 void MakeSegmentStreamReadable(blink::SegmentStream* segment_stream) {
scroggo_chromium 2017/04/26 19:02:23 I guess you named it this because it will make rea
cblume 2017/04/26 19:16:06 I just unblocked moving for SkNoncopyable types, w
50 std::array<char, kBufferAllocationSize> raw_buffer;
51
52 RefPtr<blink::SharedBuffer> shared_buffer =
53 blink::SharedBuffer::Create(raw_buffer.data(), kBufferAllocationSize);
54
55 RefPtr<blink::SegmentReader> segment_reader =
56 blink::SegmentReader::CreateFromSharedBuffer(std::move(shared_buffer));
57
58 segment_stream->SetReader(segment_reader.Get());
59 }
60
61 } // namespace
62
63 namespace blink {
64
65 TEST(SegmentStreamTest, DefaultConstructorShouldSetIsCleared) {
66 SegmentStream segment_stream;
67
68 ASSERT_TRUE(IsCleared(segment_stream));
69 }
70
71 TEST(SegmentStreamTest, DefaultConstructorShouldSetIsAtEnd) {
72 SegmentStream segment_stream;
73
74 ASSERT_TRUE(IsAtEnd(segment_stream));
75 }
76
77 TEST(SegmentStreamTest, DefaultContructorShouldClearPosition) {
78 SegmentStream segment_stream;
79
80 ASSERT_TRUE(PositionIsZero(segment_stream));
81 }
82
83 TEST(SegmentStreamTest, DefaultConstructorShouldHaveZeroLength) {
84 SegmentStream segment_stream;
85
86 ASSERT_TRUE(LengthIsZero(segment_stream));
87 }
88
89 TEST(SegmentStreamTest, SetReaderShouldUnsetIsCleared) {
90 SegmentStream segment_stream;
91 MakeSegmentStreamReadable(&segment_stream);
92
93 ASSERT_FALSE(IsCleared(segment_stream));
94 }
95
96 TEST(SegmentStreamTest, SetReaderShouldUnsetIsAtEnd) {
97 SegmentStream segment_stream;
98 MakeSegmentStreamReadable(&segment_stream);
99
100 ASSERT_FALSE(IsAtEnd(segment_stream));
101 }
102
103 TEST(SegmentStreamTest, SetReaderShouldNotChangePosition) {
104 SegmentStream segment_stream;
105 MakeSegmentStreamReadable(&segment_stream);
106
107 ASSERT_TRUE(PositionIsZero(segment_stream));
108 }
109
110 TEST(SegmentStreamTest, SetReaderShouldUpdateLength) {
111 SegmentStream segment_stream;
112 MakeSegmentStreamReadable(&segment_stream);
113
114 ASSERT_TRUE(LengthIsAllocationSize(segment_stream));
115 }
116
117 TEST(SegmentStreamTest, SetReaderShouldSetIsClearedWhenSetToNull) {
118 SegmentStream segment_stream;
119 MakeSegmentStreamReadable(&segment_stream);
120 ASSERT_FALSE(IsCleared(segment_stream));
121
122 segment_stream.SetReader(nullptr);
123 ASSERT_TRUE(IsCleared(segment_stream));
124 }
125
126 TEST(SegmentStreamTest, SetReaderShouldSetIsClearedWhenReaderSizeNotBigEnough) {
127 SegmentStream segment_stream;
128
129 segment_stream.seek(kPastEndOfBufferPosition);
130
131 MakeSegmentStreamReadable(&segment_stream);
132
133 ASSERT_TRUE(IsCleared(segment_stream));
134 }
135
136 TEST(SegmentStreamTest, SetReaderShouldSetIsAtEndWhenReaderSizeNotBigEnough) {
137 SegmentStream segment_stream;
138
139 segment_stream.seek(kPastEndOfBufferPosition);
140
141 MakeSegmentStreamReadable(&segment_stream);
142
143 ASSERT_TRUE(IsAtEnd(segment_stream));
144 }
145
146 TEST(SegmentStreamTest,
147 SetReaderShouldNotChangePositionWhenReaderSizeNotBigEnough) {
148 SegmentStream segment_stream;
149
150 segment_stream.seek(kPastEndOfBufferPosition);
151
152 MakeSegmentStreamReadable(&segment_stream);
153
154 ASSERT_EQ(kPastEndOfBufferPosition, segment_stream.getPosition());
155 }
156
157 TEST(SegmentStreamTest, SetReaderShouldChangeLengthWhenReaderSizeNotBigEnough) {
158 SegmentStream segment_stream;
159
160 segment_stream.seek(kPastEndOfBufferPosition);
161
162 MakeSegmentStreamReadable(&segment_stream);
163
164 ASSERT_TRUE(LengthIsAllocationSize(segment_stream));
165 }
166
167 TEST(SegmentStreamTest, SetReaderShouldSetIsAtEndWhenSetToNull) {
168 SegmentStream segment_stream;
169 MakeSegmentStreamReadable(&segment_stream);
170 ASSERT_FALSE(IsAtEnd(segment_stream));
171
172 segment_stream.SetReader(nullptr);
173 ASSERT_TRUE(IsAtEnd(segment_stream));
174 }
175
176 TEST(SegmentStreamTest, SetReaderShouldNotChangePositionWhenSetToNull) {
177 SegmentStream segment_stream;
178 MakeSegmentStreamReadable(&segment_stream);
179
180 std::array<char, kInsideBufferPosition> read_buffer;
181 const size_t amount_read =
182 segment_stream.read(read_buffer.data(), kInsideBufferPosition);
183 ASSERT_EQ(kInsideBufferPosition, amount_read);
184 const size_t pre_nulled_position = segment_stream.getPosition();
185 ASSERT_EQ(amount_read, pre_nulled_position);
186
187 segment_stream.SetReader(nullptr);
188 ASSERT_EQ(pre_nulled_position, segment_stream.getPosition());
189 }
190
191 TEST(SegmentStreamTest, SetReaderShouldClearLengthWhenSetToNull) {
192 SegmentStream segment_stream;
193 MakeSegmentStreamReadable(&segment_stream);
194
195 segment_stream.SetReader(nullptr);
196 ASSERT_TRUE(LengthIsZero(segment_stream));
197 }
198
199 TEST(SegmentStreamTest, ReadShouldConsumeBuffer) {
200 SegmentStream segment_stream;
201 MakeSegmentStreamReadable(&segment_stream);
202
203 std::array<char, kInsideBufferPosition> read_buffer;
204 const size_t amount_read =
205 segment_stream.read(read_buffer.data(), kInsideBufferPosition);
206 ASSERT_EQ(kInsideBufferPosition, amount_read);
207 }
208
209 TEST(SegmentStreamTest, ReadShouldNotClear) {
210 SegmentStream segment_stream;
211 MakeSegmentStreamReadable(&segment_stream);
212
213 std::array<char, kInsideBufferPosition> read_buffer;
214 segment_stream.read(read_buffer.data(), kInsideBufferPosition);
215 ASSERT_FALSE(IsCleared(segment_stream));
216 }
217
218 TEST(SegmentStreamTest, ReadShouldUpdateIsAtEnd) {
219 SegmentStream segment_stream;
220 MakeSegmentStreamReadable(&segment_stream);
221 ASSERT_FALSE(IsAtEnd(segment_stream));
222
223 std::array<char, kBufferAllocationSize> read_buffer;
224 const size_t amount_read =
225 segment_stream.read(read_buffer.data(), kBufferAllocationSize);
226 ASSERT_EQ(kBufferAllocationSize, amount_read);
227 ASSERT_TRUE(IsAtEnd(segment_stream));
228 }
229
230 TEST(SegmentStreamTest, ReadShouldUpdatePosition) {
231 SegmentStream segment_stream;
232 MakeSegmentStreamReadable(&segment_stream);
233 ASSERT_TRUE(PositionIsZero(segment_stream));
234
235 std::array<char, kInsideBufferPosition> read_buffer;
236 const size_t amount_read =
237 segment_stream.read(read_buffer.data(), kInsideBufferPosition);
238 ASSERT_EQ(amount_read, segment_stream.getPosition());
239 ASSERT_TRUE(PositionIsInsideBuffer(segment_stream));
240 }
241
242 TEST(SegmentStreamTest, ReadShouldNotChangeLength) {
243 SegmentStream segment_stream;
244 MakeSegmentStreamReadable(&segment_stream);
245
246 const size_t length = segment_stream.getLength();
247 std::array<char, kInsideBufferPosition> read_buffer;
248 segment_stream.read(read_buffer.data(), kInsideBufferPosition);
249 ASSERT_EQ(segment_stream.getLength(), length);
250 }
251
252 TEST(SegmentStreamTest, ReadShouldNotConsumeBufferWhenCleared) {
253 SegmentStream segment_stream;
254 MakeSegmentStreamReadable(&segment_stream);
255
256 std::array<char, kInsideBufferPosition> read_buffer;
257 const auto read_buffer_as_void_ptr =
258 reinterpret_cast<void*>(read_buffer.data());
259
260 segment_stream.SetReader(nullptr);
261 ASSERT_TRUE(IsCleared(segment_stream));
262
263 ASSERT_EQ(
264 0u, segment_stream.read(read_buffer_as_void_ptr, kInsideBufferPosition));
265 }
266
267 TEST(SegmentStreamTest, ReadShouldConsumeBufferWithoutGoingPastTheEnd) {
268 SegmentStream segment_stream;
269 MakeSegmentStreamReadable(&segment_stream);
270
271 std::array<char, kPastEndOfBufferPosition> read_buffer;
272 const size_t amount_read =
273 segment_stream.read(read_buffer.data(), kPastEndOfBufferPosition);
274 ASSERT_EQ(amount_read, segment_stream.getLength());
275 }
276
277 TEST(SegmentStreamTest, ReadShouldSetIsAtEndWhenPastEnd) {
278 SegmentStream segment_stream;
279 MakeSegmentStreamReadable(&segment_stream);
280 ASSERT_FALSE(IsAtEnd(segment_stream));
281
282 std::array<char, kPastEndOfBufferPosition> read_buffer;
283 segment_stream.read(read_buffer.data(), kPastEndOfBufferPosition);
284 ASSERT_TRUE(IsAtEnd(segment_stream));
285 }
286
287 TEST(SegmentStreamTest, ReadShouldTruncatePositionWhenPastEnd) {
288 SegmentStream segment_stream;
289 MakeSegmentStreamReadable(&segment_stream);
290 ASSERT_TRUE(PositionIsZero(segment_stream));
291
292 std::array<char, kPastEndOfBufferPosition> read_buffer;
293 const size_t amount_read =
294 segment_stream.read(read_buffer.data(), kPastEndOfBufferPosition);
295 ASSERT_EQ(amount_read, segment_stream.getPosition());
296 ASSERT_TRUE(PositionIsAtEndOfBuffer(segment_stream));
297 }
298
299 TEST(SegmentStreamTest, PeekShouldConsumeBuffer) {
300 SegmentStream segment_stream;
301 MakeSegmentStreamReadable(&segment_stream);
302
303 std::array<char, kInsideBufferPosition> peek_buffer;
304 const size_t amount_peeked =
305 segment_stream.peek(peek_buffer.data(), kInsideBufferPosition);
306 ASSERT_EQ(kInsideBufferPosition, amount_peeked);
307 }
308
309 TEST(SegmentStreamTest, PeekShouldNotClear) {
310 SegmentStream segment_stream;
311 MakeSegmentStreamReadable(&segment_stream);
312
313 std::array<char, kInsideBufferPosition> peek_buffer;
314 segment_stream.peek(peek_buffer.data(), kInsideBufferPosition);
315 ASSERT_FALSE(IsCleared(segment_stream));
316 }
317
318 TEST(SegmentStreamTest, PeekShouldNotUpdateIsAtEnd) {
319 SegmentStream segment_stream;
320 MakeSegmentStreamReadable(&segment_stream);
321 ASSERT_FALSE(IsAtEnd(segment_stream));
322
323 std::array<char, kBufferAllocationSize> peek_buffer;
324 const size_t amount_peeked =
325 segment_stream.peek(peek_buffer.data(), kBufferAllocationSize);
326 ASSERT_EQ(kBufferAllocationSize, amount_peeked);
327 ASSERT_FALSE(IsAtEnd(segment_stream));
328 }
329
330 TEST(SegmentStreamTest, PeekShouldNotUpdatePosition) {
331 SegmentStream segment_stream;
332 MakeSegmentStreamReadable(&segment_stream);
333 ASSERT_TRUE(PositionIsZero(segment_stream));
334
335 std::array<char, kInsideBufferPosition> peek_buffer;
336 segment_stream.peek(peek_buffer.data(), kInsideBufferPosition);
337 ASSERT_TRUE(PositionIsZero(segment_stream));
338 }
339
340 TEST(SegmentStreamTest, PeekShouldNotChangeLength) {
341 SegmentStream segment_stream;
342 MakeSegmentStreamReadable(&segment_stream);
343
344 const size_t length = segment_stream.getLength();
345 std::array<char, kInsideBufferPosition> peek_buffer;
346 segment_stream.peek(peek_buffer.data(), kInsideBufferPosition);
347 ASSERT_EQ(length, segment_stream.getLength());
348 }
349
350 TEST(SegmentStreamTest, PeekShouldNotConsumeBufferWhenCleared) {
351 SegmentStream segment_stream;
352 MakeSegmentStreamReadable(&segment_stream);
353
354 std::array<char, kInsideBufferPosition> peek_buffer;
355 const auto peek_buffer_as_void_ptr =
356 reinterpret_cast<void*>(peek_buffer.data());
357
358 segment_stream.SetReader(nullptr);
359 ASSERT_TRUE(IsCleared(segment_stream));
360
361 ASSERT_EQ(
362 0u, segment_stream.peek(peek_buffer_as_void_ptr, kInsideBufferPosition));
363 }
364
365 TEST(SegmentStreamTest, PeekShouldConsumeBufferWithoutGoingPastTheEnd) {
366 SegmentStream segment_stream;
367 MakeSegmentStreamReadable(&segment_stream);
368
369 std::array<char, kPastEndOfBufferPosition> peek_buffer;
370 const size_t amount_peeked =
371 segment_stream.peek(peek_buffer.data(), kPastEndOfBufferPosition);
372 ASSERT_EQ(amount_peeked, segment_stream.getLength());
373 }
374
375 TEST(SegmentStreamTest, PeekShouldNotSetIsAtEndWhenPastEnd) {
376 SegmentStream segment_stream;
377 MakeSegmentStreamReadable(&segment_stream);
378 ASSERT_FALSE(IsAtEnd(segment_stream));
379
380 std::array<char, kPastEndOfBufferPosition> peek_buffer;
381 segment_stream.peek(peek_buffer.data(), kPastEndOfBufferPosition);
382 ASSERT_FALSE(IsAtEnd(segment_stream));
383 }
384
385 TEST(SegmentStreamTest, PeekShouldNotTruncatePositionWhenPastEnd) {
386 SegmentStream segment_stream;
387 MakeSegmentStreamReadable(&segment_stream);
388 ASSERT_TRUE(PositionIsZero(segment_stream));
389
390 std::array<char, kPastEndOfBufferPosition> peek_buffer;
391 segment_stream.peek(peek_buffer.data(), kPastEndOfBufferPosition);
392 ASSERT_TRUE(PositionIsZero(segment_stream));
393 }
394
395 TEST(SegmentStreamTest, RewindShouldNotClear) {
396 SegmentStream segment_stream;
397 MakeSegmentStreamReadable(&segment_stream);
398
399 std::array<char, kInsideBufferPosition> read_buffer;
400 segment_stream.read(read_buffer.data(), kInsideBufferPosition);
401 ASSERT_FALSE(IsCleared(segment_stream));
402
403 segment_stream.rewind();
404 ASSERT_FALSE(IsCleared(segment_stream));
405 }
406
407 TEST(SegmentStreamTest, RewindShouldNotSetAtEnd) {
408 SegmentStream segment_stream;
409 MakeSegmentStreamReadable(&segment_stream);
410
411 std::array<char, kInsideBufferPosition> read_buffer;
412 segment_stream.read(read_buffer.data(), kInsideBufferPosition);
413 ASSERT_FALSE(IsAtEnd(segment_stream));
414
415 segment_stream.rewind();
416 ASSERT_FALSE(IsAtEnd(segment_stream));
417 }
418
419 TEST(SegmentStreamTest, RewindShouldResetPosition) {
420 SegmentStream segment_stream;
421 MakeSegmentStreamReadable(&segment_stream);
422
423 std::array<char, kInsideBufferPosition> read_buffer;
424 segment_stream.read(read_buffer.data(), kInsideBufferPosition);
425 ASSERT_TRUE(PositionIsInsideBuffer(segment_stream));
426
427 segment_stream.rewind();
428 ASSERT_TRUE(PositionIsZero(segment_stream));
429 }
430
431 TEST(SegmentStreamTest, RewindShouldNotChangeLength) {
432 SegmentStream segment_stream;
433 MakeSegmentStreamReadable(&segment_stream);
434
435 std::array<char, kInsideBufferPosition> read_buffer;
436 segment_stream.read(read_buffer.data(), kInsideBufferPosition);
437 const size_t pre_rewind_length = segment_stream.getLength();
438
439 segment_stream.rewind();
440 ASSERT_EQ(pre_rewind_length, segment_stream.getLength());
441 }
442
443 TEST(SegmentStreamTest, HasPositionShouldBeSupported) {
444 blink::SegmentStream segment_stream;
445 ASSERT_TRUE(segment_stream.hasPosition());
446 }
447
448 TEST(SegmentStreamTest, SeekShouldNotSetIsCleared) {
449 SegmentStream segment_stream;
450 MakeSegmentStreamReadable(&segment_stream);
451 ASSERT_FALSE(IsCleared(segment_stream));
452
453 segment_stream.seek(kInsideBufferPosition);
454 ASSERT_FALSE(IsCleared(segment_stream));
455 }
456
457 TEST(SegmentStreamTest, SeekShouldNotSetIsAtEndWhenSeekingInsideTheBuffer) {
458 SegmentStream segment_stream;
459 MakeSegmentStreamReadable(&segment_stream);
460 ASSERT_FALSE(IsAtEnd(segment_stream));
461
462 segment_stream.seek(kInsideBufferPosition);
463 ASSERT_FALSE(IsAtEnd(segment_stream));
464 }
465
466 TEST(SegmentStreamTest, SeekShouldSetIsAtEndWhenSeekingToTheEndOfTheBuffer) {
467 SegmentStream segment_stream;
468 MakeSegmentStreamReadable(&segment_stream);
469 ASSERT_FALSE(IsAtEnd(segment_stream));
470
471 segment_stream.seek(kBufferAllocationSize);
472 ASSERT_TRUE(IsAtEnd(segment_stream));
473 }
474
475 TEST(SegmentStreamTest, SeekShouldUpdatePosition) {
476 SegmentStream segment_stream;
477 MakeSegmentStreamReadable(&segment_stream);
478 ASSERT_TRUE(PositionIsZero(segment_stream));
479
480 segment_stream.seek(kInsideBufferPosition);
481 ASSERT_EQ(kInsideBufferPosition, segment_stream.getPosition());
482 }
483
484 TEST(SegmentStreamTest, SeekShouldNotTruncatePositionWhenPastEnd) {
485 SegmentStream segment_stream;
486 MakeSegmentStreamReadable(&segment_stream);
487 ASSERT_TRUE(PositionIsZero(segment_stream));
488
489 segment_stream.seek(kPastEndOfBufferPosition);
490 ASSERT_EQ(kPastEndOfBufferPosition, segment_stream.getPosition());
491 }
492
493 TEST(SegmentStreamTest, SeekShouldNotUpdateLength) {
494 SegmentStream segment_stream;
495 MakeSegmentStreamReadable(&segment_stream);
496
497 segment_stream.seek(kInsideBufferPosition);
498 ASSERT_EQ(kBufferAllocationSize, segment_stream.getLength());
499 }
500
501 TEST(SegmentStreamTest, MoveShouldNotSetCleared) {
502 SegmentStream segment_stream;
503 MakeSegmentStreamReadable(&segment_stream);
504
505 segment_stream.move(kInsideBufferPosition);
506 ASSERT_FALSE(IsCleared(segment_stream));
507 }
508
509 TEST(SegmentStreamTest, MoveShouldUpdatePosition) {
510 SegmentStream segment_stream;
511 MakeSegmentStreamReadable(&segment_stream);
512
513 segment_stream.move(kInsideBufferPosition);
514 ASSERT_EQ(kInsideBufferPosition, segment_stream.getPosition());
515 }
516
517 TEST(SegmentStreamTest, MoveShouldNotTruncatePositionWhenPastEnd) {
518 SegmentStream segment_stream;
519 MakeSegmentStreamReadable(&segment_stream);
520
521 segment_stream.move(kPastEndOfBufferPosition);
522 ASSERT_EQ(kPastEndOfBufferPosition, segment_stream.getPosition());
523 }
524
525 TEST(SegmentStreamTest, MoveShouldClampPositionToZeroWhenGoingNegative) {
526 SegmentStream segment_stream;
527 MakeSegmentStreamReadable(&segment_stream);
528
529 // Move the position off of 0
530 std::array<char, 1> read_buffer;
531 segment_stream.read(read_buffer.data(), 1);
532 ASSERT_FALSE(PositionIsZero(segment_stream));
533
534 segment_stream.move(-2);
535 ASSERT_TRUE(PositionIsZero(segment_stream));
536 }
537
538 TEST(SegmentStreamTest, MoveShouldNotChangeLength) {
539 SegmentStream segment_stream;
540 MakeSegmentStreamReadable(&segment_stream);
541 ASSERT_TRUE(LengthIsAllocationSize(segment_stream));
542
543 segment_stream.move(kInsideBufferPosition);
544 ASSERT_TRUE(LengthIsAllocationSize(segment_stream));
545 }
546
547 TEST(SegmentStreamTest, HasLengthShouldBeSupported) {
548 blink::SegmentStream segment_stream;
549 ASSERT_TRUE(segment_stream.hasLength());
550 }
551
552 } // namespace blink
553
554 namespace {
555
556 testing::AssertionResult IsCleared(const blink::SegmentStream& segment_stream) {
557 if (segment_stream.IsCleared())
558 return testing::AssertionSuccess();
559
560 return testing::AssertionFailure() << "SegmentStream is not clear";
561 }
562
563 testing::AssertionResult IsAtEnd(const blink::SegmentStream& segment_stream) {
564 if (segment_stream.isAtEnd())
565 return testing::AssertionSuccess();
566
567 return testing::AssertionFailure() << "SegmentStream is not at the end";
568 }
569
570 testing::AssertionResult PositionIsZero(
571 const blink::SegmentStream& segment_stream) {
572 if (segment_stream.getPosition() == 0ul)
573 return testing::AssertionSuccess();
574
575 return testing::AssertionFailure() << "SegmentStream position is not 0";
576 }
577
578 testing::AssertionResult PositionIsInsideBuffer(
579 const blink::SegmentStream& segment_stream) {
580 if (segment_stream.getPosition() == kInsideBufferPosition)
581 return testing::AssertionSuccess();
582
583 return testing::AssertionFailure()
584 << "SegmentStream position is not inside the buffer";
585 }
586
587 testing::AssertionResult PositionIsAtEndOfBuffer(
588 const blink::SegmentStream& segment_stream) {
589 if (segment_stream.getPosition() == kBufferAllocationSize)
590 return testing::AssertionSuccess();
591
592 return testing::AssertionFailure()
593 << "SegmentStream position is not at the end of the buffer";
594 }
595
596 testing::AssertionResult LengthIsZero(
597 const blink::SegmentStream& segment_stream) {
598 if (segment_stream.getLength() == 0ul)
599 return testing::AssertionSuccess();
600
601 return testing::AssertionFailure() << "SegmentStream length is not 0";
602 }
603
604 testing::AssertionResult LengthIsAllocationSize(
605 const blink::SegmentStream& segment_stream) {
606 if (segment_stream.getLength() == kBufferAllocationSize)
607 return testing::AssertionSuccess();
608
609 return testing::AssertionFailure()
610 << "SegmentStream length is not the allocation size";
611 }
612
613 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698