7#include "gtest/gtest.h"
17TEST(PaintTest, OptionalStrokeWithFill) {
25 EXPECT_FALSE(paint.
GetStroke().has_value());
34TEST(PaintTest, OptionalStrokeWithStroke) {
42 std::optional<StrokeParameters> optional_stroke = paint.
GetStroke();
43 EXPECT_TRUE(optional_stroke.has_value());
44 if (optional_stroke.has_value()) {
47 EXPECT_EQ(optional_stroke->width, 20.0f);
48 EXPECT_EQ(optional_stroke->miter_limit, 100.0f);
52TEST(PaintTest, GradientStopConversion) {
57 std::vector<float> stops = {0.0, 0.5, 1.0};
68 std::vector<Color> converted_colors;
69 std::vector<Scalar> converted_stops;
78TEST(PaintTest, GradientMissing0) {
81 std::vector<float> stops = {0.5, 1.0};
92 std::vector<Color> converted_colors;
93 std::vector<Scalar> converted_stops;
104TEST(PaintTest, GradientMissingLastValue) {
107 std::vector<float> stops = {0.0, .5};
108 const auto gradient =
118 std::vector<Color> converted_colors;
119 std::vector<Scalar> converted_stops;
130TEST(PaintTest, GradientStopGreaterThan1) {
134 std::vector<float> stops = {0.0, 100, 1.0};
135 const auto gradient =
145 std::vector<Color> converted_colors;
146 std::vector<Scalar> converted_stops;
156TEST(PaintTest, GradientConversionNonMonotonic) {
157 std::vector<flutter::DlColor> colors = {
160 std::vector<float> stops = {0.0, 0.5, 0.4, 1.0};
161 const auto gradient =
171 std::vector<Color> converted_colors;
172 std::vector<Scalar> converted_stops;
static std::shared_ptr< DlColorSource > MakeLinear(const DlPoint start_point, const DlPoint end_point, uint32_t stop_count, const DlColor *colors, const float *stops, DlTileMode tile_mode, const DlMatrix *matrix=nullptr)
TEST(FrameTimingsRecorderTest, RecordVsync)
constexpr bool ScalarNearlyEqual(Scalar x, Scalar y, Scalar tolerance=kEhCloseEnough)
static constexpr DlColor kBlue()
static constexpr DlColor kRed()
static constexpr DlColor kGreen()
static void ConvertStops(const flutter::DlGradientColorSourceBase *gradient, std::vector< Color > &colors, std::vector< float > &stops)
Convert display list colors + stops into impeller colors and stops, taking care to ensure that the st...
std::optional< StrokeParameters > GetStroke() const
Return an optional StrokeParameters if this Paint is a stroked Paint, otherwise return a nullopt.