Verify for_each is const
Test: this
Change-Id: I7ffd755b4b762f7e8608cf84b328560783162439
diff --git a/libs/hwui/tests/unit/CanvasOpTests.cpp b/libs/hwui/tests/unit/CanvasOpTests.cpp
index c90d1a4..84fc6e6 100644
--- a/libs/hwui/tests/unit/CanvasOpTests.cpp
+++ b/libs/hwui/tests/unit/CanvasOpTests.cpp
@@ -138,6 +138,20 @@
EXPECT_EQ(tracker.alive(), 0);
}
+TEST(CanvasOp, verifyConst) {
+ CanvasOpBuffer buffer;
+ buffer.push<Op::DrawColor>({
+ .color = SkColors::kBlack,
+ .mode = SkBlendMode::kSrcOver,
+ });
+ buffer.for_each([](auto op) {
+ static_assert(std::is_const_v<std::remove_reference_t<decltype(*op)>>,
+ "Expected container to be const");
+ static_assert(std::is_const_v<std::remove_reference_t<decltype(op->op())>>,
+ "Expected op to be const");
+ });
+}
+
TEST(CanvasOp, simplePush) {
CanvasOpBuffer buffer;
EXPECT_EQ(buffer.size(), 0);