Best JavaScript code snippet using playwright-internal
editor.js
Source:editor.js
1import {saveState, states, temp_file} from "./state_handler";2import {open} from "./layout";3import {make, request_reset, request_update} from "./event_handler";4import {terminable_command} from "./canceller";5import {registerEditor, removeEditor, notify_changed} from "./test_results";6import {doTailViz, javastyle} from "./settings";7export {register};8function register(layout) {9 layout.registerComponent('editor', function (container, componentState) {10 let decoded = $.parseJSON(start_data);11 let testable = componentState.id < decoded["files"].length;12 let test_case = states[componentState.id].file_name.startsWith(temp_file);13 container.getElement().html(`14 <div class="content">15 <div class="header"> 16 ${(!test_case) ?17 `<button type="button" class="btn-light save-btn" aria-label="Save">18 <span class="text"> Save </span>19 </button>` : ``}20 <button type="button" data-toggle="tooltip"21 title="Open a console and run the program locally."22 class="btn-success toolbar-btn run-btn">Run</button>23 ${testable ?24 `<button type="button" data-toggle="tooltip"25 title="Run all ok.py tests locally."26 class="btn-danger toolbar-btn test-btn">Test</button>` : ``}27 <button type="button" data-toggle="tooltip"28 title="Step through the program's execution."29 class="btn-primary toolbar-btn sub-btn">Debug</button> 30 <button type="button" data-toggle="tooltip"31 title="View environment diagram."32 class="btn-info toolbar-btn env-btn">Environments</button> 33 <button type="button" data-toggle="tooltip"34 title="Reformat code and fix (some) minor mistakes."35 class="btn-secondary toolbar-btn reformat-btn">Reformat</button> 36 </div>37 <div class="editor-wrapper">38 <div class="editor"></div>39 </div>40 </div>41 `);42 make(container, "editor", componentState.id);43 let editorDiv;44 let editor;45 let changed = false;46 let saveTimer;47 let name;48 container.on("open", function () {49 editorDiv = container.getElement().find(".editor").get(0);50 editor = ace.edit(editorDiv);51 ace.config.set("packaged", true);52 editor.session.setMode("ace/mode/scheme");53 editor.setOption("fontSize", 14);54 editor.setOption("enableBasicAutocompletion", true);55 editor.setOption("enableLiveAutocompletion", true);56 editor.setAutoScrollEditorIntoView(true);57 editor.getSession().setUseSoftTabs(true);58 editor.container.style.background = "white";59 editor.focus();60 saveTimer = setInterval(() => save(), 5000);61 states[componentState.id].editor_open = true;62 container.on("resize", function () {63 editor.resize();64 });65 if (testable) {66 states[componentState.id].file_name = decoded["files"][componentState.id];67 }68 name = states[componentState.id].file_name;69 if (test_case) {70 editor.setValue(states[componentState.id].file_content);71 registerEditor(name, editor);72 } else {73 $.post("/read_file", {74 filename: states[componentState.id].file_name,75 }).done(function (data) {76 data = $.parseJSON(data);77 editor.setValue(data);78 });79 }80 editor.getSession().on("change", function () {81 container.getElement().find(".save-btn > .text").text("Save");82 changed = true;83 });84 let selectMarker;85 function getMatchingBracket() {86 let cursor = editor.getCursorPosition();87 let index = editor.getSession().getDocument().positionToIndex(cursor);88 let nextVal = editor.getValue()[index];89 let prevVal = editor.getValue()[index - 1];90 if (prevVal === ")" || prevVal === "]") {91 return editor.getSession().findMatchingBracket(cursor, prevVal);92 } else if (nextVal === "(" || nextVal === "[") {93 cursor.column += 1;94 let out = editor.getSession().findMatchingBracket(cursor, nextVal);95 if (out !== null) {96 out.column += 1;97 }98 return out;99 }100 return null;101 }102 editor.getSelection().on("changeCursor", function () {103 let matchingBracket = getMatchingBracket();104 if (selectMarker !== undefined) {105 editor.getSession().removeMarker(selectMarker);106 }107 if (matchingBracket !== null) {108 let currentPos = editor.getCursorPosition();109 if (currentPos.row > matchingBracket.row ||110 currentPos.row === matchingBracket.row && currentPos.column > matchingBracket.column) {111 let temp = currentPos;112 currentPos = matchingBracket;113 matchingBracket = temp;114 }115 let range = new ace.Range(currentPos.row, currentPos.column, matchingBracket.row, matchingBracket.column);116 selectMarker = editor.getSession().addMarker(range, "ace_selection match_parens", editor.getSelectionStyle());117 }118 });119 });120 layout.eventHub.on("update", () => {121 if (states[componentState.id].environments.length === 0) {122 // program has never been run123 container.getElement().find(".env-btn")//.prop("disabled", true)124 .attr('data-original-title', "To use the environment diagram, press Run first.");125 container.getElement().find(".sub-btn")//.prop("disabled", true)126 .attr('data-original-title', "To use the debugger, press Run first.");127 } else {128 container.getElement().find(".env-btn")//.prop("disabled", false)129 .attr('data-original-title', "View environment diagram.");130 container.getElement().find(".sub-btn")//.prop("disabled", false)131 .attr('data-original-title', "Step through the program's execution.");132 }133 });134 container.on("destroy", function () {135 removeEditor(name, editor);136 clearInterval(saveTimer);137 });138 container.getElement().keydown(function (event) {139 if ((event.ctrlKey || event.metaKey) && event.keyCode === 13) {140 event.preventDefault();141 // noinspection JSIgnoredPromiseFromCall142 run();143 }144 if ((event.ctrlKey || event.metaKey) && event.keyCode === 83) {145 event.preventDefault();146 // noinspection JSIgnoredPromiseFromCall147 save();148 }149 });150 container.getElement().find(".run-btn").on("click", () => run());151 container.getElement().find(".save-btn").on("click", () => save());152 container.getElement().find(".reformat-btn").on("click", reformat);153 container.getElement().find(".sub-btn").on("click", async function () {154 await save();155 await run(true);156 open("substitution_tree", componentState.id);157 });158 container.getElement().find(".env-btn").on("click", async function () {159 await save();160 await run(true);161 open("env_diagram", componentState.id);162 });163 container.getElement().find(".test-btn").on("click", run_tests);164 async function save(running) {165 if (!running && !changed) {166 return;167 }168 if (test_case) {169 states[componentState.id].file_content = editor.getValue();170 }171 container.getElement().find(".save-btn > .text").text("Saving...");172 let code = [editor.getValue()];173 await $.post("./save", {174 code: code,175 filename: name,176 do_save: !test_case,177 }).done(function (data) {178 data = $.parseJSON(data);179 if (data["result"] === "success") {180 container.getElement().find(".save-btn > .text").text("Saved");181 changed = false;182 if (running) {183 states[componentState.id].active_code = data["stripped"];184 states[componentState.id].up_to_date = true;185 return;186 }187 if (states[componentState.id].active_code === data["stripped"]) {188 if (!states[componentState.id].up_to_date) {189 states[componentState.id].up_to_date = true;190 request_update();191 }192 states[componentState.id].up_to_date = true;193 } else {194 states[componentState.id].up_to_date = false;195 }196 } else {197 alert("Save error - try copying code from editor to a file manually");198 }199 })200 }201 async function run(noOutput) {202 let code = [editor.getValue()];203 async function run_done(data) {204 data = $.parseJSON(data);205 if (data.success) {206 states[componentState.id].states = data.states;207 states[componentState.id].environments = [];208 for (let key of data.active_frames) {209 states[componentState.id].environments.push(data.frame_lookup[key]);210 }211 states[componentState.id].moves = data.graphics;212 states[componentState.id].out = data.out[0];213 states[componentState.id].start = data.states[0][0];214 states[componentState.id].end = data.states[0][1];215 states[componentState.id].index = data.states[0][0];216 states[componentState.id].expr_i = 0;217 states[componentState.id].roots = data.roots;218 states[componentState.id].globalFrameID = data.globalFrameID;219 states[componentState.id].heap = data.heap;220 states[componentState.id].frameUpdates = data.frameUpdates;221 } else {222 states[componentState.id].out = data.out[0];223 states[componentState.id].globalFrameID = -1;224 }225 await save(true);226 if (!noOutput) {227 open("output", componentState.id);228 if (data.graphics_open) {229 open("turtle_graphics", componentState.id);230 }231 }232 // noinspection JSIgnoredPromiseFromCall233 saveState(true);234 request_reset();235 request_update();236 }237 let aj = $.post("./process2", {238 code: code,239 globalFrameID: -1,240 curr_i: 0,241 curr_f: 0,242 tailViz: doTailViz()243 });244 terminable_command("executing code", aj, run_done);245 }246 function reformat() {247 let code = [editor.getValue()];248 $.post("./reformat", {249 code: code,250 javastyle: javastyle(),251 }).done(function (data) {252 if (data) {253 data = $.parseJSON(data);254 editor.setValue(data["formatted"] + "\n");255 } else {256 $("#formatFailModal").modal("show");257 }258 });259 }260 async function run_tests() {261 if (editor.getValue().trim() === "") {262 return;263 }264 await save();265 let ajax = $.post("./test");266 async function done_fn(data) {267 data = $.parseJSON(data);268 states[0].test_results = data;269 await save();270 notify_changed();271 open("test_results", 0);272 }273 terminable_command("test cases", ajax, done_fn);274 }275 });...
braces.js
Source:braces.js
1/*2Write a function that takes a string of braces, and determines if the order of the braces is valid.3It should return true if the string is valid, and false if it's invalid.4This Kata is similar to the Valid Parentheses Kata, but introduces new characters: brackets [], and curly braces {}.5All input strings will be nonempty, and will only consist of parentheses, brackets and curly braces: ()[]{}.6What is considered Valid?7A string of braces is considered valid if all braces are matched with the correct brace.8*/9console.log(validBraces("(){}[]")); // true10console.log(validBraces("([{}])")); // true11console.log(validBraces("[(])")); // false12console.log(validBraces("[({})](]")); // false13console.log(validBraces("(({{[[]]}}))")); // true14console.log(validBraces("({})[({})]")); // true15function validBraces(str) {16 let matchingBracket = {};17 matchingBracket["["] = "]";18 matchingBracket["{"] = "}";19 matchingBracket["("] = ")";20 // console.log(str);21 let characters = str.split("");22 // a valid string will always have even number of symbols23 if (characters.length % 2 !== 0) return false;24 // a valid string will always start with an opening bracket25 if (!matchingBracket[characters[0]]) return false;26 if (characters.length === 2) {27 const openingBracket = characters.shift();28 const closingBracket = characters.pop();29 return matchingBracket[openingBracket] && closingBracket === matchingBracket[openingBracket];30 }31 const openingBracket = characters[0];32 let closingBracketIndex = characters.lastIndexOf(matchingBracket[openingBracket]);33 // there is a matching closing symbol at the end of the string34 if (closingBracketIndex === str.length - 1) {35 characters.shift();36 characters.pop();37 return validBraces(characters.join(""));38 // otherwise find the first matching closing symbol we can possibly find,39 // split the string in two and validate each section recursively40 } else {41 closingBracketIndex = characters.indexOf(matchingBracket[openingBracket]);42 if (!closingBracketIndex) return false; // no closing symbol exists for this opener43 const left = str.substring(0, closingBracketIndex + 1);44 const right = str.substring(closingBracketIndex + 1, characters.length);45 return validBraces(left) && validBraces(right);46 }...
main.js
Source:main.js
1/**2* Brackets extension to select the block inside matching brackets by double clicking a bracket.3*4* Hugo Pessotti <hpessotti@gmail.com>5**/6define(function (require, exports, module) {7 "use strict";8 var AppInit = brackets.getModule("utils/AppInit"),9 EditorManager = brackets.getModule("editor/EditorManager");10 var checkMatching = function(editor, event) {11 if (editor.doc.getSelection().match(/^[\s\[\]{}()]+$/)) {12 var matchingBracket = editor.findMatchingBracket(editor.doc.getCursor());13 if (matchingBracket && matchingBracket.match) {14 matchingBracket.from.ch += 1;15 editor.doc.setSelection(matchingBracket.from, matchingBracket.to);16 }17 }18 }19 var activeEditorChangeHandler = function ($event, focusedEditor, lostEditor) {20 if (lostEditor) {21 lostEditor._codeMirror.off("dblclick", checkMatching);22 }23 if (focusedEditor) {24 focusedEditor._codeMirror.on("dblclick", checkMatching);25 }26 };27 AppInit.appReady(function() {28 $(EditorManager).on("activeEditorChange", activeEditorChangeHandler);29 });...
soal_3.js
Source:soal_3.js
...17 }18 }19 return stack.length === 0 ? "YES" : "NO";20}21console.log(matchingBracket(symbols_1)); //YES22console.log(matchingBracket(symbols_2)); //NO...
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 const text = 'Hello world';7 const index = page.matchingBracket(text, 5);8 console.log(index);9 await browser.close();10})();11### BrowserContext.overridePermissions(origin, permissions)12const { chromium } = require('playwright');13(async () => {14 const browser = await chromium.launch();15 const context = await browser.newContext();16 const page = await context.newPage();17 await page.click('text=Ask for Geolocation');18 await page.waitForSelector('text=You are here:');19 await browser.close();20})();21### BrowserContext.route(url, handler)
Using AI Code Generation
1const {chromium} = require('playwright');2const browser = await chromium.launch();3const page = await browser.newPage();4const handle = await page.evaluateHandle(() => document.body);5const result = await handle.evaluate(node => node.innerHTML);6console.log(result);7await browser.close();8const {chromium} = require('playwright');9const browser = await chromium.launch();10const page = await browser.newPage();11const handle = await page.evaluateHandle(() => document.body);12const result = await handle.evaluate(node => node.innerHTML);13console.log(result);14await browser.close();15const {chromium} = require('playwright');16const browser = await chromium.launch();17const page = await browser.newPage();18const handle = await page.evaluateHandle(() => document.body);19const result = await handle.evaluate(node => node.innerHTML);20console.log(result);21await browser.close();22const {chromium} = require('playwright');23const browser = await chromium.launch();24const page = await browser.newPage();25const handle = await page.evaluateHandle(() => document.body);26const result = await handle.evaluate(node => node.innerHTML);27console.log(result);28await browser.close();29const {chromium} = require('playwright');30const browser = await chromium.launch();31const page = await browser.newPage();32const handle = await page.evaluateHandle(() => document.body);33const result = await handle.evaluate(node => node.innerHTML);34console.log(result);35await browser.close();36const {chromium} = require('playwright');37const browser = await chromium.launch();38const page = await browser.newPage();39const handle = await page.evaluateHandle(() => document.body);40const result = await handle.evaluate(node => node.innerHTML);41console.log(result);42await browser.close();
Using AI Code Generation
1const { matchingBracket } = require('playwright/lib/utils/regexp');2const text = 'Hello {world}';3const start = text.indexOf('{');4const end = matchingBracket(text, start);5console.log('start index: ' + start);6console.log('end index: ' + end);
Using AI Code Generation
1const { matchingBracket } = require('playwright/lib/protocol/protocol');2const result = matchingBracket('Hello World', 6);3console.log(result);4const { chromium } = require('playwright');5const assert = require('assert').strict;6const browser = await chromium.launch();7const context = await browser.newContext();8const page = await context.newPage();9const result = await page.evaluate(() => {10 return 2 + 2;11});12assert.strictEqual(result, 4);13await browser.close();14const { chromium } = require('playwright');15const assert = require('assert').strict;16const browser = await chromium.launch();17const context = await browser.newContext();18const page = await context.newPage();19await page.screenshot({ path: 'example.png' });20await browser.close();
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!