blob: 99ac8d4953e2751247808f45363dfe28cf1b3c13 [file] [log] [blame]
// 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