blob: 2deb3fed97ec88da5564d0b61063fa6899e974cd [file] [log] [blame]
(async function(testRunner) {
var {page, session, dp} = await testRunner.startHTML(`
<link rel='stylesheet' href='${testRunner.url('resources/set-style-text.css')}'/>
<div id='inliner' style='color: red;'>`, 'The test verifies functionality of protocol method CSS.setStyleTexts for inline elements.');
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, '#inliner');
var response = await dp.CSS.getInlineStylesForNode({nodeId});
var styleSheetId = response.result.inlineStyle.styleSheetId;
async function setStyleTexts(edits) {
await cssHelper.setStyleTexts(styleSheetId, false /* expectError */, edits);
var response = await dp.CSS.getStyleSheetText({styleSheetId});
testRunner.log('Stylesheet text: ' + response.result.text);
await dp.DOM.undo();
};
async function verifyProtocolError(edits) {
await cssHelper.setStyleTexts(styleSheetId, true /* expectError */, edits);
var response = await dp.CSS.getStyleSheetText({styleSheetId});
testRunner.log('Stylesheet text: ' + response.result.text);
};
var response = await dp.CSS.getStyleSheetText({styleSheetId});
testRunner.log('==== Initial style sheet text ====');
testRunner.log(response.result.text);
testRunner.runTestSuite([
async function testBasicSetStyle() {
await setStyleTexts([{
styleSheetId: styleSheetId,
range: { startLine: 0, startColumn: 0, endLine: 0, endColumn: 11 },
text: `content: 'EDITED'`,
}]);
},
async function testSetStylePoorContent() {
await verifyProtocolError([{
styleSheetId: styleSheetId,
range: { startLine: 0, startColumn: 0, endLine: 0, endColumn: 11 },
text: '}',
}]);
},
async function testDeleteStyleBody() {
await setStyleTexts([{
styleSheetId: styleSheetId,
range: { startLine: 0, startColumn: 0, endLine: 0, endColumn: 11 },
text: '',
}]);
},
async function testSetStyleOpenComment() {
await verifyProtocolError([{
styleSheetId: styleSheetId,
range: { startLine: 0, startColumn: 0, endLine: 0, endColumn: 11 },
text: '/*',
}]);
}
]);
})