blob: fcce2780f843538b9e41bfad1c5837dd9304ead6 [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 "third_party/blink/renderer/core/editing/editing_style.h"
#include "third_party/blink/renderer/core/css/css_property_value_set.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/editing/testing/editing_test_base.h"
#include "third_party/blink/renderer/core/html/html_body_element.h"
#include "third_party/blink/renderer/core/html/html_div_element.h"
#include "third_party/blink/renderer/core/html/html_head_element.h"
#include "third_party/blink/renderer/core/html/html_html_element.h"
namespace blink {
class EditingStyleTest : public EditingTestBase {};
TEST_F(EditingStyleTest, mergeInlineStyleOfElement) {
SetBodyContent(
"<span id=s1 style='--A:var(---B)'>1</span>"
"<span id=s2 style='float:var(--C)'>2</span>");
UpdateAllLifecyclePhasesForTest();
EditingStyle* editing_style = MakeGarbageCollected<EditingStyle>(
To<HTMLElement>(GetDocument().getElementById("s2")));
editing_style->MergeInlineStyleOfElement(
To<HTMLElement>(GetDocument().getElementById("s1")),
EditingStyle::kOverrideValues);
EXPECT_FALSE(editing_style->Style()->HasProperty(CSSPropertyID::kFloat))
<< "Don't merge a property with unresolved value";
EXPECT_EQ("var(---B)",
editing_style->Style()->GetPropertyValue(AtomicString("--A")))
<< "Keep unresolved value on merging style";
}
} // namespace blink