Best JavaScript code snippet using playwright-internal
narcissus-exec.js
Source:narcissus-exec.js
...186 this.propertyName = propertyName;187 this.node = node;188}189Reference.prototype.toString = function () { return this.node.getSource(); }190function getValue(v) {191 if (v instanceof Reference) {192 if (!v.base) {193 throw new ReferenceError(v.propertyName + " is not defined",194 v.node.filename(), v.node.lineno);195 }196 return v.base[v.propertyName];197 }198 return v;199}200function putValue(v, w, vn) {201 if (v instanceof Reference)202 return (v.base || global)[v.propertyName] = w;203 throw new ReferenceError("Invalid assignment left-hand side",204 vn.filename(), vn.lineno);205}206function isPrimitive(v) {207 var t = typeof v;208 return (t == "object") ? v === null : t != "function";209}210function isObject(v) {211 var t = typeof v;212 return (t == "object") ? v !== null : t == "function";213}214// If r instanceof Reference, v == getValue(r); else v === r. If passed, rn215// is the node whose execute result was r.216function toObject(v, r, rn) {217 switch (typeof v) {218 case "boolean":219 return new global.Boolean(v);220 case "number":221 return new global.Number(v);222 case "string":223 return new global.String(v);224 case "function":225 return v;226 case "object":227 if (v !== null)228 return v;229 }230 var message = r + " (type " + (typeof v) + ") has no properties";231 throw rn ? new TypeError(message, rn.filename(), rn.lineno)232 : new TypeError(message);233}234function execute(n, x) {235 if (!this.new_block)236 new_block = new Array();237 //alert (n)238 var a, f, i, j, r, s, t, u, v;239 switch (n.type) {240 case FUNCTION:241 if (n.functionForm != DECLARED_FORM) {242 if (!n.name || n.functionForm == STATEMENT_FORM) {243 v = new FunctionObject(n, x.scope);244 if (n.functionForm == STATEMENT_FORM)245 x.scope.object[n.name] = v;246 } else {247 t = new Object;248 x.scope = {object: t, parent: x.scope};249 try {250 v = new FunctionObject(n, x.scope);251 t[n.name] = v;252 } finally {253 x.scope = x.scope.parent;254 }255 }256 }257 break;258 case SCRIPT: 259 t = x.scope.object;260 a = n.funDecls;261 for (i = 0, j = a.length; i < j; i++) {262 s = a[i].name;263 f = new FunctionObject(a[i], x.scope);264 t[s] = f;265 }266 a = n.varDecls;267 for (i = 0, j = a.length; i < j; i++) {268 u = a[i];269 s = u.name;270 if (u.readOnly && hasDirectProperty(t, s)) {271 throw new TypeError("Redeclaration of const " + s,272 u.filename(), u.lineno);273 }274 if (u.readOnly || !hasDirectProperty(t, s)) {275 t[s] = null;276 }277 }278 // FALL THROUGH279 case BLOCK: 280 for (i = 0, j = n.$length; i < j; i++) { 281 //jrh282 //execute(n[i], x); 283 //new_block.unshift([n[i], x]); 284 new_block.push([n[i], x]); 285 }286 new_block.reverse(); 287 agenda = agenda.concat(new_block); 288 //agenda = new_block.concat(agenda)289 // end jrh290 break;291 case IF:292 if (getValue(execute(n.condition, x)))293 execute(n.thenPart, x);294 else if (n.elsePart)295 execute(n.elsePart, x);296 break;297 case SWITCH:298 s = getValue(execute(n.discriminant, x));299 a = n.cases;300 var matchDefault = false;301 switch_loop:302 for (i = 0, j = a.length; ; i++) {303 if (i == j) {304 if (n.defaultIndex >= 0) {305 i = n.defaultIndex - 1; // no case matched, do default306 matchDefault = true;307 continue;308 }309 break; // no default, exit switch_loop310 }311 t = a[i]; // next case (might be default!)312 if (t.type == CASE) {313 u = getValue(execute(t.caseLabel, x));314 } else {315 if (!matchDefault) // not defaulting, skip for now316 continue;317 u = s; // force match to do default318 }319 if (u === s) {320 for (;;) { // this loop exits switch_loop321 if (t.statements.length) {322 try {323 execute(t.statements, x);324 } catch (e) {325 if (!(e == BREAK && x.target == n)) { throw e }326 break switch_loop;327 }328 }329 if (++i == j)330 break switch_loop;331 t = a[i];332 }333 // NOT REACHED334 }335 }336 break;337 case FOR:338 // jrh339 // added "skip_setup" so initialization doesn't get called340 // on every call..341 if (!skip_setup)342 n.setup && getValue(execute(n.setup, x));343 // FALL THROUGH344 case WHILE:345 // jrh 346 //while (!n.condition || getValue(execute(n.condition, x))) {347 if (!n.condition || getValue(execute(n.condition, x))) {348 try {349 // jrh 350 //execute(n.body, x);351 new_block.push([n.body, x]);352 agenda.push([n.body, x])353 //agenda.unshift([n.body, x])354 // end jrh355 } catch (e) {356 if (e == BREAK && x.target == n) {357 break;358 } else if (e == CONTINUE && x.target == n) {359 // jrh360 // 'continue' is invalid inside an 'if' clause361 // I don't know what commenting this out will break!362 //continue;363 // end jrh364 365 } else {366 throw e;367 }368 } 369 n.update && getValue(execute(n.update, x));370 // jrh371 new_block.unshift([n, x])372 agenda.splice(agenda.length-1,0,[n, x])373 //agenda.splice(1,0,[n, x])374 skip_setup = 1375 // end jrh376 } else {377 skip_setup = 0378 }379 380 break;381 case FOR_IN:382 u = n.varDecl;383 if (u)384 execute(u, x);385 r = n.iterator;386 s = execute(n.object, x);387 v = getValue(s);388 // ECMA deviation to track extant browser JS implementation behavior.389 t = (v == null && !x.ecmaStrictMode) ? v : toObject(v, s, n.object);390 a = [];391 for (i in t)392 a.push(i);393 for (i = 0, j = a.length; i < j; i++) {394 putValue(execute(r, x), a[i], r);395 try {396 execute(n.body, x);397 } catch (e) {398 if (e == BREAK && x.target == n) {399 break;400 } else if (e == CONTINUE && x.target == n) {401 continue;402 } else {403 throw e;404 }405 }406 }407 break;408 case DO:409 do {410 try {411 execute(n.body, x);412 } catch (e) {413 if (e == BREAK && x.target == n) {414 break;415 } else if (e == CONTINUE && x.target == n) {416 continue;417 } else {418 throw e;419 }420 }421 } while (getValue(execute(n.condition, x)));422 break;423 case BREAK:424 case CONTINUE:425 x.target = n.target;426 throw n.type;427 case TRY:428 try {429 execute(n.tryBlock, x);430 } catch (e) {431 if (!(e == THROW && (j = n.catchClauses.length))) {432 throw e;433 }434 e = x.result;435 x.result = undefined;436 for (i = 0; ; i++) {437 if (i == j) {438 x.result = e;439 throw THROW;440 }441 t = n.catchClauses[i];442 x.scope = {object: {}, parent: x.scope};443 x.scope.object[t.varName] = e;444 try {445 if (t.guard && !getValue(execute(t.guard, x)))446 continue;447 execute(t.block, x);448 break;449 } finally {450 x.scope = x.scope.parent;451 }452 }453 } finally {454 if (n.finallyBlock)455 execute(n.finallyBlock, x);456 }457 break;458 case THROW:459 x.result = getValue(execute(n.exception, x));460 throw THROW;461 case RETURN:462 x.result = getValue(execute(n.value, x));463 throw RETURN;464 case WITH:465 r = execute(n.object, x);466 t = toObject(getValue(r), r, n.object);467 x.scope = {object: t, parent: x.scope};468 try {469 execute(n.body, x);470 } finally {471 x.scope = x.scope.parent;472 }473 break;474 case VAR:475 case CONST:476 for (i = 0, j = n.$length; i < j; i++) {477 u = n[i].initializer;478 if (!u)479 continue;480 t = n[i].name;481 for (s = x.scope; s; s = s.parent) {482 if (hasDirectProperty(s.object, t))483 break;484 }485 u = getValue(execute(u, x));486 if (n.type == CONST)487 s.object[t] = u;488 else489 s.object[t] = u;490 }491 break;492 case DEBUGGER:493 throw "NYI: " + tokens[n.type];494 case REQUIRE:495 var req = new XMLHttpRequest();496 req.open('GET', n.filename, 'false');497 case SEMICOLON:498 if (n.expression)499 // print debugging statements500 501 var the_start = n.start502 var the_end = n.end503 var the_statement = parse_result.tokenizer.source.slice(the_start,the_end)504 //global.debug.document.body.innerHTML += ('<pre>>>> <b>' + the_statement + '</b></pre>')505 LOG.info('>>>' + the_statement)506 x.result = getValue(execute(n.expression, x)); 507 //if (x.result)508 //global.debug.document.body.innerHTML += ( '<pre>>>> ' + x.result + '</pre>')509 510 break;511 case LABEL:512 try {513 execute(n.statement, x);514 } catch (e) {515 if (!(e == BREAK && x.target == n)) { throw e }516 }517 break;518 case COMMA:519 for (i = 0, j = n.$length; i < j; i++)520 v = getValue(execute(n[i], x));521 break;522 case ASSIGN:523 r = execute(n[0], x);524 t = n[0].assignOp;525 if (t)526 u = getValue(r);527 v = getValue(execute(n[1], x));528 if (t) {529 switch (t) {530 case BITWISE_OR: v = u | v; break;531 case BITWISE_XOR: v = u ^ v; break;532 case BITWISE_AND: v = u & v; break;533 case LSH: v = u << v; break;534 case RSH: v = u >> v; break;535 case URSH: v = u >>> v; break;536 case PLUS: v = u + v; break;537 case MINUS: v = u - v; break;538 case MUL: v = u * v; break;539 case DIV: v = u / v; break;540 case MOD: v = u % v; break;541 }542 }543 putValue(r, v, n[0]);544 break;545 case CONDITIONAL:546 v = getValue(execute(n[0], x)) ? getValue(execute(n[1], x))547 : getValue(execute(n[2], x));548 break;549 case OR:550 v = getValue(execute(n[0], x)) || getValue(execute(n[1], x));551 break;552 case AND:553 v = getValue(execute(n[0], x)) && getValue(execute(n[1], x));554 break;555 case BITWISE_OR:556 v = getValue(execute(n[0], x)) | getValue(execute(n[1], x));557 break;558 case BITWISE_XOR:559 v = getValue(execute(n[0], x)) ^ getValue(execute(n[1], x));560 break;561 case BITWISE_AND:562 v = getValue(execute(n[0], x)) & getValue(execute(n[1], x));563 break;564 case EQ:565 v = getValue(execute(n[0], x)) == getValue(execute(n[1], x));566 break;567 case NE:568 v = getValue(execute(n[0], x)) != getValue(execute(n[1], x));569 break;570 case STRICT_EQ:571 v = getValue(execute(n[0], x)) === getValue(execute(n[1], x));572 break;573 case STRICT_NE:574 v = getValue(execute(n[0], x)) !== getValue(execute(n[1], x));575 break;576 case LT:577 v = getValue(execute(n[0], x)) < getValue(execute(n[1], x));578 break;579 case LE:580 v = getValue(execute(n[0], x)) <= getValue(execute(n[1], x));581 break;582 case GE:583 v = getValue(execute(n[0], x)) >= getValue(execute(n[1], x));584 break;585 case GT:586 v = getValue(execute(n[0], x)) > getValue(execute(n[1], x));587 break;588 case IN:589 v = getValue(execute(n[0], x)) in getValue(execute(n[1], x));590 break;591 case INSTANCEOF:592 t = getValue(execute(n[0], x));593 u = getValue(execute(n[1], x));594 if (isObject(u) && typeof u.__hasInstance__ == "function")595 v = u.__hasInstance__(t);596 else597 v = t instanceof u;598 break;599 case LSH:600 v = getValue(execute(n[0], x)) << getValue(execute(n[1], x));601 break;602 case RSH:603 v = getValue(execute(n[0], x)) >> getValue(execute(n[1], x));604 break;605 case URSH:606 v = getValue(execute(n[0], x)) >>> getValue(execute(n[1], x));607 break;608 case PLUS:609 v = getValue(execute(n[0], x)) + getValue(execute(n[1], x));610 break;611 case MINUS:612 v = getValue(execute(n[0], x)) - getValue(execute(n[1], x));613 break;614 case MUL:615 v = getValue(execute(n[0], x)) * getValue(execute(n[1], x));616 break;617 case DIV:618 v = getValue(execute(n[0], x)) / getValue(execute(n[1], x));619 break;620 case MOD:621 v = getValue(execute(n[0], x)) % getValue(execute(n[1], x));622 break;623 case DELETE:624 t = execute(n[0], x);625 v = !(t instanceof Reference) || delete t.base[t.propertyName];626 break;627 case VOID:628 getValue(execute(n[0], x));629 break;630 case TYPEOF:631 t = execute(n[0], x);632 if (t instanceof Reference)633 t = t.base ? t.base[t.propertyName] : undefined;634 v = typeof t;635 break;636 case NOT:637 v = !getValue(execute(n[0], x));638 break;639 case BITWISE_NOT:640 v = ~getValue(execute(n[0], x));641 break;642 case UNARY_PLUS:643 v = +getValue(execute(n[0], x));644 break;645 case UNARY_MINUS:646 v = -getValue(execute(n[0], x));647 break;648 case INCREMENT:649 case DECREMENT:650 t = execute(n[0], x);651 u = Number(getValue(t));652 if (n.postfix)653 v = u;654 putValue(t, (n.type == INCREMENT) ? ++u : --u, n[0]);655 if (!n.postfix)656 v = u;657 break;658 case DOT:659 r = execute(n[0], x);660 t = getValue(r);661 u = n[1].value;662 v = new Reference(toObject(t, r, n[0]), u, n);663 break;664 case INDEX:665 r = execute(n[0], x);666 t = getValue(r);667 u = getValue(execute(n[1], x));668 v = new Reference(toObject(t, r, n[0]), String(u), n);669 break;670 case LIST:671 // Curse ECMA for specifying that arguments is not an Array object!672 v = {};673 for (i = 0, j = n.$length; i < j; i++) {674 u = getValue(execute(n[i], x));675 v[i] = u;676 }677 v.length = i;678 break;679 case CALL:680 r = execute(n[0], x);681 a = execute(n[1], x);682 f = getValue(r);683 if (isPrimitive(f) || typeof f.__call__ != "function") {684 throw new TypeError(r + " is not callable",685 n[0].filename(), n[0].lineno);686 }687 t = (r instanceof Reference) ? r.base : null;688 if (t instanceof Activation)689 t = null;690 v = f.__call__(t, a, x);691 break;692 case NEW:693 case NEW_WITH_ARGS:694 r = execute(n[0], x);695 f = getValue(r);696 if (n.type == NEW) {697 a = {};698 a.length = 0;699 } else {700 a = execute(n[1], x);701 }702 if (isPrimitive(f) || typeof f.__construct__ != "function") {703 throw new TypeError(r + " is not a constructor",704 n[0].filename(), n[0].lineno);705 }706 v = f.__construct__(a, x);707 break;708 case ARRAY_INIT:709 v = [];710 for (i = 0, j = n.$length; i < j; i++) {711 if (n[i])712 v[i] = getValue(execute(n[i], x));713 }714 v.length = j;715 break;716 case OBJECT_INIT:717 v = {};718 for (i = 0, j = n.$length; i < j; i++) {719 t = n[i];720 if (t.type == PROPERTY_INIT) {721 v[t[0].value] = getValue(execute(t[1], x));722 } else {723 f = new FunctionObject(t, x.scope);724 /*725 u = (t.type == GETTER) ? '__defineGetter__'726 : '__defineSetter__';727 v[u](t.name, thunk(f, x));728 */729 }730 }731 break;732 case NULL:733 v = null;734 break;735 case THIS:...
sharer.js
Source:sharer.js
...63 * @description Main share event. Will pop a window or redirect to a link64 * based on the data-sharer attribute.65 */66 share: function () {67 var sharer = this.getValue('sharer').toLowerCase(),68 sharers = {69 facebook: {70 shareUrl: 'https://www.facebook.com/sharer/sharer.php',71 params: {72 u: this.getValue('url'),73 hashtag: this.getValue('hashtag')74 }75 },76 linkedin: {77 shareUrl: 'https://www.linkedin.com/shareArticle',78 params: {79 url: this.getValue('url'),80 mini: true81 }82 },83 twitter: {84 shareUrl: 'https://twitter.com/intent/tweet/',85 params: {86 text: this.getValue('title'),87 url: this.getValue('url'),88 hashtags: this.getValue('hashtags'),89 via: this.getValue('via')90 }91 },92 email: {93 shareUrl: 'mailto:' + this.getValue('to') || '',94 params: {95 subject: this.getValue('subject'),96 body: this.getValue('title') + '\n' + this.getValue('url')97 },98 isLink: true99 },100 whatsapp: {101 shareUrl: this.getValue('web') !== null ? 'https://api.whatsapp.com/send' : 'whatsapp://send',102 params: {103 text: this.getValue('title') + ' ' + this.getValue('url')104 },105 isLink: true106 },107 telegram: {108 shareUrl: this.getValue('web') !== null ? 'https://telegram.me/share' : 'tg://msg_url',109 params: {110 text: this.getValue('title'),111 url: this.getValue('url'),112 to: this.getValue('to')113 },114 isLink: true115 },116 viber: {117 shareUrl: 'viber://forward',118 params: {119 text: this.getValue('title') + ' ' + this.getValue('url')120 },121 isLink: true122 },123 line: {124 shareUrl:125 'http://line.me/R/msg/text/?' + encodeURIComponent(this.getValue('title') + ' ' + this.getValue('url')),126 isLink: true127 },128 pinterest: {129 shareUrl: 'https://www.pinterest.com/pin/create/button/',130 params: {131 url: this.getValue('url'),132 media: this.getValue('image'),133 description: this.getValue('description')134 }135 },136 tumblr: {137 shareUrl: 'http://tumblr.com/widgets/share/tool',138 params: {139 canonicalUrl: this.getValue('url'),140 content: this.getValue('url'),141 posttype: 'link',142 title: this.getValue('title'),143 caption: this.getValue('caption'),144 tags: this.getValue('tags')145 }146 },147 hackernews: {148 shareUrl: 'https://news.ycombinator.com/submitlink',149 params: {150 u: this.getValue('url'),151 t: this.getValue('title')152 }153 },154 reddit: {155 shareUrl: 'https://www.reddit.com/submit',156 params: { url: this.getValue('url') }157 },158 vk: {159 shareUrl: 'http://vk.com/share.php',160 params: {161 url: this.getValue('url'),162 title: this.getValue('title'),163 description: this.getValue('caption'),164 image: this.getValue('image')165 }166 },167 xing: {168 shareUrl: 'https://www.xing.com/app/user',169 params: {170 op: 'share',171 url: this.getValue('url'),172 title: this.getValue('title')173 }174 },175 buffer: {176 shareUrl: 'https://buffer.com/add',177 params: {178 url: this.getValue('url'),179 title: this.getValue('title'),180 via: this.getValue('via'),181 picture: this.getValue('picture')182 }183 },184 instapaper: {185 shareUrl: 'http://www.instapaper.com/edit',186 params: {187 url: this.getValue('url'),188 title: this.getValue('title'),189 description: this.getValue('description')190 }191 },192 pocket: {193 shareUrl: 'https://getpocket.com/save',194 params: {195 url: this.getValue('url')196 }197 },198 digg: {199 shareUrl: 'http://www.digg.com/submit',200 params: {201 url: this.getValue('url')202 }203 },204 stumbleupon: {205 // Usage deprecated, leaving for backwards compatibility.206 shareUrl: 'http://www.stumbleupon.com/submit',207 params: {208 url: this.getValue('url'),209 title: this.getValue('title')210 }211 },212 mashable: {213 shareUrl: 'https://mashable.com/submit',214 params: {215 url: this.getValue('url'),216 title: this.getValue('title')217 }218 },219 mix: {220 shareUrl: 'https://mix.com/add',221 params: {222 url: this.getValue('url')223 }224 },225 flipboard: {226 shareUrl: 'https://share.flipboard.com/bookmarklet/popout',227 params: {228 v: 2,229 title: this.getValue('title'),230 url: this.getValue('url'),231 t: Date.now()232 }233 },234 weibo: {235 shareUrl: 'http://service.weibo.com/share/share.php',236 params: {237 url: this.getValue('url'),238 title: this.getValue('title'),239 pic: this.getValue('image'),240 appkey: this.getValue('appkey'),241 ralateUid: this.getValue('ralateuid'),242 language: 'zh_cn'243 }244 },245 renren: {246 shareUrl: 'http://share.renren.com/share/buttonshare',247 params: {248 link: this.getValue('url')249 }250 },251 myspace: {252 shareUrl: 'https://myspace.com/post',253 params: {254 u: this.getValue('url'),255 t: this.getValue('title'),256 c: this.getValue('description')257 }258 },259 blogger: {260 shareUrl: 'https://www.blogger.com/blog-this.g',261 params: {262 u: this.getValue('url'),263 n: this.getValue('title'),264 t: this.getValue('description')265 }266 },267 baidu: {268 shareUrl: 'http://cang.baidu.com/do/add',269 params: {270 it: this.getValue('title'),271 iu: this.getValue('url')272 }273 },274 douban: {275 shareUrl: 'https://www.douban.com/share/service',276 params: {277 name: this.getValue('title'),278 href: this.getValue('url'),279 image: this.getValue('image')280 }281 },282 okru: {283 shareUrl: 'https://connect.ok.ru/dk',284 params: {285 'st.cmd': 'WidgetSharePreview',286 'st.shareUrl': this.getValue('url'),287 title: this.getValue('title')288 }289 },290 mailru: {291 shareUrl: 'http://connect.mail.ru/share',292 params: {293 share_url: this.getValue('url'),294 linkname: this.getValue('title'),295 linknote: this.getValue('description'),296 type: 'page'297 }298 },299 evernote: {300 shareUrl: 'http://www.evernote.com/clip.action',301 params: {302 url: this.getValue('url'),303 title: this.getValue('title')304 }305 },306 skype: {307 shareUrl: 'https://web.skype.com/share',308 params: {309 url: this.getValue('url'),310 title: this.getValue('title')311 }312 },313 quora: {314 shareUrl: 'https://www.quora.com/share',315 params: {316 url: this.getValue('url'),317 title: this.getValue('title')318 }319 },320 delicious: {321 shareUrl: 'https://del.icio.us/post',322 params: {323 url: this.getValue('url'),324 title: this.getValue('title')325 }326 },327 sms: {328 shareUrl: 'sms://',329 params: {330 body: this.getValue('body')331 }332 },333 trello: {334 shareUrl: 'https://trello.com/add-card',335 params: {336 url: this.getValue('url'),337 name: this.getValue('title'),338 desc: this.getValue('description'),339 mode: 'popup'340 }341 },342 messenger: {343 shareUrl: 'fb-messenger://share',344 params: {345 link: this.getValue('url')346 }347 },348 odnoklassniki: {349 shareUrl: 'https://connect.ok.ru/dk',350 params: {351 st: {352 cmd: 'WidgetSharePreview',353 deprecated: 1,354 shareUrl: this.getValue('url')355 }356 }357 },358 meneame: {359 shareUrl: 'https://www.meneame.net/submit',360 params: {361 url: this.getValue('url')362 }363 },364 diaspora: {365 shareUrl: 'https://share.diasporafoundation.org',366 params: {367 title: this.getValue('title'),368 url: this.getValue('url')369 }370 },371 googlebookmarks: {372 shareUrl: 'https://www.google.com/bookmarks/mark',373 params: {374 op: 'edit',375 bkmk: this.getValue('url'),376 title: this.getValue('title')377 }378 },379 qzone: {380 shareUrl: 'https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey',381 params: {382 url: this.getValue('url')383 }384 },385 refind: {386 shareUrl: 'https://refind.com',387 params: {388 url: this.getValue('url')389 }390 },391 surfingbird: {392 shareUrl: 'https://surfingbird.ru/share',393 params: {394 url: this.getValue('url'),395 title: this.getValue('title'),396 description: this.getValue('description')397 }398 },399 yahoomail: {400 shareUrl: 'http://compose.mail.yahoo.com',401 params: {402 to: this.getValue('to'),403 subject: this.getValue('subject'),404 body: this.getValue('body')405 }406 },407 wordpress: {408 shareUrl: 'https://wordpress.com/wp-admin/press-this.php',409 params: {410 u: this.getValue('url'),411 t: this.getValue('title'),412 s: this.getValue('title')413 }414 },415 amazon: {416 shareUrl: 'https://www.amazon.com/gp/wishlist/static-add',417 params: {418 u: this.getValue('url'),419 t: this.getValue('title')420 }421 },422 pinboard: {423 shareUrl: 'https://pinboard.in/add',424 params: {425 url: this.getValue('url'),426 title: this.getValue('title'),427 description: this.getValue('description')428 }429 },430 threema: {431 shareUrl: 'threema://compose',432 params: {433 text: this.getValue('text'),434 id: this.getValue('id')435 }436 },437 kakaostory: {438 shareUrl: 'https://story.kakao.com/share',439 params: {440 url: this.getValue('url')441 }442 }443 },444 s = sharers[sharer];445 // custom popups sizes446 if (s) {447 s.width = this.getValue('width');448 s.height = this.getValue('height');449 }450 return s !== undefined ? this.urlSharer(s) : false;451 },452 /**453 * @event urlSharer454 * @param {Object} sharer455 */456 urlSharer: function (sharer) {457 var p = sharer.params || {},458 keys = Object.keys(p),459 i,460 str = keys.length > 0 ? '?' : '';461 for (i = 0; i < keys.length; i++) {462 if (str !== '?') {...
document_test.js
Source:document_test.js
...49 var doc = new Document(["12", "34"]);50 var deltas = [];51 doc.on("change", function(e) { deltas.push(e.data); });52 doc.insert({row: 0, column: 1}, "juhu");53 assert.equal(doc.getValue(), ["1juhu2", "34"].join("\n"));54 var d = deltas.concat();55 doc.revertDeltas(d);56 assert.equal(doc.getValue(), ["12", "34"].join("\n"));57 doc.applyDeltas(d);58 assert.equal(doc.getValue(), ["1juhu2", "34"].join("\n"));59 },60 "test: insert new line" : function() {61 var doc = new Document(["12", "34"]);62 var deltas = [];63 doc.on("change", function(e) { deltas.push(e.data); });64 doc.insertNewLine({row: 0, column: 1});65 assert.equal(doc.getValue(), ["1", "2", "34"].join("\n"));66 var d = deltas.concat();67 doc.revertDeltas(d);68 assert.equal(doc.getValue(), ["12", "34"].join("\n"));69 doc.applyDeltas(d);70 assert.equal(doc.getValue(), ["1", "2", "34"].join("\n"));71 },72 "test: insert lines at the beginning" : function() {73 var doc = new Document(["12", "34"]);74 var deltas = [];75 doc.on("change", function(e) { deltas.push(e.data); });76 doc.insertLines(0, ["aa", "bb"]);77 assert.equal(doc.getValue(), ["aa", "bb", "12", "34"].join("\n"));78 var d = deltas.concat();79 doc.revertDeltas(d);80 assert.equal(doc.getValue(), ["12", "34"].join("\n"));81 doc.applyDeltas(d);82 assert.equal(doc.getValue(), ["aa", "bb", "12", "34"].join("\n"));83 },84 "test: insert lines at the end" : function() {85 var doc = new Document(["12", "34"]);86 var deltas = [];87 doc.on("change", function(e) { deltas.push(e.data); });88 doc.insertLines(2, ["aa", "bb"]);89 assert.equal(doc.getValue(), ["12", "34", "aa", "bb"].join("\n"));90 },91 "test: insert lines in the middle" : function() {92 var doc = new Document(["12", "34"]);93 var deltas = [];94 doc.on("change", function(e) { deltas.push(e.data); });95 doc.insertLines(1, ["aa", "bb"]);96 assert.equal(doc.getValue(), ["12", "aa", "bb", "34"].join("\n"));97 var d = deltas.concat();98 doc.revertDeltas(d);99 assert.equal(doc.getValue(), ["12", "34"].join("\n"));100 doc.applyDeltas(d);101 assert.equal(doc.getValue(), ["12", "aa", "bb", "34"].join("\n"));102 },103 "test: insert multi line string at the start" : function() {104 var doc = new Document(["12", "34"]);105 var deltas = [];106 doc.on("change", function(e) { deltas.push(e.data); });107 doc.insert({row: 0, column: 0}, "aa\nbb\ncc");108 assert.equal(doc.getValue(), ["aa", "bb", "cc12", "34"].join("\n"));109 var d = deltas.concat();110 doc.revertDeltas(d);111 assert.equal(doc.getValue(), ["12", "34"].join("\n"));112 doc.applyDeltas(d);113 assert.equal(doc.getValue(), ["aa", "bb", "cc12", "34"].join("\n"));114 },115 "test: insert multi line string at the end" : function() {116 var doc = new Document(["12", "34"]);117 var deltas = [];118 doc.on("change", function(e) { deltas.push(e.data); });119 doc.insert({row: 2, column: 0}, "aa\nbb\ncc");120 assert.equal(doc.getValue(), ["12", "34aa", "bb", "cc"].join("\n"));121 var d = deltas.concat();122 doc.revertDeltas(d);123 assert.equal(doc.getValue(), ["12", "34"].join("\n"));124 doc.applyDeltas(d);125 assert.equal(doc.getValue(), ["12", "34aa", "bb", "cc"].join("\n"));126 },127 "test: insert multi line string in the middle" : function() {128 var doc = new Document(["12", "34"]);129 var deltas = [];130 doc.on("change", function(e) { deltas.push(e.data); });131 doc.insert({row: 0, column: 1}, "aa\nbb\ncc");132 assert.equal(doc.getValue(), ["1aa", "bb", "cc2", "34"].join("\n"));133 var d = deltas.concat();134 doc.revertDeltas(d);135 assert.equal(doc.getValue(), ["12", "34"].join("\n"));136 doc.applyDeltas(d);137 assert.equal(doc.getValue(), ["1aa", "bb", "cc2", "34"].join("\n"));138 },139 "test: delete in line" : function() {140 var doc = new Document(["1234", "5678"]);141 var deltas = [];142 doc.on("change", function(e) { deltas.push(e.data); });143 doc.remove(new Range(0, 1, 0, 3));144 assert.equal(doc.getValue(), ["14", "5678"].join("\n"));145 var d = deltas.concat();146 doc.revertDeltas(d);147 assert.equal(doc.getValue(), ["1234", "5678"].join("\n"));148 doc.applyDeltas(d);149 assert.equal(doc.getValue(), ["14", "5678"].join("\n"));150 },151 "test: delete new line" : function() {152 var doc = new Document(["1234", "5678"]);153 var deltas = [];154 doc.on("change", function(e) { deltas.push(e.data); });155 doc.remove(new Range(0, 4, 1, 0));156 assert.equal(doc.getValue(), ["12345678"].join("\n"));157 var d = deltas.concat();158 doc.revertDeltas(d);159 assert.equal(doc.getValue(), ["1234", "5678"].join("\n"));160 doc.applyDeltas(d);161 assert.equal(doc.getValue(), ["12345678"].join("\n"));162 },163 "test: delete multi line range line" : function() {164 var doc = new Document(["1234", "5678", "abcd"]);165 var deltas = [];166 doc.on("change", function(e) { deltas.push(e.data); });167 doc.remove(new Range(0, 2, 2, 2));168 assert.equal(doc.getValue(), ["12cd"].join("\n"));169 var d = deltas.concat();170 doc.revertDeltas(d);171 assert.equal(doc.getValue(), ["1234", "5678", "abcd"].join("\n"));172 doc.applyDeltas(d);173 assert.equal(doc.getValue(), ["12cd"].join("\n"));174 },175 "test: delete full lines" : function() {176 var doc = new Document(["1234", "5678", "abcd"]);177 var deltas = [];178 doc.on("change", function(e) { deltas.push(e.data); });179 doc.remove(new Range(1, 0, 3, 0));180 assert.equal(doc.getValue(), ["1234", ""].join("\n"));181 },182 "test: remove lines should return the removed lines" : function() {183 var doc = new Document(["1234", "5678", "abcd"]);184 var removed = doc.removeLines(1, 2);185 assert.equal(removed.join("\n"), ["5678", "abcd"].join("\n"));186 },187 "test: should handle unix style new lines" : function() {188 var doc = new Document(["1", "2", "3"]);189 assert.equal(doc.getValue(), ["1", "2", "3"].join("\n"));190 },191 "test: should handle windows style new lines" : function() {192 var doc = new Document(["1", "2", "3"].join("\r\n"));193 doc.setNewLineMode("unix");194 assert.equal(doc.getValue(), ["1", "2", "3"].join("\n"));195 },196 "test: set new line mode to 'windows' should use '\\r\\n' as new lines": function() {197 var doc = new Document(["1", "2", "3"].join("\n"));198 doc.setNewLineMode("windows");199 assert.equal(doc.getValue(), ["1", "2", "3"].join("\r\n"));200 },201 "test: set new line mode to 'unix' should use '\\n' as new lines": function() {202 var doc = new Document(["1", "2", "3"].join("\r\n"));203 doc.setNewLineMode("unix");204 assert.equal(doc.getValue(), ["1", "2", "3"].join("\n"));205 },206 "test: set new line mode to 'auto' should detect the incoming nl type": function() {207 var doc = new Document(["1", "2", "3"].join("\n"));208 doc.setNewLineMode("auto");209 assert.equal(doc.getValue(), ["1", "2", "3"].join("\n"));210 var doc = new Document(["1", "2", "3"].join("\r\n"));211 doc.setNewLineMode("auto");212 assert.equal(doc.getValue(), ["1", "2", "3"].join("\r\n"));213 doc.replace(new Range(0, 0, 2, 1), ["4", "5", "6"].join("\n"));214 assert.equal(["4", "5", "6"].join("\n"), doc.getValue());215 },216 "test: set value": function() {217 var doc = new Document("1");218 assert.equal("1", doc.getValue());219 doc.setValue(doc.getValue());220 assert.equal("1", doc.getValue());221 var doc = new Document("1\n2");222 assert.equal("1\n2", doc.getValue());223 doc.setValue(doc.getValue());224 assert.equal("1\n2", doc.getValue());225 },226 "test: empty document has to contain one line": function() {227 var doc = new Document("");228 assert.equal(doc.$lines.length, 1);229 }230};231});232if (typeof module !== "undefined" && module === require.main) {233 require("asyncjs").test.testcase(module.exports).exec()...
Current.js
Source:Current.js
...16 constructor(obj) {17 super(obj);18 if (obj === undefined || obj === null) return;19 this.lastUpdatedEpoch =20 this.constructor.getValue(obj.lastUpdatedEpoch21 || obj.last_updated_epoch);22 this.lastUpdated = this.constructor.getValue(obj.lastUpdated || obj.last_updated);23 this.tempC = this.constructor.getValue(obj.tempC || obj.temp_c);24 this.tempF = this.constructor.getValue(obj.tempF || obj.temp_f);25 this.isDay = this.constructor.getValue(obj.isDay || obj.is_day);26 this.condition = this.constructor.getValue(obj.condition);27 this.windMph = this.constructor.getValue(obj.windMph || obj.wind_mph);28 this.windKph = this.constructor.getValue(obj.windKph || obj.wind_kph);29 this.windDegree = this.constructor.getValue(obj.windDegree || obj.wind_degree);30 this.windDir = this.constructor.getValue(obj.windDir || obj.wind_dir);31 this.pressureMb = this.constructor.getValue(obj.pressureMb || obj.pressure_mb);32 this.pressureIn = this.constructor.getValue(obj.pressureIn || obj.pressure_in);33 this.precipMm = this.constructor.getValue(obj.precipMm || obj.precip_mm);34 this.precipIn = this.constructor.getValue(obj.precipIn || obj.precip_in);35 this.humidity = this.constructor.getValue(obj.humidity);36 this.cloud = this.constructor.getValue(obj.cloud);37 this.feelslikeC = this.constructor.getValue(obj.feelslikeC || obj.feelslike_c);38 this.feelslikeF = this.constructor.getValue(obj.feelslikeF || obj.feelslike_f);39 this.visKm = this.constructor.getValue(obj.visKm || obj.vis_km);40 this.visMiles = this.constructor.getValue(obj.visMiles || obj.vis_miles);41 this.uv = this.constructor.getValue(obj.uv);42 this.gustMph = this.constructor.getValue(obj.gustMph || obj.gust_mph);43 this.gustKph = this.constructor.getValue(obj.gustKph || obj.gust_kph);44 }45 /**46 * Function containing information about the fields of this model47 * @return {array} Array of objects containing information about the fields48 */49 static mappingInfo() {50 return super.mappingInfo().concat([51 { name: 'lastUpdatedEpoch', realName: 'last_updated_epoch' },52 { name: 'lastUpdated', realName: 'last_updated' },53 { name: 'tempC', realName: 'temp_c' },54 { name: 'tempF', realName: 'temp_f' },55 { name: 'isDay', realName: 'is_day' },56 { name: 'condition', realName: 'condition', type: 'Condition' },57 { name: 'windMph', realName: 'wind_mph' },...
Hour.js
Source:Hour.js
...15 */16 constructor(obj) {17 super(obj);18 if (obj === undefined || obj === null) return;19 this.timeEpoch = this.constructor.getValue(obj.timeEpoch || obj.time_epoch);20 this.time = this.constructor.getValue(obj.time);21 this.tempC = this.constructor.getValue(obj.tempC || obj.temp_c);22 this.tempF = this.constructor.getValue(obj.tempF || obj.temp_f);23 this.isDay = this.constructor.getValue(obj.isDay || obj.is_day);24 this.condition = this.constructor.getValue(obj.condition);25 this.windMph = this.constructor.getValue(obj.windMph || obj.wind_mph);26 this.windKph = this.constructor.getValue(obj.windKph || obj.wind_kph);27 this.windDegree = this.constructor.getValue(obj.windDegree || obj.wind_degree);28 this.windDir = this.constructor.getValue(obj.windDir || obj.wind_dir);29 this.pressureMb = this.constructor.getValue(obj.pressureMb || obj.pressure_mb);30 this.pressureIn = this.constructor.getValue(obj.pressureIn || obj.pressure_in);31 this.precipMm = this.constructor.getValue(obj.precipMm || obj.precip_mm);32 this.precipIn = this.constructor.getValue(obj.precipIn || obj.precip_in);33 this.humidity = this.constructor.getValue(obj.humidity);34 this.cloud = this.constructor.getValue(obj.cloud);35 this.feelslikeC = this.constructor.getValue(obj.feelslikeC || obj.feelslike_c);36 this.feelslikeF = this.constructor.getValue(obj.feelslikeF || obj.feelslike_f);37 this.visKm = this.constructor.getValue(obj.visKm || obj.vis_km);38 this.visMiles = this.constructor.getValue(obj.visMiles || obj.vis_miles);39 this.uv = this.constructor.getValue(obj.uv);40 this.gustMph = this.constructor.getValue(obj.gustMph || obj.gust_mph);41 this.gustKph = this.constructor.getValue(obj.gustKph || obj.gust_kph);42 }43 /**44 * Function containing information about the fields of this model45 * @return {array} Array of objects containing information about the fields46 */47 static mappingInfo() {48 return super.mappingInfo().concat([49 { name: 'timeEpoch', realName: 'time_epoch' },50 { name: 'time', realName: 'time' },51 { name: 'tempC', realName: 'temp_c' },52 { name: 'tempF', realName: 'temp_f' },53 { name: 'isDay', realName: 'is_day' },54 { name: 'condition', realName: 'condition', type: 'Condition' },55 { name: 'windMph', realName: 'wind_mph' },...
Day.js
Source:Day.js
...15 */16 constructor(obj) {17 super(obj);18 if (obj === undefined || obj === null) return;19 this.maxtempC = this.constructor.getValue(obj.maxtempC || obj.maxtemp_c);20 this.maxtempF = this.constructor.getValue(obj.maxtempF || obj.maxtemp_f);21 this.mintempC = this.constructor.getValue(obj.mintempC || obj.mintemp_c);22 this.mintempF = this.constructor.getValue(obj.mintempF || obj.mintemp_f);23 this.avgtempC = this.constructor.getValue(obj.avgtempC || obj.avgtemp_c);24 this.avgtempF = this.constructor.getValue(obj.avgtempF || obj.avgtemp_f);25 this.maxwindMph = this.constructor.getValue(obj.maxwindMph || obj.maxwind_mph);26 this.maxwindKph = this.constructor.getValue(obj.maxwindKph || obj.maxwind_kph);27 this.totalprecipMm = this.constructor.getValue(obj.totalprecipMm || obj.totalprecip_mm);28 this.totalprecipIn = this.constructor.getValue(obj.totalprecipIn || obj.totalprecip_in);29 this.avgvisKm = this.constructor.getValue(obj.avgvisKm || obj.avgvis_km);30 this.avgvisMiles = this.constructor.getValue(obj.avgvisMiles || obj.avgvis_miles);31 this.avghumidity = this.constructor.getValue(obj.avghumidity);32 this.condition = this.constructor.getValue(obj.condition);33 this.uv = this.constructor.getValue(obj.uv);34 }35 /**36 * Function containing information about the fields of this model37 * @return {array} Array of objects containing information about the fields38 */39 static mappingInfo() {40 return super.mappingInfo().concat([41 { name: 'maxtempC', realName: 'maxtemp_c' },42 { name: 'maxtempF', realName: 'maxtemp_f' },43 { name: 'mintempC', realName: 'mintemp_c' },44 { name: 'mintempF', realName: 'mintemp_f' },45 { name: 'avgtempC', realName: 'avgtemp_c' },46 { name: 'avgtempF', realName: 'avgtemp_f' },47 { name: 'maxwindMph', realName: 'maxwind_mph' },...
IpJsonResponse.js
Source:IpJsonResponse.js
...15 */16 constructor(obj) {17 super(obj);18 if (obj === undefined || obj === null) return;19 this.ip = this.constructor.getValue(obj.ip);20 this.type = this.constructor.getValue(obj.type);21 this.continentCode = this.constructor.getValue(obj.continentCode || obj.continent_code);22 this.continentName = this.constructor.getValue(obj.continentName || obj.continent_name);23 this.countryCode = this.constructor.getValue(obj.countryCode || obj.country_code);24 this.countryName = this.constructor.getValue(obj.countryName || obj.country_name);25 this.isEu = this.constructor.getValue(obj.isEu || obj.is_eu);26 this.geonameId = this.constructor.getValue(obj.geonameId || obj.geoname_id);27 this.city = this.constructor.getValue(obj.city);28 this.region = this.constructor.getValue(obj.region);29 this.lat = this.constructor.getValue(obj.lat);30 this.lon = this.constructor.getValue(obj.lon);31 this.tzId = this.constructor.getValue(obj.tzId || obj.tz_id);32 this.localtimeEpoch = this.constructor.getValue(obj.localtimeEpoch || obj.localtime_epoch);33 this.localtime = this.constructor.getValue(obj.localtime);34 }35 /**36 * Function containing information about the fields of this model37 * @return {array} Array of objects containing information about the fields38 */39 static mappingInfo() {40 return super.mappingInfo().concat([41 { name: 'ip', realName: 'ip' },42 { name: 'type', realName: 'type' },43 { name: 'continentCode', realName: 'continent_code' },44 { name: 'continentName', realName: 'continent_name' },45 { name: 'countryCode', realName: 'country_code' },46 { name: 'countryName', realName: 'country_name' },47 { name: 'isEu', realName: 'is_eu' },...
legend.js
Source:legend.js
...6 { value: 3, color: "#ffff01", label: { text: "Average" } },7 { value: 6, color: "#13ab11", label: { text: "Good" } },8 { value: 10, color: "#005ba2", label: { text: "Excellent" } }9 ];10 function getValue() {11 return Math.floor((Math.random() * 10) + 1);12 }13 var rows = ["Peter Scott", "Maria Anders", "John Camino", "Philips Cramer", "Robert King", "Simon Crowther", ];14 var itemsSource = [];15 for (var i = 0; i < rows.length; i++) {16 itemsSource.push({17 EmpName: rows[i],18 Jan: getValue(), Feb: getValue(), Mar: getValue(), Apr: getValue(), May: getValue(), Jun: getValue(),19 Jul: getValue(), Aug: getValue(), Sep: getValue(), Oct: getValue(), Nov: getValue(), Dec: getValue(),20 });21 }22 return{23 colorMappingCollection : colorMappingCollection,24 itemSource : itemsSource,25 itemsMapping: {26 headerMapping: { "propertyName": "EmpName", "displayName": "Employee Name", columnStyle: { width: 110, textAlign: "right" } },27 columnMapping: [28 { "propertyName": "Jan", "displayName": "Jan" },29 { "propertyName": "Feb", "displayName": "Feb" },30 { "propertyName": "Mar", "displayName": "Mar" },31 { "propertyName": "Apr", "displayName": "Apr" },32 { "propertyName": "May", "displayName": "May" },33 { "propertyName": "Jun", "displayName": "Jun" },...
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 await page.fill('#tsf > div:nth-child(2) > div > div.RNNXgb > div > div.a4bIc > input', 'Playwright');7 await page.click('#tsf > div:nth-child(2) > div > div.FPdoLc.VlcLAe > center > input[type="submit"]:nth-child(1)');8 const value = await page.$eval('#result-stats', (el) => el.textContent);9 console.log(value);10 await browser.close();11})();12About 4,230,000,000 results (0.70 seconds)
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch({ headless: false });4 const page = await browser.newPage();5 await page.click('text=Docs');6 await page.click('text=API');7 await page.click('text=class: Page');8 await page.click('text=method: click');9 await page.screenshot({ path: `click.png` });10 await browser.close();11})();
Using AI Code Generation
1const { getValue } = 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 frame = page.mainFrame();8 const value = await getValue(frame, 'document.location.href');9 console.log(value);10 await browser.close();11})();
Using AI Code Generation
1const { getValue } = require('playwright/lib/internal/evaluators/JavaScriptEvaluators');2const result = await getValue(page, 'window.location.href');3console.log(result);4const { setValue } = require('playwright/lib/internal/evaluators/JavaScriptEvaluators');5console.log(page.url());6const { runScript } = require('playwright/lib/internal/evaluators/JavaScriptEvaluators');7const result = await runScript(page, 'window.location.href');8console.log(result);9const { runScript } = require('playwright/lib/internal/evaluators/JavaScriptEvaluators');10const result = await runScript(page, 'window.location.href');11console.log(result);12const { runScript } = require('playwright/lib/internal/evaluators/JavaScriptEvaluators');13const result = await runScript(page, 'window.location.href');14console.log(result);15const { runScript } = require('playwright/lib/internal/evaluators/JavaScriptEvaluators');16const result = await runScript(page, 'window.location.href');17console.log(result);18const { runScript } = require('playwright/lib/internal/evaluators/JavaScriptEvaluators');19const result = await runScript(page, 'window.location.href');20console.log(result);21const { runScript } = require('playwright/lib/internal/evaluators/JavaScriptEvaluators');
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!!