Best JavaScript code snippet using playwright-internal
text.js
Source:text.js
1let params = (new URL(document.location)).searchParams;2let book = params.get("book");3let part = params.get("part");4window.addEventListener('click', () => {5 let focusElem = window.getSelection();6 if((focusElem.anchorNode && focusElem.anchorNode.nodeName == "#text") && (window.getSelection().getRangeAt(0).commonAncestorContainer.parentElement.localName == 'td')) {7 8 let range = window.getSelection().getRangeAt(0);9 function topNavTable() {10 11 // ÐÑобÑажение панели ÑбÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ "ТаблиÑей"12 headerNav.innerHTML = '<div class="notEdit allTopNav">'+13 '<div class="notEdit">'+14 '<div>'+15 '<img src="public/img/delete.svg" onclick="deletedCell();" class="notEdit elementTopNavImg">'+16 '</div>'+17 '<div>'+18 '<img src="public/img/column.svg" onclick="colsCell();" class="notEdit elementTopNavImg">'+19 '</div>'+20 '<div>'+21 '<img src="public/img/row.svg" onclick="rowsCell();" class="notEdit elementTopNavImg">'+22 '</div>'+23 '<div>'+24 '<img src="public/img/plus.svg" onclick="appendCell();" class="notEdit elementTopNavImg">'+25 '</div>'+26 '</div>';27 28 29 }30 topNavTable();31 //range.commonAncestorContainer.parentNode.setAttribute('colspan', '3');32 }33});34function deletedCell() {35 let range = window.getSelection().getRangeAt(0);36 range.commonAncestorContainer.parentNode.remove();37}38function colsCell() {39 let range = window.getSelection().getRangeAt(0);40 let ans = prompt('ÐведиÑе коллиÑеÑÑво колонок коÑоÑое бÑÐ´ÐµÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑ ÑÑейка');41 range.commonAncestorContainer.parentNode.setAttribute('colspan', ans);42}43function rowsCell() {44 let range = window.getSelection().getRangeAt(0);45 let ans = prompt('ÐведиÑе коллиÑеÑÑво ÑÑÑок коÑоÑое бÑÐ´ÐµÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑ ÑÑейка');46 range.commonAncestorContainer.parentNode.setAttribute('rowspan', ans);47}48function appendCell() {49 let range = window.getSelection().getRangeAt(0);50 let newCell = document.createElement('td');51 newCell.innerText = 'ÐÐ¾Ð²Ð°Ñ ÑÑейка';52 range.commonAncestorContainer.parentNode.parentNode.appendChild(newCell);53}54function changeColorText(color) {55 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {56 let range = window.getSelection().getRangeAt(0);57 let newNode = document.createElement("span");58 newNode.style.color = color;59 range.surroundContents(newNode);60 //document.getSelection().removeAllRanges();61 // function highlight(range) {62 // var inputText = document.getElementById("inputText");63 // var innerHTML = inputText.innerHTML;64 // var index = innerHTML.indexOf(text);65 // if (index >= 0) { 66 // innerHTML = innerHTML.substring(0,index) + "<span style='color:"+color+"'>" + innerHTML.substring(index,index+text.length) + "</span>" + innerHTML.substring(index + text.length);67 // inputText.innerHTML = innerHTML;68 // }69 // }70 return false;71 } else {72 return false;73 }74}75function lockText() {76 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {77 let range = window.getSelection().getRangeAt(0);78 let newNode = document.createElement("span");79 newNode.classList.add('lockText');80 range.surroundContents(newNode);81 //document.getSelection().removeAllRanges();82 return false;83 } else {84 return false;85 }86}87function changeBgColorText(color) {88 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {89 let range = window.getSelection().getRangeAt(0);90 let newNode = document.createElement("span");91 newNode.style.background = color;92 range.surroundContents(newNode);93 //document.getSelection().removeAllRanges();94 return false;95 } else {96 return false;97 }98}99function changeFontSize(size) {100 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {101 let range = window.getSelection().getRangeAt(0);102 let newNode = document.createElement("span");103 newNode.style.fontSize = size;104 range.surroundContents(newNode);105 //document.getSelection().removeAllRanges();106 return false;107 } else {108 return false;109 }110}111function changeFontLine(lineStyle) {112 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {113 let range = window.getSelection().getRangeAt(0);114 let newNode = document.createElement("span");115 if(lineStyle == 'obst') {116 newNode.classList.add('obst');117 range.surroundContents(newNode);118 return false;119 }120 newNode.classList.add('lineColor');121 newNode.classList.add(lineStyle);122 range.surroundContents(newNode);123 //document.getSelection().removeAllRanges();124 return false;125 } else {126 return false;127 }128}129function changeFontMorf(style) {130 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {131 let range = window.getSelection().getRangeAt(0);132 let newNode = document.createElement("span");133 newNode.classList.add(style);134 range.surroundContents(newNode);135 //document.getSelection().removeAllRanges();136 return false;137 } else {138 return false;139 }140}141function appendMorf(style) {142 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {143 let range = window.getSelection().getRangeAt(0);144 let newNode = document.createElement("span");145 console.log(range);146 alert();147 newNode.setAttribute('data-morfana-markup', 'ko:'+range.startOffset+'-'+range.endOffset);148 range.surroundContents(newNode);149 //document.getSelection().removeAllRanges();150 return false;151 } else {152 return false;153 }154}155// Ðобавление ÑоÑмÑлÑ156function appendFormulaCarret() {157 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {158 159 let range = window.getSelection().getRangeAt(0);160 let myValue = prompt('ÐведиÑе ÑоÑмÑÐ»Ñ Ð±ÐµÐ· Ñегов "<math> </math>"');161 if(myValue == null) {162 return false;163 }164 let span = document.createElement('math');165 span.setAttribute('contenteditable', 'false');166 span.classList.add('formula');167 span.innerHTML = myValue;168 169 range.insertNode(span);170 return false;171 }172}173function changeMarginText(size) {174 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {175 let range = window.getSelection().getRangeAt(0);176 let newNode = document.createElement("span");177 newNode.style.margin = size;178 range.surroundContents(newNode);179 //document.getSelection().removeAllRanges();180 return false;181 } else {182 return false;183 }184}185function sup() {186 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {187 let range = window.getSelection().getRangeAt(0);188 let newNode = document.createElement("sup");189 range.surroundContents(newNode);190 //document.getSelection().removeAllRanges();191 return false;192 } else {193 return false;194 }195}196function clearText() {197 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {198 range = window.getSelection().getRangeAt(0);199 range.commonAncestorContainer.innerHTML = range.toString();200 return false;201 } else {202 return false;203 }204}205function sub() {206 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {207 let range = window.getSelection().getRangeAt(0);208 let newNode = document.createElement("sub");209 range.surroundContents(newNode);210 //document.getSelection().removeAllRanges();211 return false;212 } else {213 return false;214 }215}216function textAlignCenter() {217 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {218 let range = window.getSelection().getRangeAt(0);219 let newNode = document.createElement("span");220 newNode.style.display = 'block';221 newNode.style.textAlign = 'center';222 range.surroundContents(newNode);223 //document.getSelection().removeAllRanges();224 return false;225 } else {226 return false;227 }228}229function textAlignCenter() {230 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {231 let range = window.getSelection().getRangeAt(0);232 let newNode = document.createElement("span");233 newNode.style.display = 'block';234 newNode.style.textAlign = 'center';235 range.surroundContents(newNode);236 //document.getSelection().removeAllRanges();237 return false;238 } else {239 return false;240 }241}242function textAlignLeft() {243 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {244 let range = window.getSelection().getRangeAt(0);245 let newNode = document.createElement("span");246 newNode.style.display = 'block';247 newNode.style.textAlign = 'left';248 range.surroundContents(newNode);249 //document.getSelection().removeAllRanges();250 return false;251 } else {252 return false;253 }254}255function textAlignRight() {256 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {257 let range = window.getSelection().getRangeAt(0);258 let newNode = document.createElement("span");259 newNode.style.display = 'block';260 newNode.style.textAlign = 'right';261 range.surroundContents(newNode);262 //document.getSelection().removeAllRanges();263 return false;264 } else {265 return false;266 }267}268function textTitle() {269 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {270 let range = window.getSelection().getRangeAt(0);271 let newNode = document.createElement("span");272 let titleText = prompt('ÐведиÑе подÑказкÑ');273 if(titleText) {274 appendNewTitle(range, titleText, '/app/saveBook/saveTitle', book, part);275 newNode.title = titleText;276 range.surroundContents(newNode);277 return false;278 }279 return false;280 } else {281 return false;282 }283}284function bold() {285 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {286 let range = window.getSelection().getRangeAt(0);287 let newNode = document.createElement("b");288 289 range.surroundContents(newNode);290 //document.getSelection().removeAllRanges();291 return false;292 } else {293 return false;294 }295}296function italic() {297 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {298 let range = window.getSelection().getRangeAt(0);299 let newNode = document.createElement("span");300 newNode.style.fontStyle = 'italic';301 302 range.surroundContents(newNode);303 //document.getSelection().removeAllRanges();304 return false;305 } else {306 return false;307 }308}309function normal() {310 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {311 let range = window.getSelection().getRangeAt(0);312 let newNode = document.createElement("span");313 newNode.style.fontWeight = '100';314 newNode.style.fontStyle = 'normal';315 316 range.surroundContents(newNode);317 //document.getSelection().removeAllRanges();318 return false;319 } else {320 return false;321 }322}323function appendAnchor() {324 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {325 let range = window.getSelection().getRangeAt(0);326 let newNode = document.createElement("span");327 let newId = prompt('ÐведиÑе ÑкоÑÑ (на лаÑиниÑе, знаÑение должно бÑÑÑ ÑникалÑнÑм');328 if(newId) {329 newNode.id = newId;330 range.surroundContents(newNode);331 //document.getSelection().removeAllRanges();332 return false;333 }334 return false;335 } else {336 return false;337 }338}339function appendLinkText() {340 if(typeof window.getSelection() != "undefined" && window.getSelection().anchorNode != null) {341 let range = window.getSelection().getRangeAt(0);342 let newNode = document.createElement("a");343 let result = prompt('ÐведиÑе ÑÑÑлкÑ');344 newNode.href = result;345 range.surroundContents(newNode);346 return false;347 } else {348 return false;349 }...
browser_graphs-07a.js
Source:browser_graphs-07a.js
...47 info("Making a selection.");48 dragStart(graph, 300);49 ok(graph.hasSelectionInProgress(),50 "The selection should start (1).");51 is(graph.getSelection().start, 300,52 "The current selection start value is correct (1).");53 is(graph.getSelection().end, 300,54 "The current selection end value is correct (1).");55 hover(graph, 400);56 ok(graph.hasSelectionInProgress(),57 "The selection should still be in progress (2).");58 is(graph.getSelection().start, 300,59 "The current selection start value is correct (2).");60 is(graph.getSelection().end, 400,61 "The current selection end value is correct (2).");62 dragStop(graph, 500);63 ok(!graph.hasSelectionInProgress(),64 "The selection should have stopped (3).");65 is(graph.getSelection().start, 300,66 "The current selection start value is correct (3).");67 is(graph.getSelection().end, 500,68 "The current selection end value is correct (3).");69 info("Making a new selection.");70 dragStart(graph, 200);71 ok(graph.hasSelectionInProgress(),72 "The selection should start (4).");73 is(graph.getSelection().start, 200,74 "The current selection start value is correct (4).");75 is(graph.getSelection().end, 200,76 "The current selection end value is correct (4).");77 hover(graph, 300);78 ok(graph.hasSelectionInProgress(),79 "The selection should still be in progress (5).");80 is(graph.getSelection().start, 200,81 "The current selection start value is correct (5).");82 is(graph.getSelection().end, 300,83 "The current selection end value is correct (5).");84 dragStop(graph, 400);85 ok(!graph.hasSelectionInProgress(),86 "The selection should have stopped (6).");87 is(graph.getSelection().start, 200,88 "The current selection start value is correct (6).");89 is(graph.getSelection().end, 400,90 "The current selection end value is correct (6).");91 info("Resizing by dragging the end handlebar.");92 dragStart(graph, 400);93 is(graph.getSelection().start, 200,94 "The current selection start value is correct (7).");95 is(graph.getSelection().end, 400,96 "The current selection end value is correct (7).");97 dragStop(graph, 600);98 is(graph.getSelection().start, 200,99 "The current selection start value is correct (8).");100 is(graph.getSelection().end, 600,101 "The current selection end value is correct (8).");102 info("Resizing by dragging the start handlebar.");103 dragStart(graph, 200);104 is(graph.getSelection().start, 200,105 "The current selection start value is correct (9).");106 is(graph.getSelection().end, 600,107 "The current selection end value is correct (9).");108 dragStop(graph, 100);109 is(graph.getSelection().start, 100,110 "The current selection start value is correct (10).");111 is(graph.getSelection().end, 600,112 "The current selection end value is correct (10).");113 info("Moving by dragging the selection.");114 dragStart(graph, 300);115 hover(graph, 400);116 is(graph.getSelection().start, 200,117 "The current selection start value is correct (11).");118 is(graph.getSelection().end, 700,119 "The current selection end value is correct (11).");120 dragStop(graph, 500);121 is(graph.getSelection().start, 300,122 "The current selection start value is correct (12).");123 is(graph.getSelection().end, 800,124 "The current selection end value is correct (12).");125 info("Zooming in by scrolling inside the selection.");126 scroll(graph, -1000, 600);127 is(graph.getSelection().start, 525,128 "The current selection start value is correct (13).");129 is(graph.getSelection().end, 650,130 "The current selection end value is correct (13).");131 info("Zooming out by scrolling inside the selection.");132 scroll(graph, 1000, 600);133 is(graph.getSelection().start, 468.75,134 "The current selection start value is correct (14).");135 is(graph.getSelection().end, 687.5,136 "The current selection end value is correct (14).");137 info("Sliding left by scrolling outside the selection.");138 scroll(graph, 100, 900);139 is(graph.getSelection().start, 458.75,140 "The current selection start value is correct (15).");141 is(graph.getSelection().end, 677.5,142 "The current selection end value is correct (15).");143 info("Sliding right by scrolling outside the selection.");144 scroll(graph, -100, 900);145 is(graph.getSelection().start, 468.75,146 "The current selection start value is correct (16).");147 is(graph.getSelection().end, 687.5,148 "The current selection end value is correct (16).");149 info("Zooming out a lot.");150 scroll(graph, Number.MAX_SAFE_INTEGER, 500);151 is(graph.getSelection().start, 1,152 "The current selection start value is correct (17).");153 is(graph.getSelection().end, graph.width - 1,154 "The current selection end value is correct (17).");155}156// EventUtils just doesn't work!157function hover(graph, x, y = 1) {158 x /= window.devicePixelRatio;159 y /= window.devicePixelRatio;160 graph._onMouseMove({ testX: x, testY: y });161}162function dragStart(graph, x, y = 1) {163 x /= window.devicePixelRatio;164 y /= window.devicePixelRatio;165 graph._onMouseMove({ testX: x, testY: y });166 graph._onMouseDown({ testX: x, testY: y });167}...
browser_graphs-07.js
Source:browser_graphs-07.js
...25 info("Making a selection.");26 dragStart(graph, 300);27 ok(graph.hasSelectionInProgress(),28 "The selection should start (1).");29 is(graph.getSelection().start, 300,30 "The current selection start value is correct (1).");31 is(graph.getSelection().end, 300,32 "The current selection end value is correct (1).");33 hover(graph, 400);34 ok(graph.hasSelectionInProgress(),35 "The selection should still be in progress (2).");36 is(graph.getSelection().start, 300,37 "The current selection start value is correct (2).");38 is(graph.getSelection().end, 400,39 "The current selection end value is correct (2).");40 dragStop(graph, 500);41 ok(!graph.hasSelectionInProgress(),42 "The selection should have stopped (3).");43 is(graph.getSelection().start, 300,44 "The current selection start value is correct (3).");45 is(graph.getSelection().end, 500,46 "The current selection end value is correct (3).");47 info("Making a new selection.");48 dragStart(graph, 200);49 ok(graph.hasSelectionInProgress(),50 "The selection should start (4).");51 is(graph.getSelection().start, 200,52 "The current selection start value is correct (4).");53 is(graph.getSelection().end, 200,54 "The current selection end value is correct (4).");55 hover(graph, 300);56 ok(graph.hasSelectionInProgress(),57 "The selection should still be in progress (5).");58 is(graph.getSelection().start, 200,59 "The current selection start value is correct (5).");60 is(graph.getSelection().end, 300,61 "The current selection end value is correct (5).");62 dragStop(graph, 400);63 ok(!graph.hasSelectionInProgress(),64 "The selection should have stopped (6).");65 is(graph.getSelection().start, 200,66 "The current selection start value is correct (6).");67 is(graph.getSelection().end, 400,68 "The current selection end value is correct (6).");69 info("Resizing by dragging the end handlebar.");70 dragStart(graph, 400);71 is(graph.getSelection().start, 200,72 "The current selection start value is correct (7).");73 is(graph.getSelection().end, 400,74 "The current selection end value is correct (7).");75 dragStop(graph, 600);76 is(graph.getSelection().start, 200,77 "The current selection start value is correct (8).");78 is(graph.getSelection().end, 600,79 "The current selection end value is correct (8).");80 info("Resizing by dragging the start handlebar.");81 dragStart(graph, 200);82 is(graph.getSelection().start, 200,83 "The current selection start value is correct (9).");84 is(graph.getSelection().end, 600,85 "The current selection end value is correct (9).");86 dragStop(graph, 100);87 is(graph.getSelection().start, 100,88 "The current selection start value is correct (10).");89 is(graph.getSelection().end, 600,90 "The current selection end value is correct (10).");91 info("Moving by dragging the selection.");92 dragStart(graph, 300);93 hover(graph, 400);94 is(graph.getSelection().start, 200,95 "The current selection start value is correct (11).");96 is(graph.getSelection().end, 700,97 "The current selection end value is correct (11).");98 dragStop(graph, 500);99 is(graph.getSelection().start, 300,100 "The current selection start value is correct (12).");101 is(graph.getSelection().end, 800,102 "The current selection end value is correct (12).");103 info("Zooming in by scrolling inside the selection.");104 scroll(graph, -1000, 600);105 is(graph.getSelection().start, 525,106 "The current selection start value is correct (13).");107 is(graph.getSelection().end, 650,108 "The current selection end value is correct (13).");109 info("Zooming out by scrolling inside the selection.");110 scroll(graph, 1000, 600);111 is(graph.getSelection().start, 468.75,112 "The current selection start value is correct (14).");113 is(graph.getSelection().end, 687.5,114 "The current selection end value is correct (14).");115 info("Sliding left by scrolling outside the selection.");116 scroll(graph, 100, 900);117 is(graph.getSelection().start, 458.75,118 "The current selection start value is correct (15).");119 is(graph.getSelection().end, 677.5,120 "The current selection end value is correct (15).");121 info("Sliding right by scrolling outside the selection.");122 scroll(graph, -100, 900);123 is(graph.getSelection().start, 468.75,124 "The current selection start value is correct (16).");125 is(graph.getSelection().end, 687.5,126 "The current selection end value is correct (16).");127 info("Zooming out a lot.");128 scroll(graph, Number.MAX_SAFE_INTEGER, 500);129 is(graph.getSelection().start, 1,130 "The current selection start value is correct (17).");131 is(graph.getSelection().end, graph.width - 1,132 "The current selection end value is correct (17).");133}134// EventUtils just doesn't work!135function hover(graph, x, y = 1) {136 x /= window.devicePixelRatio;137 y /= window.devicePixelRatio;138 graph._onMouseMove({ clientX: x, clientY: y });139}140function click(graph, x, y = 1) {141 x /= window.devicePixelRatio;142 y /= window.devicePixelRatio;143 graph._onMouseMove({ clientX: x, clientY: y });144 graph._onMouseDown({ clientX: x, clientY: y });145 graph._onMouseUp({ clientX: x, clientY: y });...
SingleSelection.js
Source:SingleSelection.js
...24 return model;25 },26 testSelection : function()27 {28 var selection = this._list.getSelection();29 selection.push(this._model.getItem(1));30 this.flush();31 // check selection from list32 this.assertEquals(1, this._list.getSelection().getLength(), "On List");33 var expectedSelection = new qx.data.Array([this._model.getItem(1)]);34 this.assertDataArrayEquals(selection, expectedSelection, "On List");35 expectedSelection.dispose();36 // check selection from manager37 var item = this._list._manager.getSelectedItem();38 item = this._list._getDataFromRow(item);39 this.assertEquals(this._model.getItem(1), item);40 },41 testInvalidSelection : function()42 {43 var selection = this._list.getSelection();44 selection.push(this._model.getItem(1));45 selection.push(this._model.getItem(2));46 this.flush();47 // check selection from list48 this.assertEquals(1, this._list.getSelection().getLength(), "On List");49 var expectedSelection = new qx.data.Array([this._model.getItem(2)]);50 this.assertDataArrayEquals(selection, expectedSelection, "On List");51 expectedSelection.dispose();52 // check selection from manager53 var selection = this._list._manager.getSelection();54 this.assertEquals(1, selection.length);55 this.assertEquals(2, selection[0]);56 },57 testSelectionByUserInteraction : function()58 {59 var selection = this._list.getSelection();60 this._list._manager.selectItem(2);61 this.flush();62 this.assertEquals(1, selection.getLength());63 this.assertEquals(this._model.getItem(2), selection.getItem(0));64 this.assertEquals(2, this._list._manager.getSelectedItem());65 },66 testSelectionEventByUserInteraction : function()67 {68 var selection = this._list.getSelection();69 var self = this;70 this.assertEventFired(selection, "change",71 function()72 {73 self._list._manager.selectItem(2);74 self.flush();75 },76 function(e)77 {78 self.assertEquals(1, selection.getLength());79 self.assertEquals(self._model.getItem(2), selection.getItem(0));80 self.assertEquals(2, self._list._manager.getSelectedItem());81 }82 );83 },84 testSelectionWithSorter : function()85 {86 this._list.setDelegate({87 sorter : function(a, b) {88 return a < b ? 1 : a > b ? -1 : 0;89 }90 });91 this.testSelection();92 },93 testSelectionWithFilter : function() {94 this._list.setDelegate({95 filter : function(data) {96 // Filters all even items97 return ((parseInt(data.slice(5, data.length), 10)) % 2 == 1);98 }99 });100 var selection = this._list.getSelection();101 selection.push(this._model.getItem(1));102 this.flush();103 // check selection from list104 this.assertEquals(1, this._list.getSelection().getLength(), "On List");105 var expectedSelection = new qx.data.Array([this._model.getItem(1)]);106 this.assertDataArrayEquals(selection, expectedSelection, "On List");107 expectedSelection.dispose();108 // check selection from manager109 var selection = this._list._manager.getSelection();110 this.assertEquals(1, selection.length);111 this.assertEquals(0, selection[0]);112 },113 testInvalidSelectionWithFilter : function() {114 this._list.setDelegate({115 filter : function(data) {116 // Filters all even items117 return ((parseInt(data.slice(5, data.length), 10)) % 2 == 1);118 }119 });120 var selection = this._list.getSelection();121 selection.push(this._model.getItem(0));122 this.flush();123 // check selection from list124 this.assertEquals(0, this._list.getSelection().getLength(), "On List");125 // check selection from manager126 var selection = this._list._manager.getSelection();127 this.assertEquals(0, selection.length);128 },129 testApplyFilterAfterSelection : function() {130 var selection = this._list.getSelection();131 selection.push(this._model.getItem(0));132 this.flush();133 this._list.setDelegate({134 filter : function(data) {135 // Filters all even items136 return ((parseInt(data.slice(5, data.length), 10)) % 2 == 1);137 }138 });139 this.flush();140 // check selection from list141 this.assertEquals(0, this._list.getSelection().getLength(), "On List");142 // check selection from manager143 var selection = this._list._manager.getSelection();144 this.assertEquals(0, selection.length, "On Manager");145 },146 testApplySortingAfterSelection : function()147 {148 var selection = this._list.getSelection();149 selection.push(this._model.getItem(0));150 this.flush();151 // check selection from list152 this.assertEquals(1, this._list.getSelection().getLength(), "On List");153 // check selection from manager154 var selection = this._list._manager.getSelection();155 this.assertEquals(1, selection.length, "On Manager");156 this._list.setDelegate({157 sorter : function(a, b) {158 return a < b ? 1 : a > b ? -1 : 0;159 }160 });161 this.flush();162 // check selection from list163 var expectedSelection = new qx.data.Array([this._model.getItem(0)]);164 this.assertDataArrayEquals(expectedSelection, this._list.getSelection(), "On List");165 expectedSelection.dispose();166 // check selection from manager167 var selection = this._list._manager.getSelection();168 this.assertEquals(1, selection.length, "On Manager");169 // check row == last index170 this.assertEquals(this._model.getLength() - 1, this._list._manager.getSelection()[0], "Row is wrong on Manager");171 },172 testRemoveItem : function()173 {174 var selection = this._list.getSelection();175 selection.push(this._model.getItem(0));176 this.flush();177 this._model.removeAt(0);178 this.flush();179 // check selection from list180 this.assertEquals(0, this._list.getSelection().getLength(), "On List");181 // check selection from manager182 var selection = this._list._manager.getSelection();183 this.assertEquals(0, selection.length, "On Manager");184 },185 testRemoveItemWithGrouping : function()186 {187 this._list.setDelegate({188 group : function(data) {189 return data;190 }191 });192 var lastIndex = this._model.getLength() - 1;193 var selection = this._list.getSelection();194 selection.push(this._model.getItem(lastIndex));195 this.flush();196 this._model.removeAt(lastIndex);197 this.flush();198 // check selection from list199 this.assertEquals(0, this._list.getSelection().getLength(), "On List");200 // check selection from manager201 var selection = this._list._manager.getSelection();202 this.assertEquals(0, selection.length, "On Manager");203 }204 }...
testsuite.js
Source:testsuite.js
...78 // selecting two characters79 a().setContent("123456");80 eq("123456", a().getContent());81 a().makeSelection(2,4);82 eq("34", a().getSelection(), "getpref/suf1");83 eq("12", s().getPrefix());84 eq("56", s().getSuffix());85 // no selection, just caret86 a().makeSelection(2,2);87 eq("", a().getSelection());88 eq("12", s().getPrefix());89 eq("3456", s().getSuffix());90 // selecting one character91 a().makeSelection(2,3);92 eq("3", a().getSelection());93 eq("12", s().getPrefix());94 eq("456", s().getSuffix());95 // have empty lines before and after96 a().setContent("\n\n123456\n\n");97 eq("\n\n123456\n\n", a().getContent());98 a().makeSelection(4,6);99 eq("34", a().getSelection(), "getpref/suf empty lines");100 eq("12", s().getPrefix());101 eq("56", s().getSuffix());102 // no selection, just caret103 a().makeSelection(4,4);104 eq("", a().getSelection());105 eq("12", s().getPrefix());106 eq("3456", s().getSuffix());107 // selecting one character108 a().makeSelection(4,5);109 eq("3", a().getSelection());110 eq("12", s().getPrefix());111 eq("456", s().getSuffix());112 // Selecting an empty row with rows above and below.113 a().setContent("12\n34\n56");114 a().makeSelection(3,5);115 eq("34", a().getSelection(), "empty row 1");116 eq("", s().getPrefix(), "prefix");117 eq("", s().getSuffix(), "suffix");118 })();119 // Test space().120 (function () {121 a().setContent("123456");122 a().makeSelection(2,4);123 eq("34", a().getSelection());124 s().space();125 eq("12 34 56", a().getContent());126 eq("34", a().getSelection(), "space 1");127 // Space just one character.128 a().setContent("123456");129 a().makeSelection(3,4);130 eq("4", a().getSelection());131 s().space();132 eq("4", a().getSelection());133 eq("123 4 56", a().getContent());134 // Selecting at the start of a row.135 a().setContent("123456");136 a().makeSelection(0,1);137 eq("1", a().getSelection());138 s().space();139 eq("1", a().getSelection());140 eq("1 23456", a().getContent());141 142 // Selecting at the start of a row (but not the first row).143 a().setContent("123\n456");144 a().makeSelection(4, 5);145 eq("123\n456", a().getContent());146 eq("4", a().getSelection());147 s().space();148 eq("4", a().getSelection());149 eq("123\n4 56", a().getContent());150 })();151 // Test Reference.152 // Test fromString.153 (function () {154 var R = markdownEditor.Reference;155 var r;156 r = R.fromString("[ABC]: DEF", "Foo");157 eq("[", r.prefix);158 eq("]: ", r.infix);159 eq("Foo", r.type);160 eq("ABC", r.identifier);161 eq("DEF", r.text);162 eq("[ABC]: DEF", r.toString());163 r = R.fromString("[',.]: !@#$%", "Bar");164 eq("[',.]: !@#$%", r.toString());165 var x = R.fromString("[^1aoeu]: ");166 eq("[^1aoeu]: ", x.toString());167 })();168 // Test lineBreak.169 (function () {170 a().setContent("123456");171 a().makeSelection(2,4);172 eq("34", a().getSelection(), "linebreak1");173 s().lineBreak();174 eq("34", a().getSelection(), "linebreak2");175 eq("12\n\n34\n\n56", a().getContent());176 // Test with a multi line selection.177 a().setContent("123\n456");178 a().makeSelection(2,5);179 eq("3\n4", a().getSelection());180 s().lineBreak();181 eq("3\n4", a().getSelection());182 eq("12\n\n3\n4\n\n56", a().getContent());183 // Test with line above and below, whole middle line selected.184 a().setContent("12\n34\n56");185 a().makeSelection(3,5);186 eq("34", a().getSelection());187 s().lineBreak();188 eq("34", a().getSelection());189 eq("12\n\n34\n\n56", a().getContent());190 a().setContent("* 1\n* 2\n* 3");191 a().makeSelection(0, 22);192 eq("* 1\n* 2\n* 3", a().getSelection());193 s().lineBreak();194 eq("* 1\n* 2\n* 3", a().getSelection());195 // Test removing prefixing spaces.196 a().setContent("foo bar");197 a().makeSelection(5,9);198 eq(" bar", a().getSelection());199 s().lineBreak();200 eq(" bar", a().getSelection());201 // Test removing suffixing spaces202 a().setContent("foo bar");203 a().makeSelection(0, 4);204 eq("foo ", a().getSelection());205 s().lineBreak();206 eq("foo ", a().getSelection());207 // Make sure extra line breaks aren't removed.208 a().setContent("\n\n\n\nfoo\n\n\n\n");209 a().makeSelection(4, 7);210 eq("foo", a().getSelection());211 s().lineBreak();212 eq("\n\n\n\nfoo\n\n\n\n", a().getContent());213 })();214 // Test Unordered list.215 (function () {216 a().setContent("a\nb\nc\nd");217 a().makeSelection(1, 6);218 eq("\nb\nc\n", a().getSelection());219 markdownEditor.unorderedList();220 eq("a\n\n* b\n* c\n\nd", a().getContent());221 })();222 a().setContent("Tests finished successfully");...
selection.js
Source:selection.js
...6if(_9.getSelection){7var _a="text";8var _b;9try{10_b=_8.getSelection();11}12catch(e){13}14if(_b&&_b.rangeCount==1){15var _c=_b.getRangeAt(0);16if((_c.startContainer==_c.endContainer)&&((_c.endOffset-_c.startOffset)==1)&&(_c.startContainer.nodeType!=3)){17_a="control";18}19}20return _a;21}else{22return _9.selection.type.toLowerCase();23}24};25this.getSelectedText=function(){26if(_9.getSelection){27var _d=_8.getSelection();28return _d?_d.toString():"";29}else{30if(this.getType()=="control"){31return null;32}33return _9.selection.createRange().text;34}35};36this.getSelectedHtml=function(){37if(_9.getSelection){38var _e=_8.getSelection();39if(_e&&_e.rangeCount){40var i;41var _f="";42for(i=0;i<_e.rangeCount;i++){43var _10=_e.getRangeAt(i).cloneContents();44var div=_9.createElement("div");45div.appendChild(_10);46_f+=div.innerHTML;47}48return _f;49}50return null;51}else{52if(this.getType()=="control"){53return null;54}55return _9.selection.createRange().htmlText;56}57};58this.getSelectedElement=function(){59if(this.getType()=="control"){60if(_9.getSelection){61var _11=_8.getSelection();62return _11.anchorNode.childNodes[_11.anchorOffset];63}else{64var _12=_9.selection.createRange();65if(_12&&_12.item){66return _9.selection.createRange().item(0);67}68}69}70return null;71};72this.getParentElement=function(){73if(this.getType()=="control"){74var p=this.getSelectedElement();75if(p){76return p.parentNode;77}78}else{79if(_9.getSelection){80var _13=_9.getSelection();81if(_13){82var _14=_13.anchorNode;83while(_14&&(_14.nodeType!=1)){84_14=_14.parentNode;85}86return _14;87}88}else{89var r=_9.selection.createRange();90r.collapse(true);91return r.parentElement();92}93}94return null;95};96this.hasAncestorElement=function(_15){97return this.getAncestorElement.apply(this,arguments)!=null;98};99this.getAncestorElement=function(_16){100var _17=this.getSelectedElement()||this.getParentElement();101return this.getParentOfType(_17,arguments);102};103this.isTag=function(_18,_19){104if(_18&&_18.tagName){105var _1a=_18.tagName.toLowerCase();106for(var i=0;i<_19.length;i++){107var _1b=String(_19[i]).toLowerCase();108if(_1a==_1b){109return _1b;110}111}112}113return "";114};115this.getParentOfType=function(_1c,_1d){116while(_1c){117if(this.isTag(_1c,_1d).length){118return _1c;119}120_1c=_1c.parentNode;121}122return null;123};124this.collapse=function(_1e){125if(_9.getSelection){126var _1f=_8.getSelection();127if(_1f.removeAllRanges){128if(_1e){129_1f.collapseToStart();130}else{131_1f.collapseToEnd();132}133}else{134_1f.collapse(_1e);135}136}else{137var _20=_9.selection.createRange();138_20.collapse(_1e);139_20.select();140}141};142this.remove=function(){143var sel=_9.selection;144if(_9.getSelection){145sel=_8.getSelection();146sel.deleteFromDocument();147return sel;148}else{149if(sel.type.toLowerCase()!="none"){150sel.clear();151}152return sel;153}154};155this.selectElementChildren=function(_21,_22){156var _23;157_21=_2.byId(_21);158if(_9.getSelection){159var _24=_8.getSelection();160if(_4("opera")){161if(_24.rangeCount){162_23=_24.getRangeAt(0);163}else{164_23=_9.createRange();165}166_23.setStart(_21,0);167_23.setEnd(_21,(_21.nodeType==3)?_21.length:_21.childNodes.length);168_24.addRange(_23);169}else{170_24.selectAllChildren(_21);171}172}else{173_23=_21.ownerDocument.body.createTextRange();174_23.moveToElementText(_21);175if(!_22){176try{177_23.select();178}179catch(e){180}181}182}183};184this.selectElement=function(_25,_26){185var _27;186_25=_2.byId(_25);187if(_9.getSelection){188var _28=_9.getSelection();189_27=_9.createRange();190if(_28.removeAllRanges){191if(_4("opera")){192if(_28.getRangeAt(0)){193_27=_28.getRangeAt(0);194}195}196_27.selectNode(_25);197_28.removeAllRanges();198_28.addRange(_27);199}200}else{201try{202var tg=_25.tagName?_25.tagName.toLowerCase():"";203if(tg==="img"||tg==="table"){204_27=_5.body(_9).createControlRange();205}else{206_27=_5.body(_9).createRange();207}208_27.addElement(_25);209if(!_26){210_27.select();211}212}213catch(e){214this.selectElementChildren(_25,_26);215}216}217};218this.inSelection=function(_29){219if(_29){220var _2a;221var _2b;222if(_9.getSelection){223var sel=_8.getSelection();224if(sel&&sel.rangeCount>0){225_2b=sel.getRangeAt(0);226}227if(_2b&&_2b.compareBoundaryPoints&&_9.createRange){228try{229_2a=_9.createRange();230_2a.setStart(_29,0);231if(_2b.compareBoundaryPoints(_2b.START_TO_END,_2a)===1){232return true;233}234}235catch(e){236}237}238}else{239_2b=_9.selection.createRange();240try{241_2a=_29.ownerDocument.body.createTextRange();242_2a.moveToElementText(_29);243}244catch(e2){245}246if(_2b&&_2a){247if(_2b.compareEndPoints("EndToStart",_2a)===1){248return true;249}250}251}252}253return false;254},this.getBookmark=function(){255var bm,rg,tg,sel=_9.selection,cf=_6.curNode;256if(_9.getSelection){257sel=_8.getSelection();258if(sel){259if(sel.isCollapsed){260tg=cf?cf.tagName:"";261if(tg){262tg=tg.toLowerCase();263if(tg=="textarea"||(tg=="input"&&(!cf.type||cf.type.toLowerCase()=="text"))){264sel={start:cf.selectionStart,end:cf.selectionEnd,node:cf,pRange:true};265return {isCollapsed:(sel.end<=sel.start),mark:sel};266}267}268bm={isCollapsed:true};269if(sel.rangeCount){270bm.mark=sel.getRangeAt(0).cloneRange();271}272}else{273rg=sel.getRangeAt(0);274bm={isCollapsed:false,mark:rg.cloneRange()};275}276}277}else{278if(sel){279tg=cf?cf.tagName:"";280tg=tg.toLowerCase();281if(cf&&tg&&(tg=="button"||tg=="textarea"||tg=="input")){282if(sel.type&&sel.type.toLowerCase()=="none"){283return {isCollapsed:true,mark:null};284}else{285rg=sel.createRange();286return {isCollapsed:rg.text&&rg.text.length?false:true,mark:{range:rg,pRange:true}};287}288}289bm={};290try{291rg=sel.createRange();292bm.isCollapsed=!(sel.type=="Text"?rg.htmlText.length:rg.length);293}294catch(e){295bm.isCollapsed=true;296return bm;297}298if(sel.type.toUpperCase()=="CONTROL"){299if(rg.length){300bm.mark=[];301var i=0,len=rg.length;302while(i<len){303bm.mark.push(rg.item(i++));304}305}else{306bm.isCollapsed=true;307bm.mark=null;308}309}else{310bm.mark=rg.getBookmark();311}312}else{313console.warn("No idea how to store the current selection for this browser!");314}315}316return bm;317};318this.moveToBookmark=function(_2c){319var _2d=_2c.mark;320if(_2d){321if(_9.getSelection){322var sel=_8.getSelection();323if(sel&&sel.removeAllRanges){324if(_2d.pRange){325var n=_2d.node;326n.selectionStart=_2d.start;327n.selectionEnd=_2d.end;328}else{329sel.removeAllRanges();330sel.addRange(_2d);331}332}else{333console.warn("No idea how to restore selection for this browser!");334}335}else{336if(_9.selection&&_2d){...
browser_graphs-12.js
Source:browser_graphs-12.js
...37 ok(graph1.hasSelectionInProgress(),38 "The selection should start (1.1).");39 ok(!graph2.hasSelectionInProgress(),40 "The selection should not start yet in the second graph (1.2).");41 is(graph1.getSelection().start, 300,42 "The current selection start value is correct (1.1).");43 is(graph2.getSelection().start, 300,44 "The current selection start value is correct (1.2).");45 is(graph1.getSelection().end, 300,46 "The current selection end value is correct (1.1).");47 is(graph2.getSelection().end, 300,48 "The current selection end value is correct (1.2).");49 hover(graph1, 400);50 ok(graph1.hasSelectionInProgress(),51 "The selection should still be in progress (2.1).");52 ok(!graph2.hasSelectionInProgress(),53 "The selection should not be in progress in the second graph (2.2).");54 is(graph1.getSelection().start, 300,55 "The current selection start value is correct (2.1).");56 is(graph2.getSelection().start, 300,57 "The current selection start value is correct (2.2).");58 is(graph1.getSelection().end, 400,59 "The current selection end value is correct (2.1).");60 is(graph2.getSelection().end, 400,61 "The current selection end value is correct (2.2).");62 dragStop(graph1, 500);63 ok(!graph1.hasSelectionInProgress(),64 "The selection should have stopped (3.1).");65 ok(!graph2.hasSelectionInProgress(),66 "The selection should have stopped (3.2).");67 is(graph1.getSelection().start, 300,68 "The current selection start value is correct (3.1).");69 is(graph2.getSelection().start, 300,70 "The current selection start value is correct (3.2).");71 is(graph1.getSelection().end, 500,72 "The current selection end value is correct (3.1).");73 is(graph2.getSelection().end, 500,74 "The current selection end value is correct (3.2).");75 info("Making a new selection in the second graph.");76 dragStart(graph2, 200);77 ok(!graph1.hasSelectionInProgress(),78 "The selection should not start yet in the first graph (4.1).");79 ok(graph2.hasSelectionInProgress(),80 "The selection should start (4.2).");81 is(graph1.getSelection().start, 200,82 "The current selection start value is correct (4.1).");83 is(graph2.getSelection().start, 200,84 "The current selection start value is correct (4.2).");85 is(graph1.getSelection().end, 200,86 "The current selection end value is correct (4.1).");87 is(graph2.getSelection().end, 200,88 "The current selection end value is correct (4.2).");89 hover(graph2, 300);90 ok(!graph1.hasSelectionInProgress(),91 "The selection should not be in progress in the first graph (2.2).");92 ok(graph2.hasSelectionInProgress(),93 "The selection should still be in progress (5.2).");94 is(graph1.getSelection().start, 200,95 "The current selection start value is correct (5.1).");96 is(graph2.getSelection().start, 200,97 "The current selection start value is correct (5.2).");98 is(graph1.getSelection().end, 300,99 "The current selection end value is correct (5.1).");100 is(graph2.getSelection().end, 300,101 "The current selection end value is correct (5.2).");102 dragStop(graph2, 400);103 ok(!graph1.hasSelectionInProgress(),104 "The selection should have stopped (6.1).");105 ok(!graph2.hasSelectionInProgress(),106 "The selection should have stopped (6.2).");107 is(graph1.getSelection().start, 200,108 "The current selection start value is correct (6.1).");109 is(graph2.getSelection().start, 200,110 "The current selection start value is correct (6.2).");111 is(graph1.getSelection().end, 400,112 "The current selection end value is correct (6.1).");113 is(graph2.getSelection().end, 400,114 "The current selection end value is correct (6.2).");115}116// EventUtils just doesn't work!117function hover(graph, x, y = 1) {118 x /= window.devicePixelRatio;119 y /= window.devicePixelRatio;120 graph._onMouseMove({ clientX: x, clientY: y });121}122function dragStart(graph, x, y = 1) {123 x /= window.devicePixelRatio;124 y /= window.devicePixelRatio;125 graph._onMouseMove({ clientX: x, clientY: y });126 graph._onMouseDown({ clientX: x, clientY: y });127}...
shadow-tree-exposure.js
Source:shadow-tree-exposure.js
1description("Test to make sure shadow nodes are not exposed.");2var container = document.createElement("p");3document.body.appendChild(container);4container.appendChild(document.createTextNode("Some text: "));5shouldBe("getSelection().anchorNode", "null");6shouldBe("getSelection().anchorOffset", "0");7shouldBe("getSelection().focusNode", "null");8shouldBe("getSelection().focusOffset", "0");9shouldBe("getSelection().isCollapsed", "true");10shouldBe("getSelection().rangeCount", "0");11shouldBe("getSelection().baseNode", "null");12shouldBe("getSelection().baseOffset", "0");13shouldBe("getSelection().extentNode", "null");14shouldBe("getSelection().extentOffset", "0");15shouldBe("getSelection().type", "'None'");16debug("\nAdd an input element.\n");17var input = document.createElement("input");18container.appendChild(input);19input.value = "text";20input.focus();21input.select();22shouldBe("getSelection().anchorNode", "container");23shouldBe("getSelection().anchorOffset", "1");24shouldBe("getSelection().focusNode", "container");25shouldBe("getSelection().focusOffset", "1");26shouldBe("getSelection().isCollapsed", "true");27shouldBe("getSelection().rangeCount", "1");28shouldBe("getSelection().getRangeAt(0).startContainer", "container");29shouldBe("getSelection().getRangeAt(0).startOffset", "1");30shouldBe("getSelection().getRangeAt(0).endContainer", "container");31shouldBe("getSelection().getRangeAt(0).endOffset", "1");32shouldBe("getSelection().baseNode", "container");33shouldBe("getSelection().baseOffset", "1");34shouldBe("getSelection().extentNode", "container");35shouldBe("getSelection().extentOffset", "1");36shouldBe("getSelection().type", "'Range'");37debug("\nAdd a textarea element.\n");38var textarea = document.createElement("textarea");39container.appendChild(textarea);40textarea.value = "text";41textarea.focus();42textarea.select();43shouldBe("getSelection().anchorNode", "container");44shouldBe("getSelection().anchorOffset", "2");45shouldBe("getSelection().focusNode", "container");46shouldBe("getSelection().focusOffset", "2");47shouldBe("getSelection().isCollapsed", "true");48shouldBe("getSelection().rangeCount", "1");49shouldBe("getSelection().getRangeAt(0).startContainer", "container");50shouldBe("getSelection().getRangeAt(0).startOffset", "2");51shouldBe("getSelection().getRangeAt(0).endContainer", "container");52shouldBe("getSelection().getRangeAt(0).endOffset", "2");53shouldBe("getSelection().baseNode", "container");54shouldBe("getSelection().baseOffset", "2");55shouldBe("getSelection().extentNode", "container");56shouldBe("getSelection().extentOffset", "2");57shouldBe("getSelection().type", "'Range'");58document.body.removeChild(container);59debug("");...
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch({ headless: false });4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.type('input[name="q"]', 'Playwright');7 await page.keyboard.press('Enter');8 await page.waitForSelector('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');9 await page.click('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');10 await page.waitForSelector('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');11 await page.click('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');12 await page.waitForSelector('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');13 await page.click('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');14 await page.waitForSelector('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');15 await page.click('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');16 await page.waitForSelector('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');17 await page.click('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');18 await page.waitForSelector('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');19 await page.click('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');20 await page.waitForSelector('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');21 await page.click('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');22 await page.waitForSelector('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');23 await page.click('text=Playwright is a Node library to automate Chromium, Firefox and Web
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch({ headless: false });4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.click('input[name="q"]');7 await page.keyboard.type('playwright');8 await page.keyboard.press('Enter');9 await page.waitForSelector('text=Playwright - Node.js library to automate Chromium, Firefox and WebKit with a single API');10 await page.click('text=Playwright - Node.js library to automate Chromium, Firefox and WebKit with a single API');11 await page.waitForSelector('.devsite-nav-title');12 await page.click('text=API');13 await page.waitForSelector('text=Page');14 await page.click('text=Pa
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch({ headless: false });4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.click('#L2AGLb');7 await page.click('input[name="q"]');8 await page.keyboard.type('Playwright');9 await page.click('input[name="btnK"]');10 const selection = await page.evaluate(() => {11 const range = document.createRange();12 range.setStart(document.querySelector('h3'), 0);13 range.setEnd(document.querySelector('h3'), 1);14 const selection = window.getSelection();15 selection.removeAllRanges();16 selection.addRange(range);17 return selection.toString();18 });19 console.log(selection);20 await browser.close();21})();
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch({ headless: false });4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.click('input[aria-label="Search"]');7 await page.keyboard.type('playwright');8 await page.keyboard.press('Enter');9 await page.waitForSelector('text=Playwright');10 await page.click('text=Playwright');11 await page.waitForSelector('text=Playwright is a Node.js library to automate');12 const text = await page.evaluate(() => window.getSelection().toString());13 console.log(text);14 await browser.close();15})();
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const page = await browser.newPage();5 await page.click('text="I agree"');6 await page.fill('input[name="q"]', 'Playwright');7 await page.press('input[name="q"]', 'Enter');8 await page.click('text="Playwright: Node.js library to automate Chromium, Firefox and WebKit with a single API"');9 await page.click('text="Docs"');10 await page.click('text="API"');11 await page.click('text="Selectors"');12 const firstElementContent = await page.textContent('text="Selectors"');13 console.log(firstElementContent);14 const allElementsContent = await page.textContent('text="Selectors"', { all: true });15 console.log(allElementsContent);16 await browser.close();17})();18textContent() method of Playwright Internal API19const textContent = await page.textContent(selector[, options]);20console.log(textContent);21const { chromium } = require('playwright');22(async () => {
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const page = await browser.newPage();5 const selector = '#rso > div:nth-child(1) > div > div.yuRUbf > a > h3';6 await page.click(selector);7 const text = await page.evaluate(() => {8 const selection = window.getSelection();9 return selection.toString();10 });11 console.log(text);12 await browser.close();13})();14const { chromium } = require('playwright');15(async () => {16 const browser = await chromium.launch();17 const page = await browser.newPage();18 const title = await page.title();19 console.log(title);20 await browser.close();21})();22const { chromium } = require('playwright');23(async () => {24 const browser = await chromium.launch();25 const page = await browser.newPage();26 const url = await page.url();27 console.log(url);28 await browser.close();29})();30const { chromium } = require('playwright');31(async () => {32 const browser = await chromium.launch();33 const page = await browser.newPage();34 const viewport = await page.viewportSize();35 console.log(viewport);36 await browser.close();37})();
Using AI Code Generation
1const { getSelection } = require('@playwright/test/lib/server/frames');2const { chromium } = require('playwright');3(async () => {4 const browser = await chromium.launch();5 const context = await browser.newContext();6 const page = await context.newPage();7 const selection = await getSelection(page);8 console.log(selection);9 await browser.close();10})();
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch({ headless: false });4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.click('#searchInput');7 await page.fill('#searchInput', 'Playwright');8 await page.press('#searchInput', 'Enter');9 const selection = await page.evaluate(() => {10 const selectedText = window.getSelection().toString();11 return selectedText;12 });13 await page.click('input[name="q"]');14 await page.fill('input[name="q"]', selection);15 await page.press('input[name="q"]', 'Enter');16 await context.close();17 await browser.close();18})();
Using AI Code Generation
1const { getSelectedText } = require('playwright/lib/server/selectorEngine');2const selectedText = await getSelectedText(page, '.selector');3console.log(selectedText);4const { getAttribute } = require('playwright/lib/server/selectorEngine');5const attributeValue = await getAttribute(page, '.selector', 'attribute');6console.log(attributeValue);7const { getInnerText } = require('playwright/lib/server/selectorEngine');8const innerText = await getInnerText(page, '.selector');9console.log(innerText);10const { getVisibleText } = require('playwright/lib/server/selectorEngine');11const visibleText = await getVisibleText(page, '.selector');12console.log(visibleText);13const { getBoundingBox } = require('playwright/lib/server/selectorEngine');14const boundingBox = await getBoundingBox(page, '.selector');15console.log(boundingBox);16const { getInnerHtml } = require('playwright/lib/server/selectorEngine');17const innerHtml = await getInnerHtml(page, '.selector');18console.log(innerHtml);19const { getOuterHtml } = require('playwright/lib/server/selectorEngine');20const outerHtml = await getOuterHtml(page, '.selector');21console.log(outerHtml);22const { getComputedStyle } = require('playwright/lib/server/selectorEngine');23const computedStyle = await getComputedStyle(page, '.selector');24console.log(computedStyle);
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!!