| Index: Source/wtf/SaturatedArithmeticTest.cpp
|
| diff --git a/Source/wtf/SaturatedArithmeticTest.cpp b/Source/wtf/SaturatedArithmeticTest.cpp
|
| index 00df8e97bbc7fb31005de9eea5d68046424b5939..3f7848c15764c94a456b3ebe6721cb17eb74870e 100644
|
| --- a/Source/wtf/SaturatedArithmeticTest.cpp
|
| +++ b/Source/wtf/SaturatedArithmeticTest.cpp
|
| @@ -104,4 +104,49 @@ TEST(SaturatedArithmeticTest, Subtraction)
|
| EXPECT_EQ(INT_MAX, saturatedSubtraction(INT_MAX, INT_MIN));
|
| }
|
|
|
| +TEST(SaturatedArithmeticTest, SetSigned)
|
| +{
|
| + const int kFractionBits = 6;
|
| + const int intMaxForLayoutUnit = INT_MAX >> kFractionBits;
|
| + const int intMinForLayoutUnit = INT_MIN >> kFractionBits;
|
| +
|
| + EXPECT_EQ(0, saturatedSet(0, kFractionBits));
|
| +
|
| + EXPECT_EQ(getMaxSaturatedSetResultForTesting(kFractionBits),
|
| + saturatedSet(intMaxForLayoutUnit, kFractionBits));
|
| +
|
| + EXPECT_EQ(getMaxSaturatedSetResultForTesting(kFractionBits),
|
| + saturatedSet(intMaxForLayoutUnit + 100, kFractionBits));
|
| +
|
| + EXPECT_EQ((intMaxForLayoutUnit - 100) << kFractionBits,
|
| + saturatedSet(intMaxForLayoutUnit - 100, kFractionBits));
|
| +
|
| + EXPECT_EQ(getMinSaturatedSetResultForTesting(kFractionBits),
|
| + saturatedSet(intMinForLayoutUnit, kFractionBits));
|
| +
|
| + EXPECT_EQ(getMinSaturatedSetResultForTesting(kFractionBits),
|
| + saturatedSet(intMinForLayoutUnit - 100, kFractionBits));
|
| +
|
| + EXPECT_EQ((intMinForLayoutUnit + 100) << kFractionBits,
|
| + saturatedSet(intMinForLayoutUnit + 100, kFractionBits));
|
| +}
|
| +
|
| +TEST(SaturatedArithmeticTest, SetUnsigned)
|
| +{
|
| + const int kFractionBits = 6;
|
| + const int intMaxForLayoutUnit = INT_MAX >> kFractionBits;
|
| +
|
| + EXPECT_EQ(0, saturatedSet((unsigned)0, kFractionBits));
|
| +
|
| + EXPECT_EQ(getMaxSaturatedSetResultForTesting(kFractionBits),
|
| + saturatedSet((unsigned)intMaxForLayoutUnit, kFractionBits));
|
| +
|
| + EXPECT_EQ(getMaxSaturatedSetResultForTesting(kFractionBits),
|
| + saturatedSet((unsigned)(intMaxForLayoutUnit+100), kFractionBits));
|
| +
|
| + EXPECT_EQ((intMaxForLayoutUnit - 100) << kFractionBits,
|
| + saturatedSet((unsigned)(intMaxForLayoutUnit - 100), kFractionBits));
|
| +}
|
| +
|
| +
|
| } // namespace
|
|
|