| // Copyright 2019 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "third_party/blink/renderer/core/css/css_pending_interpolation_value.h" |
| |
| #include "testing/gtest/include/gtest/gtest.h" |
| #include "third_party/blink/renderer/core/css/css_test_helpers.h" |
| #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" |
| |
| namespace blink { |
| namespace { |
| |
| using namespace cssvalue; |
| using Type = CSSPendingInterpolationValue::Type; |
| |
| CSSPendingInterpolationValue* Create(Type type) { |
| return CSSPendingInterpolationValue::Create(type); |
| } |
| |
| TEST(CSSPendingInterpolationValueTest, Create) { |
| EXPECT_TRUE(Create(Type::kCSSProperty)); |
| EXPECT_TRUE(Create(Type::kPresentationAttribute)); |
| } |
| |
| TEST(CSSPendingInterpolationValueTest, Pool) { |
| const auto* value1 = Create(Type::kCSSProperty); |
| const auto* value2 = Create(Type::kCSSProperty); |
| const auto* value3 = Create(Type::kPresentationAttribute); |
| const auto* value4 = Create(Type::kPresentationAttribute); |
| EXPECT_EQ(value1, value2); |
| EXPECT_EQ(value3, value4); |
| EXPECT_NE(value1, value4); |
| } |
| |
| TEST(CSSPendingInterpolationValueTest, Equals) { |
| const auto* value1 = Create(Type::kCSSProperty); |
| const auto* value2 = Create(Type::kCSSProperty); |
| const auto* value3 = Create(Type::kPresentationAttribute); |
| const auto* value4 = Create(Type::kPresentationAttribute); |
| EXPECT_TRUE(value1->Equals(*value2)); |
| EXPECT_TRUE(value2->Equals(*value1)); |
| EXPECT_TRUE(value3->Equals(*value4)); |
| EXPECT_TRUE(value4->Equals(*value3)); |
| EXPECT_FALSE(value1->Equals(*value4)); |
| EXPECT_FALSE(value4->Equals(*value1)); |
| } |
| |
| TEST(CSSPendingInterpolationValueTest, CustomCSSText) { |
| EXPECT_EQ("", Create(Type::kCSSProperty)->CustomCSSText()); |
| EXPECT_EQ("", Create(Type::kPresentationAttribute)->CustomCSSText()); |
| } |
| |
| } // namespace |
| } // namespace blink |