Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
dl_path_effect_unittests.cc
Go to the documentation of this file.
1// Copyright 2013 The Flutter 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 "flutter/display_list/effects/dl_path_effect.h"
6#include "flutter/display_list/testing/dl_test_equality.h"
7#include "flutter/display_list/utils/dl_comparable.h"
8#include "gtest/gtest.h"
10
11namespace flutter {
12namespace testing {
13
14TEST(DisplayListPathEffect, EffectShared) {
15 const SkScalar TestDashes2[] = {1.0, 1.5};
16 auto effect = DlDashPathEffect::Make(TestDashes2, 2, 0.0);
17 ASSERT_TRUE(Equals(effect->shared(), effect));
18}
19
20TEST(DisplayListPathEffect, DashEffectAsDash) {
21 const SkScalar TestDashes2[] = {1.0, 1.5};
22 auto effect = DlDashPathEffect::Make(TestDashes2, 2, 0.0);
23 ASSERT_NE(effect->asDash(), nullptr);
24 ASSERT_EQ(effect->asDash(), effect.get());
25}
26
27TEST(DisplayListPathEffect, DashEffectEquals) {
28 const SkScalar TestDashes2[] = {1.0, 1.5};
29 auto effect1 = DlDashPathEffect::Make(TestDashes2, 2, 0.0);
30 auto effect2 = DlDashPathEffect::Make(TestDashes2, 2, 0.0);
31 TestEquals(*effect1, *effect1);
32}
33
34TEST(DisplayListPathEffect, CheckEffectProperties) {
35 const SkScalar test_dashes[] = {4.0, 2.0};
36 const SkScalar TestDashes2[] = {5.0, 2.0};
37 const SkScalar TestDashes3[] = {4.0, 3.0};
38 const SkScalar TestDashes4[] = {4.0, 2.0, 6.0};
39 auto effect1 = DlDashPathEffect::Make(test_dashes, 2, 0.0);
40 auto effect2 = DlDashPathEffect::Make(TestDashes2, 2, 0.0);
41 auto effect3 = DlDashPathEffect::Make(TestDashes3, 2, 0.0);
42 auto effect4 = DlDashPathEffect::Make(TestDashes4, 3, 0.0);
43 auto effect5 = DlDashPathEffect::Make(test_dashes, 2, 1.0);
44
45 TestNotEquals(*effect1, *effect2, "Interval 1 differs");
46 TestNotEquals(*effect1, *effect3, "Interval 2 differs");
47 TestNotEquals(*effect1, *effect4, "Dash count differs");
48 TestNotEquals(*effect1, *effect5, "Dash phase differs");
49}
50
51} // namespace testing
52} // namespace flutter
#define TEST(S, s, D, expected)
static std::shared_ptr< DlPathEffect > Make(const SkScalar intervals[], int count, SkScalar phase)
float SkScalar
Definition extension.cpp:12
static void TestNotEquals(T &source1, T &source2, const std::string &label)
static void TestEquals(T &source1, T &source2)
bool Equals(const T *a, const T *b)