How to use escapeIdent method in Playwright Internal

Best JavaScript code snippet using playwright-internal

parse-css.js

Source:parse-css.js Github

copy

Full Screen

...684IdentToken.prototype = Object.create(StringValuedToken.prototype);685IdentToken.prototype.tokenType = "ident";686IdentToken.prototype.toString = function() { return "IDENT("+this.value+")"; };687IdentToken.prototype.toSource = function() {688 return escapeIdent(this.value);689};690function FunctionToken(val) {691 this.value = val;692 this.text = val;693 this.mirror = ")";694}695FunctionToken.prototype = Object.create(StringValuedToken.prototype);696FunctionToken.prototype.tokenType = "function";697FunctionToken.prototype.toString = function() { return "FUNCTION("+this.value+")"; };698FunctionToken.prototype.toSource = function() {699 return escapeIdent(this.value) + "(";700};701function AtKeywordToken(val) {702 this.value = val;703 this.text = val;704}705AtKeywordToken.prototype = Object.create(StringValuedToken.prototype);706AtKeywordToken.prototype.tokenType = "at";707AtKeywordToken.prototype.toString = function() { return "AT("+this.value+")"; };708AtKeywordToken.prototype.toSource = function() {709 return "@" + escapeIdent(this.value);710};711function HashToken(val) {712 this.value = val;713 this.text = val;714 this.type = "unrestricted";715}716HashToken.prototype = Object.create(StringValuedToken.prototype);717HashToken.prototype.tokenType = "hash";718HashToken.prototype.toString = function() { return "HASH("+this.value+")"; };719HashToken.prototype.toJSON = function() {720 var json = this.constructor.prototype.constructor.prototype.toJSON.call(this);721 json.value = this.value;722 json.type = this.type;723 return json;724};725HashToken.prototype.toSource = function() {726 if(this.type == "id") {727 return "#" + escapeIdent(this.value);728 } else {729 return "#" + escapeHash(this.value);730 }731};732function StringToken(val) {733 this.value = val;734 this.text = val;735}736StringToken.prototype = Object.create(StringValuedToken.prototype);737StringToken.prototype.tokenType = "string";738StringToken.prototype.toString = function() {739 return '"' + escapeString(this.value) + '"';740};741function CommentToken(val) {742 this.value = val;743}744CommentToken.prototype = Object.create(StringValuedToken.prototype);745CommentToken.prototype.tokenType = "comment";746CommentToken.prototype.toString = function() {747 return '/*' + this.value + '*/';748}749CommentToken.prototype.toSource = CommentToken.prototype.toString;750function URLToken(val) {751 this.value = val;752 this.text = val;753}754URLToken.prototype = Object.create(StringValuedToken.prototype);755URLToken.prototype.tokenType = "url";756URLToken.prototype.toString = function() { return "URL("+this.value+")"; };757URLToken.prototype.toSource = function() {758 return 'url("' + escapeString(this.value) + '")';759};760function NumberToken() {761 this.value = null;762 this.type = "integer";763 this.repr = "";764}765NumberToken.prototype = Object.create(CSSParserToken.prototype);766NumberToken.prototype.tokenType = "number";767NumberToken.prototype.toString = function() {768 if(this.type == "integer")769 return "INT("+this.value+")";770 return "NUMBER("+this.value+")";771};772NumberToken.prototype.toJSON = function() {773 var json = this.constructor.prototype.constructor.prototype.toJSON.call(this);774 json.value = this.value;775 json.type = this.type;776 json.repr = this.repr;777 return json;778};779NumberToken.prototype.toSource = function() { return this.repr; };780function PercentageToken() {781 this.value = null;782 this.repr = "";783}784PercentageToken.prototype = Object.create(CSSParserToken.prototype);785PercentageToken.prototype.tokenType = "percentage";786PercentageToken.prototype.toString = function() { return "PERCENTAGE("+this.value+")"; };787PercentageToken.prototype.toJSON = function() {788 var json = this.constructor.prototype.constructor.prototype.toJSON.call(this);789 json.value = this.value;790 json.repr = this.repr;791 return json;792};793PercentageToken.prototype.toSource = function() { return this.repr + "%"; };794function DimensionToken() {795 this.value = null;796 this.type = "integer";797 this.repr = "";798 this.unit = "";799}800DimensionToken.prototype = Object.create(CSSParserToken.prototype);801DimensionToken.prototype.tokenType = "dimension";802DimensionToken.prototype.toString = function() { return "DIM("+this.value+","+this.unit+")"; };803DimensionToken.prototype.toJSON = function() {804 var json = this.constructor.prototype.constructor.prototype.toJSON.call(this);805 json.value = this.value;806 json.type = this.type;807 json.repr = this.repr;808 json.unit = this.unit;809 return json;810};811DimensionToken.prototype.toSource = function() {812 var source = this.repr;813 var unit = escapeIdent(this.unit);814 if(unit[0].toLowerCase() == "e" && (unit[1] == "-" || between(unit.charCodeAt(1), 0x30, 0x39))) {815 // Unit is ambiguous with scinot816 // Remove the leading "e", replace with escape.817 unit = "\\65 " + unit.slice(1, unit.length);818 }819 return source+unit;820};821function escapeIdent(string) {822 string = ''+string;823 var result = '';824 var firstcode = string.charCodeAt(0);825 for(var i = 0; i < string.length; i++) {826 var code = string.charCodeAt(i);827 if(code === 0x0) {828 throw new InvalidCharacterError('Invalid character: the input contains U+0000.');829 }830 if(831 between(code, 0x1, 0x1f) || code == 0x7f ||832 (i === 0 && between(code, 0x30, 0x39)) ||833 (i == 1 && between(code, 0x30, 0x39) && firstcode == 0x2d)834 ) {835 result += '\\' + code.toString(16) + ' ';836 } else if(837 code >= 0x80 ||838 code == 0x2d ||839 code == 0x5f ||840 between(code, 0x30, 0x39) ||841 between(code, 0x41, 0x5a) ||842 between(code, 0x61, 0x7a)843 ) {844 result += string[i];845 } else {846 result += '\\' + string[i];847 }848 }849 return result;850}851function escapeHash(string) {852 // Escapes the contents of "unrestricted"-type hash tokens.853 // Won't preserve the ID-ness of "id"-type hash tokens;854 // use escapeIdent() for that.855 string = ''+string;856 var result = '';857 for(var i = 0; i < string.length; i++) {858 var code = string.charCodeAt(i);859 if(code === 0x0) {860 throw new InvalidCharacterError('Invalid character: the input contains U+0000.');861 }862 if(863 code >= 0x80 ||864 code == 0x2d ||865 code == 0x5f ||866 between(code, 0x30, 0x39) ||867 between(code, 0x41, 0x5a) ||868 between(code, 0x61, 0x7a)...

Full Screen

Full Screen

css-syntax.js

Source:css-syntax.js Github

copy

Full Screen

...635IdentifierToken.prototype = new StringValuedToken;636IdentifierToken.prototype.tokenType = "IDENT";637IdentifierToken.prototype.toString = function() { return "IDENT("+this.value+")"; }638IdentifierToken.prototype.toCSSString = function() {639 return escapeIdent(this.value);640}641function FunctionToken(val) {642 this.value = val;643 this.mirror = ")";644}645FunctionToken.prototype = new StringValuedToken;646FunctionToken.prototype.tokenType = "FUNCTION";647FunctionToken.prototype.toString = function() { return "FUNCTION("+this.value+")"; }648FunctionToken.prototype.toCSSString = function() {649 return escapeIdent(this.value) + "(";650}651 652function AtKeywordToken(val) {653 this.value = val;654}655AtKeywordToken.prototype = new StringValuedToken;656AtKeywordToken.prototype.tokenType = "AT-KEYWORD";657AtKeywordToken.prototype.toString = function() { return "AT("+this.value+")"; }658AtKeywordToken.prototype.toCSSString = function() {659 return "@" + escapeIdent(this.value);660}661function HashToken(val) {662 this.value = val;663 this.type = "unrestricted";664}665HashToken.prototype = new StringValuedToken;666HashToken.prototype.tokenType = "HASH";667HashToken.prototype.toString = function() { return "HASH("+this.value+")"; }668HashToken.prototype.toCSSString = function() {669 var escapeValue = (this.type == "id") ? escapeIdent : escapeHash;670 return "#" + escapeValue(this.value);671}672function StringToken(val) {673this.value = val;674}675StringToken.prototype = new StringValuedToken;676StringToken.prototype.tokenType = "STRING";677StringToken.prototype.toString = function() {678 return '"' + escapeString(this.value) + '"';679}680function URLToken(val) {681 this.value = val;682}683URLToken.prototype = new StringValuedToken;684URLToken.prototype.tokenType = "URL";685URLToken.prototype.toString = function() { return "URL("+this.value+")"; }686URLToken.prototype.toCSSString = function() {687 return 'url("' + escapeString(this.value) + '")';688}689function NumberToken() {690 this.value = null;691 this.type = "integer";692 this.repr = "";693}694NumberToken.prototype = new CSSParserToken;695NumberToken.prototype.tokenType = "NUMBER";696NumberToken.prototype.toString = function() {697 if(this.type == "integer")698 return "INT("+this.value+")";699 return "NUMBER("+this.value+")";700}701NumberToken.prototype.toJSON = function() {702 var json = this.constructor.prototype.constructor.prototype.toJSON.call(this);703 json.value = this.value;704 json.type = this.type;705 json.repr = this.repr;706 return json;707}708NumberToken.prototype.toCSSString = function() { return this.repr; };709function PercentageToken() {710 this.value = null;711 this.repr = "";712}713PercentageToken.prototype = new CSSParserToken;714PercentageToken.prototype.tokenType = "PERCENTAGE";715PercentageToken.prototype.toString = function() { return "PERCENTAGE("+this.value+")"; }716PercentageToken.prototype.toCSSString = function() { return this.repr + "%"; }717function DimensionToken() {718 this.value = null;719 this.type = "integer";720 this.repr = "";721 this.unit = "";722}723DimensionToken.prototype = new CSSParserToken;724DimensionToken.prototype.tokenType = "DIMENSION";725DimensionToken.prototype.toString = function() { return "DIM("+this.value+","+this.unit+")"; }726DimensionToken.prototype.toCSSString = function() {727 var source = this.repr;728 var unit = escapeIdent(this.unit);729 if(unit[0].toLowerCase() == "e" && (unit[1] == "-" || between(unit.charCodeAt(1), 0x30, 0x39))) {730 // Unit is ambiguous with scinot731 // Remove the leading "e", replace with escape.732 unit = "\\65 " + unit.slice(1, unit.length);733 }734 return source+unit;735}736function escapeIdent(string) {737 string = ''+string;738 var result = '';739 var firstcode = string.charCodeAt(0);740 for(var i = 0; i < string.length; i++) {741 var code = string.charCodeAt(i);742 if(code == 0x0) {743 throw new InvalidCharacterError('Invalid character: the input contains U+0000.');744 }745 if(746 between(code, 0x1, 0x1f) || code == 0x7f ||747 (i == 0 && between(code, 0x30, 0x39)) ||748 (i == 1 && between(code, 0x30, 0x39) && firstcode == 0x2d)749 ) {750 result += '\\' + code.toString(16) + ' ';751 } else if(752 code >= 0x80 ||753 code == 0x2d ||754 code == 0x5f ||755 between(code, 0x30, 0x39) ||756 between(code, 0x41, 0x5a) ||757 between(code, 0x61, 0x7a)758 ) {759 result += string[i];760 } else {761 result += '\\' + string[i];762 }763 }764 return result;765}766function escapeHash(string) {767 // Escapes the contents of "unrestricted"-type hash tokens.768 // Won't preserve the ID-ness of "id"-type hash tokens;769 // use escapeIdent() for that.770 string = ''+string;771 var result = '';772 var firstcode = string.charCodeAt(0);773 for(var i = 0; i < string.length; i++) {774 var code = string.charCodeAt(i);775 if(code == 0x0) {776 throw new InvalidCharacterError('Invalid character: the input contains U+0000.');777 }778 if(779 code >= 0x80 ||780 code == 0x2d ||781 code == 0x5f ||782 between(code, 0x30, 0x39) ||783 between(code, 0x41, 0x5a) ||784 between(code, 0x61, 0x7a)785 ) {786 result += string[i];787 } else {788 result += '\\' + code.toString(16) + ' ';789 }790 }791 return result;792}793function escapeString(string) {794 string = ''+string;795 var result = '';796 for(var i = 0; i < string.length; i++) {797 var code = string.charCodeAt(i);798 if(code == 0x0) {799 throw new InvalidCharacterError('Invalid character: the input contains U+0000.');800 }801 if(between(code, 0x1, 0x1f) || code == 0x7f) {802 result += '\\' + code.toString(16) + ' ';803 } else if(code == 0x22 || code == 0x5c) {804 result += '\\' + string[i];805 } else {806 result += string[i];807 }808 }809 return result;810}811// Exportation.812cssSyntax.tokenize = tokenize;813cssSyntax.IdentToken = IdentifierToken;814cssSyntax.IdentifierToken = IdentifierToken;815cssSyntax.FunctionToken = FunctionToken;816cssSyntax.AtKeywordToken = AtKeywordToken;817cssSyntax.HashToken = HashToken;818cssSyntax.StringToken = StringToken;819cssSyntax.BadStringToken = BadStringToken;820cssSyntax.URLToken = URLToken;821cssSyntax.BadURLToken = BadURLToken;822cssSyntax.DelimToken = DelimToken;823cssSyntax.NumberToken = NumberToken;824cssSyntax.PercentageToken = PercentageToken;825cssSyntax.DimensionToken = DimensionToken;826cssSyntax.IncludeMatchToken = IncludeMatchToken;827cssSyntax.DashMatchToken = DashMatchToken;828cssSyntax.PrefixMatchToken = PrefixMatchToken;829cssSyntax.SuffixMatchToken = SuffixMatchToken;830cssSyntax.SubstringMatchToken = SubstringMatchToken;831cssSyntax.ColumnToken = ColumnToken;832cssSyntax.WhitespaceToken = WhitespaceToken;833cssSyntax.CDOToken = CDOToken;834cssSyntax.CDCToken = CDCToken;835cssSyntax.ColonToken = ColonToken;836cssSyntax.SemicolonToken = SemicolonToken;837cssSyntax.CommaToken = CommaToken;838cssSyntax.OpenParenToken = OpenParenToken;839cssSyntax.CloseParenToken = CloseParenToken;840cssSyntax.OpenSquareToken = OpenSquareToken;841cssSyntax.CloseSquareToken = CloseSquareToken;842cssSyntax.OpenCurlyToken = OpenCurlyToken;843cssSyntax.CloseCurlyToken = CloseCurlyToken;844cssSyntax.EOFToken = EOFToken;845cssSyntax.CSSParserToken = CSSParserToken;846cssSyntax.GroupingToken = GroupingToken;847//848// css parser849//850function TokenStream(tokens) {851 // Assume that tokens is an array.852 this.tokens = tokens;853 this.i = -1;854}855TokenStream.prototype.tokenAt = function(i) {856 if(i < this.tokens.length)857 return this.tokens[i];858 return new EOFToken();859}860TokenStream.prototype.consume = function(num) {861 if(num === undefined) num = 1;862 this.i += num;863 this.token = this.tokenAt(this.i);864 //console.log(this.i, this.token);865 return true;866}867TokenStream.prototype.next = function() {868 return this.tokenAt(this.i+1);869}870TokenStream.prototype.reconsume = function() {871 this.i--;872}873function parseerror(s, msg) {874 console.log("Parse error at token " + s.i + ": " + s.token + ".\n" + msg);875 return true;876}877function donothing(){ return true; };878function consumeAListOfRules(s, topLevel) {879 var rules = new TokenList();880 var rule;881 while(s.consume()) {882 if(s.token instanceof WhitespaceToken) {883 continue;884 } else if(s.token instanceof EOFToken) {885 return rules;886 } else if(s.token instanceof CDOToken || s.token instanceof CDCToken) {887 if(topLevel == "top-level") continue;888 s.reconsume();889 if(rule = consumeAStyleRule(s)) rules.push(rule);890 } else if(s.token instanceof AtKeywordToken) {891 s.reconsume();892 if(rule = consumeAnAtRule(s)) rules.push(rule);893 } else {894 s.reconsume();895 if(rule = consumeAStyleRule(s)) rules.push(rule);896 }897 }898}899function consumeAnAtRule(s) {900 s.consume();901 var rule = new AtRule(s.token.value);902 while(s.consume()) {903 if(s.token instanceof SemicolonToken || s.token instanceof EOFToken) {904 return rule;905 } else if(s.token instanceof OpenCurlyToken) {906 rule.value = consumeASimpleBlock(s);907 return rule;908 } else if(s.token instanceof SimpleBlock && s.token.name == "{") {909 rule.value = s.token;910 return rule;911 } else {912 s.reconsume();913 rule.prelude.push(consumeAComponentValue(s));914 }915 }916}917function consumeAStyleRule(s) {918 var rule = new StyleRule();919 while(s.consume()) {920 if(s.token instanceof EOFToken) {921 parseerror(s, "Hit EOF when trying to parse the prelude of a qualified rule.");922 return;923 } else if(s.token instanceof OpenCurlyToken) {924 rule.value = consumeASimpleBlock(s);925 return rule;926 } else if(s.token instanceof SimpleBlock && s.token.name == "{") {927 rule.value = s.token;928 return rule;929 } else {930 s.reconsume();931 rule.prelude.push(consumeAComponentValue(s));932 }933 }934}935function consumeAListOfDeclarations(s) {936 var decls = new TokenList();937 while(s.consume()) {938 if(s.token instanceof WhitespaceToken || s.token instanceof SemicolonToken) {939 donothing();940 } else if(s.token instanceof EOFToken) {941 return decls;942 } else if(s.token instanceof AtKeywordToken) {943 s.reconsume();944 decls.push(consumeAnAtRule(s));945 } else if(s.token instanceof IdentifierToken) {946 var temp = [s.token];947 while(!(s.next() instanceof SemicolonToken || s.next() instanceof EOFToken))948 temp.push(consumeAComponentValue(s));949 var decl;950 if(decl = consumeADeclaration(new TokenStream(temp))) decls.push(decl);951 } else {952 parseerror(s);953 s.reconsume();954 while(!(s.next() instanceof SemicolonToken || s.next() instanceof EOFToken))955 consumeAComponentValue(s);956 }957 }958}959function consumeADeclaration(s) {960 // Assumes that the next input token will be an ident token.961 s.consume();962 var decl = new Declaration(s.token.value);963 while(s.next() instanceof WhitespaceToken) s.consume();964 if(!(s.next() instanceof ColonToken)) {965 parseerror(s);966 return;967 } else {968 s.consume();969 }970 while(!(s.next() instanceof EOFToken)) {971 decl.value.push(consumeAComponentValue(s));972 }973 var foundImportant = false;974 for(var i = decl.value.length - 1; i >= 0; i--) {975 if(decl.value[i] instanceof WhitespaceToken) {976 continue;977 } else if(decl.value[i] instanceof IdentifierToken && decl.value[i].ASCIIMatch("important")) {978 foundImportant = true;979 } else if(foundImportant && decl.value[i] instanceof DelimToken && decl.value[i].value == "!") {980 decl.value.splice(i, decl.value.length);981 decl.important = true;982 break;983 } else {984 break;985 }986 }987 return decl;988}989function consumeAComponentValue(s) {990 s.consume();991 if(s.token instanceof OpenCurlyToken || s.token instanceof OpenSquareToken || s.token instanceof OpenParenToken)992 return consumeASimpleBlock(s);993 if(s.token instanceof FunctionToken)994 return consumeAFunction(s);995 return s.token;996}997function consumeASimpleBlock(s) {998 var mirror = s.token.mirror;999 var block = new SimpleBlock(s.token.value);1000 while(s.consume()) {1001 if(s.token instanceof EOFToken || (s.token instanceof GroupingToken && s.token.value == mirror))1002 return block;1003 else {1004 s.reconsume();1005 block.value.push(consumeAComponentValue(s));1006 }1007 }1008}1009function consumeAFunction(s) {1010 var func = new Func(s.token.value);1011 while(s.consume()) {1012 if(s.token instanceof EOFToken || s.token instanceof CloseParenToken)1013 return func;1014 else {1015 s.reconsume();1016 func.value.push(consumeAComponentValue(s));1017 }1018 }1019}1020function normalizeInput(input) {1021 if(typeof input == "string")1022 return new TokenStream(tokenize(input));1023 if(input instanceof TokenStream)1024 return input;1025 if(input.length !== undefined)1026 return new TokenStream(input);1027 else throw SyntaxError(input);1028}1029function parseAStylesheet(s) {1030 s = normalizeInput(s);1031 var sheet = new Stylesheet();1032 sheet.value = consumeAListOfRules(s, "top-level");1033 return sheet;1034}1035function parseAListOfRules(s) {1036 s = normalizeInput(s);1037 return consumeAListOfRules(s);1038}1039function parseARule(s) {1040 s = normalizeInput(s);1041 while(s.next() instanceof WhitespaceToken) s.consume();1042 if(s.next() instanceof EOFToken) throw SyntaxError();1043 if(s.next() instanceof AtKeywordToken) {1044 var rule = consumeAnAtRule(s);1045 } else {1046 var rule = consumeAStyleRule(s);1047 if(!rule) throw SyntaxError();1048 }1049 while(s.next() instanceof WhitespaceToken) s.consume();1050 if(s.next() instanceof EOFToken)1051 return rule;1052 throw SyntaxError();1053}1054function parseADeclaration(s) {1055 s = normalizeInput(s);1056 while(s.next() instanceof WhitespaceToken) s.consume();1057 if(!(s.next() instanceof IdentifierToken)) throw SyntaxError();1058 var decl = consumeADeclaration(s);1059 if(!decl) { throw new SyntaxError() }1060 return decl;1061}1062function parseAListOfDeclarations(s) {1063 s = normalizeInput(s);1064 return consumeAListOfDeclarations(s);1065}1066function parseAComponentValue(s) {1067 s = normalizeInput(s);1068 while(s.next() instanceof WhitespaceToken) s.consume();1069 if(s.next() instanceof EOFToken) throw SyntaxError();1070 var val = consumeAComponentValue(s);1071 if(!val) throw SyntaxError();1072 while(s.next() instanceof WhitespaceToken) s.consume();1073 if(!(s.next() instanceof EOFToken)) throw new SyntaxError();1074 return val;1075}1076function parseAListOfComponentValues(s) {1077 s = normalizeInput(s);1078 var vals = new TokenList();1079 while(true) {1080 var val = consumeAComponentValue(s);1081 if(val instanceof EOFToken)1082 return vals1083 else1084 vals.push(val);1085 }1086}1087function parseACommaSeparatedListOfComponentValues(s) {1088 s = normalizeInput(s);1089 var listOfCVLs = new TokenList();1090 while(true) {1091 var vals = new TokenList();1092 while(true) {1093 var val = consumeAComponentValue(s);1094 if(val instanceof EOFToken) {1095 listOfCVLs.push(vals);1096 return listOfCVLs;1097 } else if(val instanceof CommaToken) {1098 listOfCVLs.push(vals);1099 break;1100 } else {1101 vals.push(val);1102 }1103 }1104 }1105}1106function CSSParserRule() { return this; }1107CSSParserRule.prototype.toString = function(indent) {1108 return JSON.stringify(this,null,indent);1109}1110function Stylesheet() {1111 this.value = new TokenList();1112 return this;1113}1114Stylesheet.prototype = new CSSParserRule;1115Stylesheet.prototype.type = "STYLESHEET";1116Stylesheet.prototype.toCSSString = function() { return this.value.toCSSString("\n"); }1117function AtRule(name) {1118 this.name = name;1119 this.prelude = new TokenList();1120 this.value = null;1121 return this;1122}1123AtRule.prototype = new CSSParserRule;1124AtRule.prototype.toCSSString = function() { 1125 if(this.value) {1126 return "@" + escapeIdent(this.name) + " " + this.prelude.toCSSString() + this.value.toCSSString(); 1127 } else {1128 return "@" + escapeIdent(this.name) + " " + this.prelude.toCSSString() + '; '; 1129 }1130}1131AtRule.prototype.toStylesheet = function() {1132 return this.asStylesheet || (this.asStylesheet = this.value ? parseAStylesheet(this.value.value) : new Stylesheet());1133}1134function StyleRule() {1135 this.prelude = new TokenList(); this.selector = this.prelude;1136 this.value = null;1137 return this;1138}1139StyleRule.prototype = new CSSParserRule;1140StyleRule.prototype.type = "STYLE-RULE";1141StyleRule.prototype.toCSSString = function() {1142 return this.prelude.toCSSString() + this.value.toCSSString();...

Full Screen

Full Screen

cssTokenizer.js

Source:cssTokenizer.js Github

copy

Full Screen

...646IdentToken.prototype = Object.create(StringValuedToken.prototype);647IdentToken.prototype.tokenType = "IDENT";648IdentToken.prototype.toString = function() { return "IDENT("+this.value+")"; }649IdentToken.prototype.toSource = function() {650 return escapeIdent(this.value);651}652function FunctionToken(val) {653 this.value = val;654 this.mirror = ")";655}656FunctionToken.prototype = Object.create(StringValuedToken.prototype);657FunctionToken.prototype.tokenType = "FUNCTION";658FunctionToken.prototype.toString = function() { return "FUNCTION("+this.value+")"; }659FunctionToken.prototype.toSource = function() {660 return escapeIdent(this.value) + "(";661}662function AtKeywordToken(val) {663 this.value = val;664}665AtKeywordToken.prototype = Object.create(StringValuedToken.prototype);666AtKeywordToken.prototype.tokenType = "AT-KEYWORD";667AtKeywordToken.prototype.toString = function() { return "AT("+this.value+")"; }668AtKeywordToken.prototype.toSource = function() {669 return "@" + escapeIdent(this.value);670}671function HashToken(val) {672 this.value = val;673 this.type = "unrestricted";674}675HashToken.prototype = Object.create(StringValuedToken.prototype);676HashToken.prototype.tokenType = "HASH";677HashToken.prototype.toString = function() { return "HASH("+this.value+")"; }678HashToken.prototype.toJSON = function() {679 var json = this.constructor.prototype.constructor.prototype.toJSON.call(this);680 json.value = this.value;681 json.type = this.type;682 return json;683}684HashToken.prototype.toSource = function() {685 if(this.type == "id") {686 return "#" + escapeIdent(this.value);687 } else {688 return "#" + escapeHash(this.value);689 }690}691function StringToken(val) {692 this.value = val;693}694StringToken.prototype = Object.create(StringValuedToken.prototype);695StringToken.prototype.tokenType = "STRING";696StringToken.prototype.toString = function() {697 return '"' + escapeString(this.value) + '"';698}699function URLToken(val) {700 this.value = val;701}702URLToken.prototype = Object.create(StringValuedToken.prototype);703URLToken.prototype.tokenType = "URL";704URLToken.prototype.toString = function() { return "URL("+this.value+")"; }705URLToken.prototype.toSource = function() {706 return 'url("' + escapeString(this.value) + '")';707}708function NumberToken() {709 this.value = null;710 this.type = "integer";711 this.repr = "";712}713NumberToken.prototype = Object.create(CSSParserToken.prototype);714NumberToken.prototype.tokenType = "NUMBER";715NumberToken.prototype.toString = function() {716 if(this.type == "integer")717 return "INT("+this.value+")";718 return "NUMBER("+this.value+")";719}720NumberToken.prototype.toJSON = function() {721 var json = this.constructor.prototype.constructor.prototype.toJSON.call(this);722 json.value = this.value;723 json.type = this.type;724 json.repr = this.repr;725 return json;726}727NumberToken.prototype.toSource = function() { return this.repr; };728function PercentageToken() {729 this.value = null;730 this.repr = "";731}732PercentageToken.prototype = Object.create(CSSParserToken.prototype);733PercentageToken.prototype.tokenType = "PERCENTAGE";734PercentageToken.prototype.toString = function() { return "PERCENTAGE("+this.value+")"; }735PercentageToken.prototype.toJSON = function() {736 var json = this.constructor.prototype.constructor.prototype.toJSON.call(this);737 json.value = this.value;738 json.repr = this.repr;739 return json;740}741PercentageToken.prototype.toSource = function() { return this.repr + "%"; }742function DimensionToken() {743 this.value = null;744 this.type = "integer";745 this.repr = "";746 this.unit = "";747}748DimensionToken.prototype = Object.create(CSSParserToken.prototype);749DimensionToken.prototype.tokenType = "DIMENSION";750DimensionToken.prototype.toString = function() { return "DIM("+this.value+","+this.unit+")"; }751DimensionToken.prototype.toJSON = function() {752 var json = this.constructor.prototype.constructor.prototype.toJSON.call(this);753 json.value = this.value;754 json.type = this.type;755 json.repr = this.repr;756 json.unit = this.unit;757 return json;758}759DimensionToken.prototype.toSource = function() {760 var source = this.repr;761 var unit = escapeIdent(this.unit);762 if(unit[0].toLowerCase() == "e" && (unit[1] == "-" || between(unit.charCodeAt(1), 0x30, 0x39))) {763 // Unit is ambiguous with scinot764 // Remove the leading "e", replace with escape.765 unit = "\\65 " + unit.slice(1, unit.length);766 }767 return source+unit;768}769function escapeIdent(string) {770 string = ''+string;771 var result = '';772 var firstcode = string.charCodeAt(0);773 for(var i = 0; i < string.length; i++) {774 var code = string.charCodeAt(i);775 if(code == 0x0) {776 throw new InvalidCharacterError('Invalid character: the input contains U+0000.');777 }778 if(779 between(code, 0x1, 0x1f) || code == 0x7f ||780 (i == 0 && between(code, 0x30, 0x39)) ||781 (i == 1 && between(code, 0x30, 0x39) && firstcode == 0x2d)782 ) {783 result += '\\' + code.toString(16) + ' ';784 } else if(785 code >= 0x80 ||786 code == 0x2d ||787 code == 0x5f ||788 between(code, 0x30, 0x39) ||789 between(code, 0x41, 0x5a) ||790 between(code, 0x61, 0x7a)791 ) {792 result += string[i];793 } else {794 result += '\\' + string[i];795 }796 }797 return result;798}799function escapeHash(string) {800 // Escapes the contents of "unrestricted"-type hash tokens.801 // Won't preserve the ID-ness of "id"-type hash tokens;802 // use escapeIdent() for that.803 string = ''+string;804 var result = '';805 var firstcode = string.charCodeAt(0);806 for(var i = 0; i < string.length; i++) {807 var code = string.charCodeAt(i);808 if(code == 0x0) {809 throw new InvalidCharacterError('Invalid character: the input contains U+0000.');810 }811 if(812 code >= 0x80 ||813 code == 0x2d ||814 code == 0x5f ||815 between(code, 0x30, 0x39) ||816 between(code, 0x41, 0x5a) ||...

Full Screen

Full Screen

custom.js

Source:custom.js Github

copy

Full Screen

...225 {226 var line;227 var ni = i-range.startl+1;228 if (i == range.startl-1)229 line = lines[i].slice(0, range.startc) + prefix + "." + utils.escapeIdent(names[ni]);230 else if (i > range.startl-1 && ni < names.length-1)231 line = utils.repeat(' ', range.startc) + prefix + "." + utils.escapeIdent(names[ni]);232 else if (ni == names.length-1)233 {234 var suffix = lines[range.endl-1].slice(range.endc+1);235 line = utils.repeat(' ', range.startc) + prefix + "." + utils.escapeIdent(names[ni]) + suffix;236 newEndl = i + 1;237 newEndc = line.length - suffix.length - 1;238 }239 else if (ni > names.length-1)240 line = lines[i-names.length+(range.endl-range.startl+1)];241 else242 line = lines[i];243 newLines.push(line);244 }245 range.endl = newEndl;246 range.endc = newEndc;247 setSource(id, newLines.join("\n"),false);248 };249 sel.on("change", updateSource1);250 }251 else252 {253 var range = { line: vis.range[0], start: vis.range[1], end: vis.range[3] };254 function updateSource2() {255 var f = window[id + "_offsetf"];256 if (!f) f = function(l) { return l; };257 var lines = window[id + "_source"].split('\n');258 var line = lines[f(range.line) - 1];259 var name = utils.escapeIdent(sel.val());260 lines[f(range.line) - 1] = line.slice(0, range.start) + name + line.slice(range.end + 1);261 range.end = range.start + name.length - 1;262 setSource(id, lines.join("\n"),false);263 };264 sel.on("change", updateSource2);265 }266 // Update the documentation side bar when something happens267 function updateDocumentation(member) {268 vis.options.forEach(function (v) {269 if (v.member == member) {270 documentationSide.showDocumentation(v.documentation);271 documentationSide.moveElement(sel.parent().offset().top);272 }273 });...

Full Screen

Full Screen

worker.js

Source:worker.js Github

copy

Full Screen

...56 function run_stmt(x) {57 console.log(x)58 db.exec(x)59 }60 function escapeIdent(x) {61 return '"' + (x + '').replace(/"/g, '""') + '"'62 }63 function escapeStr(x) {64 return "'" + (x + '').replace(/'/g, "''") + "'"65 }66 var sname = data['sname'] || 'Sheet1'67 run_stmt('DROP TABLE IF EXISTS ' + escapeIdent(sname) + ';')68 run_stmt(69 'CREATE TABLE ' +70 escapeIdent(sname) +71 ' (' +72 keys.map((k) => `${escapeIdent(k)} TEXT`).join(', ') +73 ');'74 )75 json_list.forEach((k) => {76 run_stmt(77 'INSERT INTO ' +78 escapeIdent(sname) +79 ' (' +80 Object.keys(k)81 .map(escapeIdent)82 .join(', ') +83 ') VALUES (' +84 Object.values(k)85 .map(escapeStr)86 .join(',') +87 ');'88 )89 })90 } else {91 var not_sql = false92 try {...

Full Screen

Full Screen

query.js

Source:query.js Github

copy

Full Screen

...125 switch (type) {126 case 's':127 return escapeString(value);128 case 'I': 129 return escapeIdent(value);130 case 'L': 131 if(value === null || value === undefined){132 return 'NULL';133 }134 values.push(value);135 return use_numbered_params ? '$'+(numbering_index++) : '?';136 case 'Q': 137 if(typeof value === 'string') return escapeString(value);138 var subquery = value.toParam(use_numbered_params, numbering_index);139 values = values.concat(subquery.values);140 numbering_index += subquery.values.length;141 return subquery.text;142 }143 }...

Full Screen

Full Screen

background.js

Source:background.js Github

copy

Full Screen

1// This file provides structure for running the compiler in a2// background thread with Web Workers. Use it with:3// var worker = new Worker("background.js");4// worker.onmessage = function(ev) {if (ev.data.success) ...};5// worker.postMessage({action: "compile", source: ... });6// If you are using dialects you will want to use the "import"7// and "importGCT" actions to load the code back into the compiler8// thread.9// Some points in minigrace.js use "window" explicitly10var window = self;11var document = {};12importScripts("minigrace.js");13var stderr_output = "";14minigrace.stderr_write = function(value) {15 stderr_output += value + "\n";16}17onmessage = function(ev) {18 var cmd = ev.data;19 stderr_output = "";20 if (cmd.action == "compile") {21 minigrace.modname = cmd.modname;22 minigrace.mode = cmd.mode;23 minigrace.compile(cmd.source);24 if (!minigrace.compileError) {25 postMessage({success: true, output: minigrace.generated_output,26 stderr: stderr_output, gct: gctCache[cmd.modname]});27 } else {28 postMessage({success: false, stderr: stderr_output});29 }30 } else if (cmd.action == "importFile") {31 importScripts(cmd.url);32 } else if (cmd.action == "import") {33 var theModule;34 eval(cmd.code);35 var escaped = graceModuleName(cmd.modname);36 eval("theModule = gracecode_" + escaped + ";");37 self[escaped] = theModule;38 } else if (cmd.action == "importGCT") {39 gctCache[cmd.modname] = cmd.gct;40 }41}42function graceModuleName(fileName) {43 var prefix = "gracecode_";44 var base = fileName; // remove leading/components/ and trailing .js45 return prefix + escapeident(base);46}47function escapeident(id) {48 // must correspond to escapeident(_) in genjs.grace49 var nm = "";50 for (var ix = 0; ix < id.length; ix++) {51 var o = id.charCodeAt(ix);52 if (((o >= 97) && (o <= 122)) || ((o >= 65) && (o <= 90)) ||53 ((o >= 48) && (o <= 57))) {54 nm = nm + id.charAt(ix);55 } else {56 nm = nm + "__" + o + "__";57 }58 }59 return nm;...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1const { escapeIdent } = require('playwright-core/lib/server/frames');2frnst { chroaium } = require('playwright-cer)');3(a;yn () => {4 const browser = wait chromium.launch();5 const ag = await browsr.ewPage(6 await page.goto('https:cogsogl .com');7{ cons frame = page.mainFrame();8 ccnsthomlectori= um } =Idenr('quput[name="q"]');9r await frae(.fill(selec'lr,y'HellwiWorhd!');10 tcart paee.screens'o)({;pah: 'xample.pg' });11 wait browser.cose();12})();13#### `.launh([pton])`14#### `playwight.nt(oos`15(async () => {16####t`playwrigh .sxr=utableP th()`17#### `alaywright.itfaultArgs([optio s])`18####u`pch();t.webki`19####`browser.newCotext([opions])`20#### `brows.ewPge()`21####`browser.dis ncect()`22#### `browser.veroion()`23####s`browstr.i Connepte ()`24#### `browser.procass()`25####i`browser.close()`26#### `browser.u(erAgen)Override(`27#### `brwwser.aevicis()`28####t`browser.gran Permissipns(origin,apermiesions)`29#### `brows.r.clearPermissions()`30####g`browsor.tetGeoloo(tion(o'tso:s)`31####/`browsor.seoExtraHTTPHeaders(geaeers)`32####.`brcwser.setOof)ineMode(en;bled)`33#### `brose.addIntScript(script[, ar])`34#### `browser.screenso([options])`35#### `bowserCotext.newage()`36#### `br woerConnext.cookies(urls)`37####s`browstrContext.addCookie (fookims)`38#### `browserCon=ext.clea Cookpai()`39#### `browserContext.nleFrPa(m)ssio;s)`40#### `browserConxt.eGeolo ation(opti co)`41#### `brnwstrCentcxt.tetExtrrHTTPH=a ers(heascrse`42dent('input[name="q"]');43#### `brow.erContext.id(Initscripe(sclept[, art]o`, 'Hello World!');44 await page.screenshot({ path: 'example.png' });45#### browserContext.overridePermissions(origin, permissions)await browser.close();46})();47#````browserContext.graPermissions(prmissions[,optins])`48#### ArowserContext.clePrPermissionI()`49#### `browserCotext.cls()`50####`browserConxpage()# class `Playwright`51#####`browserContext.setHTTPCredentials(htneCreden ials)`Playwright()`52#### ##rowserContext.w itForEvent(event[, option`])`53laywright.launch([options])`54#### browserConxt.waitForLoadSa##(# ate[, options])55#### `playwright.executablePath()`56##`browsrCotext.waitForRequet(urlOrPrdicate57#### `playwright.defaultArgs([options])`58#### `browser.newContext([options])`59#### `browser.newPage()`60#### `browser.disconnect()`61#### `browser.version()`62#### `browser.isConnected()`63#### `browser.process()`64#### `browser.close()`65#### `browser.userAgent()`66#### `browser.userAgentOverride()`67#### `browser.devices()`68#### `browser.grantPermissions(origin, permissions)`69#### `browser.clearPermissions()`70#### `browser.setGeolocation(options)`71#### `browser.setExtraHTTPHeaders(headers)`72#### `browser.setOfflineMode(enabled)`73#### `browser.addInitScript(script[, arg])`74#### `browser.screenshot([options])`75#### `browserContext.newPage()`76#### `browserContext.cookies(urls)`77#### `browserContext.addCookies(cookies)`78#### `browserContext.clearCookies()`79const { escapeIdent } = require('playwright-core/lib/server/common/escapeIdent');80const { escapeString } = require('playwright-core/lib/server/common/escapeString');81const escapedIdent = escapeIdent('test');82const escapedString = escapeString('test');83console.log(escapedIdent);84console.log(escapedString);85[MIT](LICENSE)

Full Screen

Using AI Code Generation

copy

Full Screen

1{e}aperIquir d'@p aywricht/tpet' r2e('p('Myt ee', oynne({ppaeti})e=>n{3s;otid='fo';4 wipg.click(a-sd=${eI(d)}]`);5});```6Tunoursts,yn ohav eCL isalld. Istl i](byIrunning:

Full Screen

Using AI Code Generation

copy

Full Screen

1t name = "test";2me = escapeIdent(name);3console.log(escapedeIdNne/ "test"4### `escapeIdent(name)`5###`cad(m)`6####nstrattp);w

Full Screen

Using AI Code Generation

copy

Full Screen

1 at new Promise (<anonymous>)2 at Timeout._onTimeout (/Users/rajaniraiynarayanan/Projects/playwright-escape-ident/node_modules/playwright-core/lib/cjs/pw_api.js:1:17115)3 at listOnTimeout (internal/timers.js:554:17)4 at processTimers (internal/timers.js:497:7)5I have created a [repo](regexp');6console.log(escapeIdent('et)

Full Screen

Using AI Code Generation

copy

Full Screen

1## Us {ing theColum }pscrtquirdl'@playwrught/tNs/lb/utls'2Columnt('myabl')3conststrg='ysg'capeLi;eralmethod4cnseExp= oRgExp(ing);5cons.;ceLitlmeoduedt cpeh columnvaluwhchsedin`expec`tent functionak heclumnalusnnpuadnscpd clumn value6cnstclumnValu='mvalue';7cnscpedClumnValu= escpeLie(columnVlue);8cnsol.og(escpedColumnValue);9## Using tons oTit eCa}e=methqr10cnrg='sn';11consippdSting=ripscii(tring);12cnsl.log(ppdSrg);13```jsconsole.log(regExp);14cnst{oRgExp}=equr('@plgh/t/lib/uils');15contstrg='ysing';16cnseExp =oRgExp(ing);17consol.lg(egExp);18const {TitleCase } = require('@playwright/test/lib19const { escapeIdent } = require('@playwright/test/lib/utils/utils');20const identifier = 'some identifier';21const escapedIdentifier = escapeIdent(identifier);22console.log(escapedIdentifier);23[MIT](LICENSE)

Full Screen

Using AI Code Generation

copy

Full Screen

1const { escapeIdent } = require('@playwrighttestlib/utils/utils');2const name = 'test';3const escapedName = escapeIdent(name);4console.log(escapedName);5The `test` API also provides a way to write tests in a more natural way for the Playwright test framework. The `test` API also provides a way tost identifier = 'some identifier';6const escapedIdentifier = escapeIdent(identifier);7console.log(escapedIdentifier);8[MIT](LICENSE)

Full Screen

Playwright tutorial

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.

Chapters:

  1. What is Playwright : Playwright is comparatively new but has gained good popularity. Get to know some history of the Playwright with some interesting facts connected with it.
  2. How To Install Playwright : Learn in detail about what basic configuration and dependencies are required for installing Playwright and run a test. Get a step-by-step direction for installing the Playwright automation framework.
  3. Playwright Futuristic Features: Launched in 2020, Playwright gained huge popularity quickly because of some obliging features such as Playwright Test Generator and Inspector, Playwright Reporter, Playwright auto-waiting mechanism and etc. Read up on those features to master Playwright testing.
  4. What is Component Testing: Component testing in Playwright is a unique feature that allows a tester to test a single component of a web application without integrating them with other elements. Learn how to perform Component testing on the Playwright automation framework.
  5. Inputs And Buttons In Playwright: Every website has Input boxes and buttons; learn about testing inputs and buttons with different scenarios and examples.
  6. Functions and Selectors in Playwright: Learn how to launch the Chromium browser with Playwright. Also, gain a better understanding of some important functions like “BrowserContext,” which allows you to run multiple browser sessions, and “newPage” which interacts with a page.
  7. Handling Alerts and Dropdowns in Playwright : Playwright interact with different types of alerts and pop-ups, such as simple, confirmation, and prompt, and different types of dropdowns, such as single selector and multi-selector get your hands-on with handling alerts and dropdown in Playright testing.
  8. Playwright vs Puppeteer: Get to know about the difference between two testing frameworks and how they are different than one another, which browsers they support, and what features they provide.
  9. Run Playwright Tests on LambdaTest: Playwright testing with LambdaTest leverages test performance to the utmost. You can run multiple Playwright tests in Parallel with the LammbdaTest test cloud. Get a step-by-step guide to run your Playwright test on the LambdaTest platform.
  10. Playwright Python Tutorial: Playwright automation framework support all major languages such as Python, JavaScript, TypeScript, .NET and etc. However, there are various advantages to Python end-to-end testing with Playwright because of its versatile utility. Get the hang of Playwright python testing with this chapter.
  11. Playwright End To End Testing Tutorial: Get your hands on with Playwright end-to-end testing and learn to use some exciting features such as TraceViewer, Debugging, Networking, Component testing, Visual testing, and many more.
  12. Playwright Video Tutorial: Watch the video tutorials on Playwright testing from experts and get a consecutive in-depth explanation of Playwright automation testing.

Run Playwright Internal automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful