@@ -68,12 +68,18 @@ TEST(DisplayListPathEffect, DashEffectEquals) {
6868TEST (DisplayListPathEffect, BlurNotEquals) {
6969 const SkScalar TestDashes1[] = {4.0 , 2.0 };
7070 const SkScalar TestDashes2[] = {1.0 , 1.5 };
71+ const SkScalar TestDashes3[] = {4.0 , 2.5 , 2.0 };
7172 auto effect1 = DlDashPathEffect::Make (TestDashes1, 2 , 0.0 );
7273 auto effect2 = DlDashPathEffect::Make (TestDashes2, 2 , 0.0 );
73- auto effect3 = DlDashPathEffect::Make (TestDashes2, 2 , 1.0 );
74+ auto effect3 = DlDashPathEffect::Make (TestDashes3, 3 , 1.0 );
75+
7476 ASSERT_NE (effect1, effect2);
75- ASSERT_NE (effect2, effect3);
7677 ASSERT_NE (effect1->shared (), effect2->shared ());
78+
79+ ASSERT_NE (effect1, effect3);
80+ ASSERT_NE (effect1->shared (), effect3->shared ());
81+
82+ ASSERT_NE (effect2, effect3);
7783 ASSERT_NE (effect2->shared (), effect3->shared ());
7884}
7985
@@ -116,108 +122,5 @@ TEST(DisplayListPathEffect, UnknownNotEquals) {
116122 " SkDashPathEffect instance differs" );
117123}
118124
119- void testEquals (DlPathEffect* a, DlPathEffect* b) {
120- // a and b have the same nullness or values
121- ASSERT_TRUE (Equals (a, b));
122- ASSERT_FALSE (NotEquals (a, b));
123- ASSERT_TRUE (Equals (b, a));
124- ASSERT_FALSE (NotEquals (b, a));
125- }
126-
127- void testNotEquals (DlPathEffect* a, DlPathEffect* b) {
128- // a and b do not have the same nullness or values
129- ASSERT_FALSE (Equals (a, b));
130- ASSERT_TRUE (NotEquals (a, b));
131- ASSERT_FALSE (Equals (b, a));
132- ASSERT_TRUE (NotEquals (b, a));
133- }
134-
135- void testEquals (std::shared_ptr<const DlPathEffect> a, DlPathEffect* b) {
136- // a and b have the same nullness or values
137- ASSERT_TRUE (Equals (a, b));
138- ASSERT_FALSE (NotEquals (a, b));
139- ASSERT_TRUE (Equals (b, a));
140- ASSERT_FALSE (NotEquals (b, a));
141- }
142-
143- void testNotEquals (std::shared_ptr<const DlPathEffect> a, DlPathEffect* b) {
144- // a and b do not have the same nullness or values
145- ASSERT_FALSE (Equals (a, b));
146- ASSERT_TRUE (NotEquals (a, b));
147- ASSERT_FALSE (Equals (b, a));
148- ASSERT_TRUE (NotEquals (b, a));
149- }
150-
151- void testEquals (std::shared_ptr<const DlPathEffect> a,
152- std::shared_ptr<const DlPathEffect> b) {
153- // a and b have the same nullness or values
154- ASSERT_TRUE (Equals (a, b));
155- ASSERT_FALSE (NotEquals (a, b));
156- ASSERT_TRUE (Equals (b, a));
157- ASSERT_FALSE (NotEquals (b, a));
158- }
159-
160- void testNotEquals (std::shared_ptr<const DlPathEffect> a,
161- std::shared_ptr<const DlPathEffect> b) {
162- // a and b do not have the same nullness or values
163- ASSERT_FALSE (Equals (a, b));
164- ASSERT_TRUE (NotEquals (a, b));
165- ASSERT_FALSE (Equals (b, a));
166- ASSERT_TRUE (NotEquals (b, a));
167- }
168-
169- TEST (DisplayListPathEffect, ComparableTemplates) {
170- const SkScalar TestDashes1[] = {4.0 , 2.0 };
171- const SkScalar TestDashes2[] = {1.0 , 1.5 };
172- auto effect1 = DlDashPathEffect::Make (TestDashes1, 2 , 0.0 );
173- auto effect2 = DlDashPathEffect::Make (TestDashes1, 2 , 0.0 );
174- auto effect3 = DlDashPathEffect::Make (TestDashes2, 2 , 1.0 );
175- std::shared_ptr<DlPathEffect> shared_null;
176-
177- // null to null
178- testEquals (nullptr , nullptr );
179- testEquals (shared_null, nullptr );
180- testEquals (shared_null, shared_null);
181-
182- // ptr to null
183- testNotEquals (effect1.get (), nullptr );
184- testNotEquals (effect2.get (), nullptr );
185- testNotEquals (effect3.get (), nullptr );
186-
187- // shared_ptr to null and shared_null to ptr
188- testNotEquals (effect1->shared (), nullptr );
189- testNotEquals (effect2->shared (), nullptr );
190- testNotEquals (effect3->shared (), nullptr );
191- testNotEquals (shared_null, effect1.get ());
192- testNotEquals (shared_null, effect2.get ());
193- testNotEquals (shared_null, effect3.get ());
194-
195- // ptr to ptr
196- testEquals (effect1, effect1);
197- testEquals (effect1, effect2);
198- testEquals (effect3, effect3);
199- testEquals (effect2, effect2);
200-
201- // shared_ptr to ptr
202- testEquals (effect1->shared (), effect1);
203- testEquals (effect1->shared (), effect2);
204- testEquals (effect2->shared (), effect2);
205- testEquals (effect3->shared (), effect3);
206- testNotEquals (effect1->shared (), effect3);
207- testNotEquals (effect2->shared (), effect3);
208- testNotEquals (effect3->shared (), effect1);
209- testNotEquals (effect3->shared (), effect2);
210-
211- // shared_ptr to shared_ptr
212- testEquals (effect1->shared (), effect1->shared ());
213- testEquals (effect1->shared (), effect2->shared ());
214- testEquals (effect2->shared (), effect2->shared ());
215- testEquals (effect3->shared (), effect3->shared ());
216- testNotEquals (effect1->shared (), effect3->shared ());
217- testNotEquals (effect2->shared (), effect3->shared ());
218- testNotEquals (effect3->shared (), effect1->shared ());
219- testNotEquals (effect3->shared (), effect2->shared ());
220- }
221-
222125} // namespace testing
223126} // namespace flutter
0 commit comments