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

Side by Side Diff: media/base/text_ranges_unittest.cc

Issue 151103005: TextRenderer only pushes new cues downstream (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: incorporate aaron's comments of 2014/02/05 Created 6 years, 10 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) 2014 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 "media/base/text_ranges.h"
6
7 #include "base/time/time.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 namespace media {
11
12 TEST(TextRangesTest, TestEmptyRanges) {
13 TextRanges r;
14
15 // Create a new active range, with t=5.
16 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromSeconds(5)));
acolwell GONE FROM CHROMIUM 2014/02/07 01:44:18 nit: Please add a TextRangesTest class declaration
Matthew Heaney (Chromium) 2014/02/07 03:24:35 Done.
17
18 // Create a new active range, with t=2.
19 r.Reset();
20 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromSeconds(2)));
21
22 // Create a new active range, with t=8.
23 r.Reset();
24 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromSeconds(8)));
25
26 r.Reset();
27
28 // Make range [2, 2] active.
29 EXPECT_FALSE(r.AddCue(base::TimeDelta::FromSeconds(2)));
30
31 // Add duplicate cue to end of active range.
32 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromSeconds(2)));
33 EXPECT_EQ(r.RangeCountForTesting(), 3);
34
35 // Coalesce first two ranges: [2, 5].
36 EXPECT_FALSE(r.AddCue(base::TimeDelta::FromSeconds(5)));
37 EXPECT_EQ(r.RangeCountForTesting(), 2);
38
39 // Add duplicate cue to end of active range.
40 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromSeconds(5)));
41
42 // Coalesce first two ranges: [2, 8].
43 EXPECT_FALSE(r.AddCue(base::TimeDelta::FromSeconds(8)));
44 EXPECT_EQ(r.RangeCountForTesting(), 1);
45
46 // Add duplicate cue to end of active range.
47 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromSeconds(8)));
48
49 // Add new cue to end of (only) range.
50 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromSeconds(9)));
51 }
52
53 TEST(TextRangesTest, TestOneRange) {
54 TextRanges r;
55
56 // Create a new active range, with t=0.
57 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromSeconds(0)));
58
59 // Add cues to end of existing range.
60
61 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromSeconds(1)));
62
63 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromSeconds(2)));
64
65 r.Reset();
66 EXPECT_FALSE(r.AddCue(base::TimeDelta::FromMilliseconds(1500)));
acolwell GONE FROM CHROMIUM 2014/02/07 01:44:18 nit: I think you should separate testing the "addi
Matthew Heaney (Chromium) 2014/02/07 03:24:35 Done.
67
68 EXPECT_FALSE(r.AddCue(base::TimeDelta::FromMilliseconds(1600)));
69
70 EXPECT_FALSE(r.AddCue(base::TimeDelta::FromMilliseconds(2000)));
71
72 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromMilliseconds(2000)));
73 }
74
75 TEST(TextRangesTest, TestTwoRanges) {
76 TextRanges r;
77
78 // Create a new active range, with t=0.
79 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromSeconds(0)));
80
81 // Add cue to end of existing range.
82 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromSeconds(1)));
83
84 r.Reset();
85
86 // Create a new active range, with t=2.
87 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromSeconds(2)));
88
89 // Add a new cue to end of last (active) range.
90 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromSeconds(3)));
91
92 r.Reset();
93
94 // Make first range active.
95 EXPECT_FALSE(r.AddCue(base::TimeDelta::FromMilliseconds(500)));
96
97 EXPECT_FALSE(r.AddCue(base::TimeDelta::FromMilliseconds(1000)));
98
99 // Expand first range.
100 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromMilliseconds(1100)));
101
102 // Coalesce first and second ranges.
103 EXPECT_FALSE(r.AddCue(base::TimeDelta::FromMilliseconds(2000)));
104 EXPECT_EQ(r.RangeCountForTesting(), 1);
105 }
106
107 TEST(TextRangesTest, TestThreeRanges) {
108 TextRanges r;
109
110 // Create a new active range, with t=0.
111 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromSeconds(0)));
112
113 // Add cue to end of existing range.
114 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromSeconds(1)));
115
116 r.Reset();
117
118 // Create a new active range, with t=2.
119 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromSeconds(2)));
120
121 // Add a new cue to end of last (active) range.
122 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromSeconds(3)));
123
124 r.Reset();
125
126 // Create a new active range, in between the other two.
127 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromMilliseconds(1500)));
128
129 // Coalesce middle and last ranges: [1500 ms, 3000 ms].
130 EXPECT_FALSE(r.AddCue(base::TimeDelta::FromMilliseconds(2000)));
131
132 r.Reset();
133
134 // Make first range active: [0 sec, 1 sec].
135 EXPECT_FALSE(r.AddCue(base::TimeDelta::FromSeconds(0)));
136
137 EXPECT_FALSE(r.AddCue(base::TimeDelta::FromMilliseconds(500)));
138
139 EXPECT_FALSE(r.AddCue(base::TimeDelta::FromMilliseconds(1000)));
140
141 // Add a duplicate last time to first range.
142 EXPECT_TRUE(r.AddCue(base::TimeDelta::FromMilliseconds(1000)));
143
144 // Coalesce first and last ranges: [0 sec, 3 sec].
145 EXPECT_FALSE(r.AddCue(base::TimeDelta::FromMilliseconds(1500)));
146 EXPECT_EQ(r.RangeCountForTesting(), 1);
147 }
148
149 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698