| // 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/editing/EditingStyle.h" |
| |
| #include "core/css/StylePropertySet.h" |
| #include "core/dom/Document.h" |
| #include "core/editing/EditingTestBase.h" |
| #include "core/html/HTMLBodyElement.h" |
| #include "core/html/HTMLDivElement.h" |
| #include "core/html/HTMLHeadElement.h" |
| #include "core/html/HTMLHtmlElement.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>"); |
| updateAllLifecyclePhases(); |
| |
| EditingStyle* editingStyle = EditingStyle::create( |
| toHTMLElement(document().getElementById("s2"))); |
| editingStyle->mergeInlineStyleOfElement( |
| toHTMLElement(document().getElementById("s1")), |
| EditingStyle::OverrideValues); |
| |
| EXPECT_FALSE(editingStyle->style()->hasProperty(CSSPropertyFloat)) |
| << "Don't merge a property with unresolved value"; |
| EXPECT_EQ( |
| "var(---B)", |
| editingStyle->style()->getPropertyValue(AtomicString("--A"))) |
| << "Keep unresolved value on merging style"; |
| } |
| |
| } // namespace blink |