Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Unified Diff: LayoutTests/inspector-protocol/css/css-set-property-text.html

Issue 211193006: DevTools: [CSS] use setStyleText as undo action for setPropertyText (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: do not crash renderer in case of invalid styleId Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: LayoutTests/inspector-protocol/css/css-set-property-text.html
diff --git a/LayoutTests/inspector-protocol/css/css-set-property-text.html b/LayoutTests/inspector-protocol/css/css-set-property-text.html
new file mode 100644
index 0000000000000000000000000000000000000000..1a9b54e7ea21b7a85f824b557b13bfda84f6df54
--- /dev/null
+++ b/LayoutTests/inspector-protocol/css/css-set-property-text.html
@@ -0,0 +1,145 @@
+<html>
+<head>
+<script type="text/javascript" src="../../http/tests/inspector-protocol/inspector-protocol-test.js"></script>
+<script type="text/javascript" src="css-protocol-test.js"></script>
+<script type="text/javascript">
+function test()
+{
+setTimeout(InspectorTest.completeTest.bind(InspectorTest), 2000);
+ InspectorTest.eventHandler["CSS.styleSheetAdded"] = styleSheetAdded;
+ InspectorTest.sendCommandOrDie("CSS.enable", {});
+
+ var setPropertyText;
+ var verifyProtocolError;
+ var dumpStyleSheet;
+
+ function styleSheetAdded(result)
+ {
+ var styleSheetId = result.params.header.styleSheetId;
+ setPropertyText = InspectorTest.setPropertyText.bind(InspectorTest, styleSheetId, false);
+ verifyProtocolError = InspectorTest.setPropertyText.bind(InspectorTest, styleSheetId, true);
+ dumpStyleSheet = InspectorTest.dumpStyleSheetText.bind(null, styleSheetId);
+ InspectorTest.sendCommandOrDie("CSS.getStyleSheetText", { styleSheetId: styleSheetId }, onInitialStyleSheetText);
+ }
+
+ function onInitialStyleSheetText(result)
+ {
+ InspectorTest.log("==== Initial style sheet text ====");
+ InspectorTest.log(result.text);
+ InspectorTest.runTestSuite(testSuite);
+ }
+
+ var testSuite = [
+ function testEditProperty(next)
+ {
+ setPropertyText({
+ styleIndex: 1,
+ propertyIndex: 1,
+ overwrite: true,
+ text: "content: 'EDITED PROPERTY';"
+ }, InspectorTest.undoAndNext(next));
+ },
+
+ function testBreakingCommentEditProperty(next)
+ {
+ verifyProtocolError({
+ styleIndex: 1,
+ propertyIndex: 2,
+ overwrite: true,
+ text: "/*<--OPENED COMMENT"
+ }, next);
+ },
+
+ function testInsertFirstProperty(next)
+ {
+ setPropertyText({
+ styleIndex: 1,
+ propertyIndex: 0,
+ overwrite: false,
+ text: "content: 'INSERTED PROPERTY';"
+ }, InspectorTest.undoAndNext(next));
+ },
+
+ function testInsertLastProperty(next)
+ {
+ setPropertyText({
+ styleIndex: 1,
+ propertyIndex: 4,
+ overwrite: false,
+ text: "content: 'INSERTED PROPERTY';"
+ }, InspectorTest.undoAndNext(next));
+ },
+
+ function testInsertMultipleProperties(next)
+ {
+ setPropertyText({
+ styleIndex: 1,
+ propertyIndex: 2,
+ overwrite: false,
+ text: "content: 'INSERTED #1';content: 'INSERTED #2';"
+ }, InspectorTest.undoAndNext(next));
+ },
+
+ function testInsertPropertyInEmptyRule(next)
+ {
+ setPropertyText({
+ styleIndex: 3,
+ propertyIndex: 0,
+ overwrite: false,
+ text: "content: 'INSERTED PROPERTY';"
+ }, InspectorTest.undoAndNext(next));
+ },
+
+ function testInsertBreakingPropertyInLastEmptyRule(next)
+ {
+ verifyProtocolError({
+ styleIndex: 3,
+ propertyIndex: 0,
+ overwrite: false,
+ text: "content: 'INSERTED PROPERTY'/*"
+ }, next);
+ },
+
+ function testDisableProperty(next)
+ {
+ setPropertyText({
+ styleIndex: 1,
+ propertyIndex: 1,
+ overwrite: true,
+ text: "/* margin: 0; */"
+ }, InspectorTest.undoAndNext(next));
+ },
+
+ function testRedo(next)
+ {
+ setPropertyText({
+ styleIndex: 1,
+ propertyIndex: 4,
+ overwrite: false,
+ text: "align-items: center;"
+ }, InspectorTest.undoAndNext(redo));
+
+ function redo()
+ {
+ InspectorTest.sendCommandOrDie("DOM.redo", null, dumpStyleSheet.bind(null, InspectorTest.undoAndNext(next)));
+ }
+ },
+
+ function testInvalidParameters(next)
+ {
+ verifyProtocolError({
+ styleIndex: "one",
+ propertyIndex: 4,
+ overwrite: false,
+ text: "no matter what is here"
+ }, next);
+ },
+ ];
+}
+
+</script>
+<link rel="stylesheet" href="resources/set-property-text.css"/>
+</head>
+<body onload="runTest();">
+</body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698