Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit b7a328e

Browse files
committed
added coverage fix
1 parent 348f8ee commit b7a328e

File tree

3 files changed

+18
-7
lines changed

3 files changed

+18
-7
lines changed

impeller/entity/BUILD.gn

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -271,11 +271,8 @@ impeller_component("entity_unittests") {
271271
testonly = true
272272

273273
sources = [
274-
<<<<<<< HEAD
275274
"contents/checkerboard_contents_unittests.cc",
276-
=======
277275
"contents/filters/directional_gaussian_blur_filter_contents_unittests.cc",
278-
>>>>>>> 8b53b77552 (added directional_gaussian unittests to help)
279276
"contents/filters/gaussian_blur_filter_contents_unittests.cc",
280277
"contents/filters/inputs/filter_input_unittests.cc",
281278
"entity_playground.cc",

impeller/entity/contents/filters/directional_gaussian_blur_filter_contents.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,9 @@ std::optional<Rect> DirectionalGaussianBlurFilterContents::GetFilterCoverage(
313313

314314
auto transform = inputs[0]->GetTransform(entity) * effect_transform.Basis();
315315
auto transformed_blur_vector =
316-
transform.TransformDirection(blur_direction_ * Radius{blur_sigma_}.radius)
316+
transform
317+
.TransformDirection(blur_direction_ *
318+
Radius{ScaleSigma(blur_sigma_)}.radius)
317319
.Abs();
318320
return coverage->Expand(transformed_blur_vector);
319321
}

impeller/entity/contents/filters/directional_gaussian_blur_filter_contents_unittests.cc

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ class DirectionalGaussianBlurFilterContentsTest : public ::testing::Test {
8989
.WillRepeatedly(Invoke(([](const TextureDescriptor& desc) {
9090
auto result = std::make_shared<MockTexture>(desc);
9191
EXPECT_CALL(*result, IsValid()).WillRepeatedly(Return(true));
92+
EXPECT_CALL(*result, GetSize()).WillRepeatedly(Return(desc.size));
9293
return result;
9394
})));
9495
}
@@ -174,11 +175,22 @@ TEST_F(DirectionalGaussianBlurFilterContentsTest, RenderSomething) {
174175
ContentContext renderer(mock_context_, mock_typographer_context_,
175176
mock_render_target_allocator_);
176177
Entity entity;
177-
Rect coverage_hint = Rect::MakeLTRB(0, 0, 0, 0);
178178
std::optional<Entity> result =
179-
contents->GetEntity(renderer, entity, coverage_hint);
179+
contents->GetEntity(renderer, entity, /*coverage_hint=*/{});
180180
ASSERT_TRUE(result.has_value());
181-
ASSERT_EQ(result.value().GetBlendMode(), BlendMode::kSourceOver);
181+
EXPECT_EQ(result.value().GetBlendMode(), BlendMode::kSourceOver);
182+
std::optional<Rect> result_coverage = result.value().GetCoverage();
183+
std::optional<Rect> contents_coverage = contents->GetCoverage(entity);
184+
EXPECT_TRUE(result_coverage.has_value());
185+
EXPECT_TRUE(contents_coverage.has_value());
186+
EXPECT_NEAR(result_coverage.value().GetLeft(),
187+
contents_coverage.value().GetLeft(), kEhCloseEnough);
188+
EXPECT_NEAR(result_coverage.value().GetTop(),
189+
contents_coverage.value().GetTop(), kEhCloseEnough);
190+
EXPECT_NEAR(result_coverage.value().GetRight(),
191+
contents_coverage.value().GetRight(), kEhCloseEnough);
192+
EXPECT_NEAR(result_coverage.value().GetBottom(),
193+
contents_coverage.value().GetBottom(), kEhCloseEnough);
182194
}
183195

184196
} // namespace testing

0 commit comments

Comments
 (0)