| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "core/dom/custom/CustomElement.h" | 5 #include "core/dom/custom/CustomElement.h" |
| 6 | 6 |
| 7 #include "core/HTMLNames.h" | 7 #include "core/HTMLNames.h" |
| 8 #include "core/SVGNames.h" | 8 #include "core/SVGNames.h" |
| 9 #include "core/dom/Document.h" | 9 #include "core/dom/Document.h" |
| 10 #include "core/dom/custom/CustomElementDefinition.h" |
| 11 #include "core/dom/custom/CustomElementRegistry.h" |
| 12 #include "core/dom/custom/CustomElementTestHelpers.h" |
| 10 #include "core/html/HTMLElement.h" | 13 #include "core/html/HTMLElement.h" |
| 11 #include "core/testing/DummyPageHolder.h" | 14 #include "core/testing/DummyPageHolder.h" |
| 12 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
| 13 #include <ios> | 16 #include <ios> |
| 14 #include <memory> | 17 #include <memory> |
| 15 | 18 |
| 16 namespace blink { | 19 namespace blink { |
| 17 | 20 |
| 18 static void testIsPotentialCustomElementName(const AtomicString& str, | 21 static void testIsPotentialCustomElementName(const AtomicString& str, |
| 19 bool expected) { | 22 bool expected) { |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 | 197 |
| 195 element = document.createElementNS(SVGNames::svgNamespaceURI, data.name, | 198 element = document.createElementNS(SVGNames::svgNamespaceURI, data.name, |
| 196 ASSERT_NO_EXCEPTION); | 199 ASSERT_NO_EXCEPTION); |
| 197 EXPECT_EQ(CustomElementState::Uncustomized, | 200 EXPECT_EQ(CustomElementState::Uncustomized, |
| 198 element->getCustomElementState()) | 201 element->getCustomElementState()) |
| 199 << data.name; | 202 << data.name; |
| 200 EXPECT_EQ(data.v0state, element->getV0CustomElementState()) << data.name; | 203 EXPECT_EQ(data.v0state, element->getV0CustomElementState()) << data.name; |
| 201 } | 204 } |
| 202 } | 205 } |
| 203 | 206 |
| 207 TEST(CustomElementTest, |
| 208 CreateElement_TagNameCaseHandlingCreatingCustomElement) { |
| 209 // register a definition |
| 210 std::unique_ptr<DummyPageHolder> holder(DummyPageHolder::create()); |
| 211 CustomElementRegistry* registry = |
| 212 holder->frame().localDOMWindow()->customElements(); |
| 213 NonThrowableExceptionState shouldNotThrow; |
| 214 { |
| 215 CEReactionsScope reactions; |
| 216 TestCustomElementDefinitionBuilder builder; |
| 217 registry->define("a-a", builder, ElementDefinitionOptions(), |
| 218 shouldNotThrow); |
| 219 } |
| 220 CustomElementDefinition* definition = |
| 221 registry->definitionFor(CustomElementDescriptor("a-a", "a-a")); |
| 222 EXPECT_NE(nullptr, definition) << "a-a should be registered"; |
| 223 |
| 224 // create an element with an uppercase tag name |
| 225 Document& document = holder->document(); |
| 226 EXPECT_TRUE(document.isHTMLDocument()) |
| 227 << "this test requires a HTML document"; |
| 228 Element* element = document.createElement("A-A", shouldNotThrow); |
| 229 EXPECT_EQ(definition, element->customElementDefinition()); |
| 230 } |
| 231 |
| 204 } // namespace blink | 232 } // namespace blink |
| OLD | NEW |