Added basic unit tests for PSOP_CEILING and PSOP_FLOOR Despite having a unit test, many operators of CPDF_PSEngine lack tests. This CL adds some basic tests for PSOP_CEILING and PSOP_FLOOR. Bug: pdfium:1164 Change-Id: Id1cf0bb0d05f7812db1b3b762dac5c4dd9838be9 Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/54831 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/page/cpdf_psengine_unittest.cpp b/core/fpdfapi/page/cpdf_psengine_unittest.cpp index b853ff5..2af9969 100644 --- a/core/fpdfapi/page/cpdf_psengine_unittest.cpp +++ b/core/fpdfapi/page/cpdf_psengine_unittest.cpp
@@ -90,3 +90,19 @@ EXPECT_FLOAT_EQ(5.0f, DoOperator1(&engine, -5, PSOP_NEG)); EXPECT_FLOAT_EQ(5.0f, DoOperator1(&engine, -5, PSOP_ABS)); } + +TEST(CPDF_PSEngine, Ceiling) { + CPDF_PSEngine engine; + + EXPECT_FLOAT_EQ(0.0f, DoOperator1(&engine, -0.9f, PSOP_CEILING)); + EXPECT_FLOAT_EQ(1.0f, DoOperator1(&engine, 0.0000000001f, PSOP_CEILING)); + EXPECT_FLOAT_EQ(0.0f, DoOperator1(&engine, 0.0f, PSOP_CEILING)); +} + +TEST(CPDF_PSEngine, Floor) { + CPDF_PSEngine engine; + + EXPECT_FLOAT_EQ(5.0f, DoOperator1(&engine, 5.9f, PSOP_FLOOR)); + EXPECT_FLOAT_EQ(-4.0f, DoOperator1(&engine, -4.0000000001f, PSOP_FLOOR)); + EXPECT_FLOAT_EQ(0.0f, DoOperator1(&engine, 0.0f, PSOP_FLOOR)); +}