5 #include "flutter/testing/testing.h"
6 #include "gmock/gmock.h"
18 std::shared_ptr<CommandBuffer> command_buffer =
20 if (!command_buffer) {
25 "Clear Subpass", size, command_buffer,
31 ->Submit({command_buffer})
36 if (render_target.ok()) {
37 return render_target.value().GetRenderTargetTexture();
54 std::optional<Rect> coverage =
56 ASSERT_FALSE(coverage.has_value());
64 std::optional<Rect> coverage =
76 std::optional<Rect> coverage =
94 void expectRenderCoverageEqual(
const std::optional<Entity>& result,
95 const std::optional<Rect> contents_coverage,
96 const Rect& expected) {
97 EXPECT_TRUE(result.has_value());
98 if (result.has_value()) {
100 std::optional<Rect> result_coverage = result.value().GetCoverage();
101 EXPECT_TRUE(result_coverage.has_value());
102 EXPECT_TRUE(contents_coverage.has_value());
103 if (result_coverage.has_value() && contents_coverage.has_value()) {
104 EXPECT_TRUE(
RectNear(contents_coverage.value(), expected));
105 EXPECT_TRUE(
RectNear(result_coverage.value(), expected));
112 std::shared_ptr<Texture> texture = MakeTexture(
ISize(100, 100));
119 std::shared_ptr<ContentContext> renderer = GetContentContext();
120 std::optional<Entity> result =
121 contents.
GetEntity(*renderer, entity, {});
122 expectRenderCoverageEqual(result, contents.
GetCoverage(entity),
127 std::shared_ptr<Texture> texture = MakeTexture(
ISize(100, 100));
136 std::shared_ptr<ContentContext> renderer = GetContentContext();
137 std::optional<Entity> result =
138 contents.
GetEntity(*renderer, entity, {});
139 expectRenderCoverageEqual(result, contents.
GetCoverage(entity),
144 RenderCoverageMatchesGetCoverageClippedSubpassTranslate) {
145 std::shared_ptr<Texture> texture = MakeTexture(
ISize(100, 100));
156 std::shared_ptr<ContentContext> renderer = GetContentContext();
157 std::optional<Entity> result =
158 contents.
GetEntity(*renderer, entity, {});
159 expectRenderCoverageEqual(result, contents.
GetCoverage(entity),
164 std::shared_ptr<Texture> texture = MakeTexture(
ISize(100, 100));
173 std::shared_ptr<ContentContext> renderer = GetContentContext();
174 std::optional<Entity> result =
175 contents.
GetEntity(*renderer, entity, {});
176 expectRenderCoverageEqual(result, contents.
GetCoverage(entity),
181 RenderCoverageMatchesGetCoverageClippedSubpassScale) {
182 std::shared_ptr<Texture> texture = MakeTexture(
ISize(100, 100));
193 std::shared_ptr<ContentContext> renderer = GetContentContext();
194 std::optional<Entity> result =
195 contents.
GetEntity(*renderer, entity, {});
196 expectRenderCoverageEqual(result, contents.
GetCoverage(entity),
201 std::shared_ptr<Texture> texture = MakeTexture(
ISize(100, 100));
212 std::shared_ptr<ContentContext> renderer = GetContentContext();
213 std::optional<Entity> result =
214 contents.
GetEntity(*renderer, entity, {});
215 expectRenderCoverageEqual(result, contents.
GetCoverage(entity),