The test verifies functionality of protocol method CSS.setStyleTexts. ==== Initial style sheet text ==== #test { box-sizing: border-box; } #test { /* resetting some properties */ line-height: 1; font-family: "Arial"; color: blue; display: flex; /* flex FTW! */ } @media (min-width: 1px) { #test { font-size: 200%; } #test { } } Running test: testMalformedArguments1 Expected protocol error: Invalid parameters (Failed to deserialize params.edits.styleSheetId - BINDINGS: mandatory field missing ) Running test: testMalformedArguments2 Expected protocol error: Invalid parameters (Failed to deserialize params.edits.range - BINDINGS: mandatory field missing ) Running test: testMalformedArguments3 Expected protocol error: Invalid parameters (Failed to deserialize params.edits.range.startLine - BINDINGS: int32 value expected ) Running test: testFirstEditDoesNotApply Expected protocol error: Failed applying edit #0: SyntaxError Style text is not valid. Running test: testSecondEditDoesNotApply Expected protocol error: Failed applying edit #1: SyntaxError Style text is not valid. Running test: testBasicSetStyle ==== Style sheet text ==== #test { content: 'EDITED'; } #test { /* resetting some properties */ line-height: 1; font-family: "Arial"; color: blue; display: flex; /* flex FTW! */ } @media (min-width: 1px) { #test { font-size: 200%; } #test { } } Running test: testMultipleStyleTexts1 ==== Style sheet text ==== #test { content: 'EDITED2'; } #test { /* resetting some properties */ line-height: 1; font-family: "Arial"; color: blue; display: flex; /* flex FTW! */ } @media (min-width: 1px) { #test { content: 'EDITED1'; } #test { } } Running test: testMultipleStyleTexts2 ==== Style sheet text ==== #test { content: 'EDITED3'; } #test { /* resetting some properties */ line-height: 1; font-family: "Arial"; color: blue; display: flex; /* flex FTW! */ } @media (min-width: 1px) { #test { content: 'EDITED4'; } #test { content: 'EDITED5'; } }