| <!doctype html> |
| <meta charset="utf-8"> |
| <title>Inline StylePropertyMap.clear</title> |
| <link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-clear"> |
| <meta name="assert" content="Test inline StylePropertyMap.clear" /> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="../../resources/testhelper.js"></script> |
| <body> |
| <div id="log"></div> |
| <script> |
| 'use strict'; |
| |
| test(t => { |
| let styleMap = createInlineStyleMap(t, ''); |
| styleMap.clear(); |
| assert_array_equals([...styleMap], []); |
| }, 'Clearing an empty inline style is a no-op'); |
| |
| test(t => { |
| let styleMap = createInlineStyleMap(t, '--foo: auto; width: 10px; transition-duration: 1s, 2s'); |
| |
| styleMap.clear(); |
| assert_equals(styleMap.get('--foo'), null, |
| 'Custom properties should be cleared'); |
| assert_equals(styleMap.get('width'), null, |
| 'CSS properties should be cleared'); |
| assert_equals(styleMap.get('transition-duration'), null, |
| 'List-valued properties should be cleared'); |
| assert_array_equals([...styleMap], []); |
| }, 'Can clear an inline style containing properties'); |
| |
| test(t => { |
| let [elem, styleMap] = createElementWithInlineStyleMap(t, 'width: 10px;'); |
| styleMap.clear(); |
| |
| assert_equals(elem.style.width, '', 'Element inline style should be cleared'); |
| }, 'Inline StylePropertyMap.clear updates the element inline style'); |
| |
| </script> |