<!doctype html>
<meta charset="utf-8">
<title>Inline StylePropertyMap.delete</title>
<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#delete-a-stylepropertymap">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../../resources/testhelper.js"></script>
<body>
<div id="log">
<script>
'use strict';
test(t => {
let [elem, styleMap] = createElementWithInlineStyleMap(t, '');
assert_equals(elem.style.getPropertyValue('width'), '');
styleMap.delete('width');
assert_equals(elem.style.getPropertyValue('width'), '');
}, 'Deleting a property not in the inline style is a no-op');
test(t => {
let [elem, styleMap] = createElementWithInlineStyleMap(t, 'width: 10px');
assert_not_equals(elem.style.getPropertyValue('width'), '');
styleMap.delete('width');
assert_equals(elem.style.getPropertyValue('width'), '');
}, 'Deleting a property in the inline style removes it from the inline style');
test(t => {
let [elem, styleMap] = createElementWithInlineStyleMap(t, '--Foo: 10px');
assert_not_equals(elem.style.getPropertyValue('--Foo'), '');
styleMap.delete('--Foo');
assert_equals(elem.style.getPropertyValue('--Foo'), '');
}, 'Deleting a custom property in the inline style removes it from the ' +
'inline style');
test(t => {
let [elem, styleMap] = createElementWithInlineStyleMap(t,
'transition-duration: 1s, 2s');
assert_not_equals(elem.style.getPropertyValue('transition-duration'), '');
styleMap.delete('transition-duration');
assert_equals(elem.style.getPropertyValue('transition-duration'), '');
}, 'Deleting a list-valued property in the inline style removes it from ' +
'the inline style');
test(t => {
let [elem, styleMap] = createElementWithInlineStyleMap(t, 'width: 10px');
assert_not_equals(elem.style.getPropertyValue('width'), '');
styleMap.delete('wIdTh');
assert_equals(elem.style.getPropertyValue('width'), '');
}, 'Inline StylePropertyMap.delete is not case-sensitive');
</script>