blob: 70c6860d4dfda76b9064b02ae5d6848818ad8262 [file] [log] [blame]
(async function(testRunner) {
var {page, session, dp} = await testRunner.startHTML(`
<link rel='stylesheet' href='${testRunner.url('resources/set-active-property-value.css')}'/>
<div id='inspected' style='padding-top: 55px; margin-top: 33px !important; --x:foo'></div>
<div id='append-test' style='padding-left: 10px'/>
`, 'The test verifies functionality of protocol method CSS.setEffectivePropertyValueForNode.');
await dp.DOM.enable();
await dp.CSS.enable();
var CSSHelper = await testRunner.loadScript('../resources/css-helper.js');
var cssHelper = new CSSHelper(testRunner, dp);
var documentNodeId = await cssHelper.requestDocumentNodeId();
var nodeId = await cssHelper.requestNodeId(documentNodeId, '#inspected');
async function updateProperty(propertyName, value) {
await dp.CSS.setEffectivePropertyValueForNode({nodeId, propertyName, value});
await cssHelper.loadAndDumpInlineAndMatchingRules(documentNodeId, '#inspected', true /* omitLog */);
await dp.DOM.undo();
};
await cssHelper.loadAndDumpInlineAndMatchingRules(documentNodeId, '#inspected');
testRunner.runTestSuite([
async function testBasicPropertyChange() {
await updateProperty('padding-left', '101px');
},
async function testChangePropertyInShortHand() {
await updateProperty('padding-bottom', '101px');
},
async function testChangeImportantProperty() {
await updateProperty('margin-left', '101px');
},
async function testChangeInlineProperty() {
await updateProperty('padding-top', '101px');
},
async function testChangeInlineImportantProperty() {
await updateProperty('margin-top', '101px');
},
async function testChangeMissingProperty() {
await updateProperty('margin-bottom', '101px');
},
async function testAppendWithSeparator() {
await cssHelper.loadAndDumpInlineAndMatchingRules(documentNodeId, '#append-test');
var nodeId = await cssHelper.requestNodeId(documentNodeId, '#append-test');
testRunner.log('Resulting styles');
await dp.CSS.setEffectivePropertyValueForNode({nodeId, propertyName: 'padding-right', value : '101px'});
await cssHelper.loadAndDumpInlineAndMatchingRules(documentNodeId, '#append-test', true /* omitLog */);
},
async function testChangeCustomProperty() {
await updateProperty('--x', 'bar');
}
]);
});