blob: 7bc7cb2207d5ae432920b9270162fada53a2aa4e [file] [log] [blame]
// Copyright 2016 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 "core/css/cssom/CSSStyleVariableReferenceValue.h"
#include "core/css/cssom/CSSUnparsedValue.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace blink {
TEST(CSSVariableReferenceValueTest, EmptyList) {
HeapVector<StringOrCSSVariableReferenceValue> fragments;
CSSUnparsedValue* unparsed_value = CSSUnparsedValue::Create(fragments);
CSSStyleVariableReferenceValue* variable_reference_value =
CSSStyleVariableReferenceValue::Create("test", unparsed_value);
EXPECT_EQ(variable_reference_value->variable(), "test");
EXPECT_EQ(variable_reference_value->fallback(), unparsed_value);
}
TEST(CSSVariableReferenceValueTest, MixedList) {
HeapVector<StringOrCSSVariableReferenceValue> fragments;
fragments.push_back(StringOrCSSVariableReferenceValue::FromString("string"));
fragments.push_back(
StringOrCSSVariableReferenceValue::FromCSSVariableReferenceValue(
CSSStyleVariableReferenceValue::Create(
"Variable", CSSUnparsedValue::FromString("Fallback"))));
fragments.push_back(StringOrCSSVariableReferenceValue());
CSSUnparsedValue* unparsed_value = CSSUnparsedValue::Create(fragments);
CSSStyleVariableReferenceValue* variable_reference_value =
CSSStyleVariableReferenceValue::Create("test", unparsed_value);
EXPECT_EQ(variable_reference_value->variable(), "test");
EXPECT_EQ(variable_reference_value->fallback(), unparsed_value);
}
} // namespace blink