Best JavaScript code snippet using playwright-internal
graphics-gradients-tests.js
Source:graphics-gradients-tests.js  
1YUI.add('graphics-gradients-tests', function(Y) {2    var suite = new Y.Test.Suite('graphics-gradients-tests example test suite'),3        _getClassName = Y.ClassNameManager.getClassName,4        SHAPE,5        RECT,6        CIRCLE,7        ENGINE = "vml",8        DOCUMENT = Y.config.doc,9        canvas = DOCUMENT && DOCUMENT.createElement("canvas"),10        graphicTests,11        svgTests,12        canvasTests,13        vmlTests,14        PATHNODE = "shape",15        TORGB = Y.Color.toRGB,16        TOHEX = Y.Color.toHex,17        toRGBA = function(val, alpha) {18            alpha = Y.Lang.isNumber(alpha) ? alpha : 1;19            if (!Y.Color.re_RGB.test(val)) {20                val = TOHEX(val);21            }22            if(Y.Color.re_hex.exec(val)) {23                val = 'rgba(' + [24                    parseInt(RegExp.$1, 16),25                    parseInt(RegExp.$2, 16),26                    parseInt(RegExp.$3, 16)27                ].join(',') + ',' + alpha + ')';28            }29            return val;30        },31        IMPLEMENTATION;32    if(DOCUMENT && DOCUMENT.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1"))33    {34        ENGINE = "svg";35    }36    else if(canvas && canvas.getContext && canvas.getContext("2d"))37    {38        ENGINE = "canvas";39    }40    SHAPE = "." + _getClassName(ENGINE + "Shape");41    RECT = "." + _getClassName(ENGINE + "Rect");42    CIRCLE = "." + _getClassName(ENGINE + "Circle");43    IMPLEMENTATION = {44        svg: {45            getStroke: function()46            {47                var node = this._node,48                    color = node.getAttribute("stroke"),49                    weight = node.getAttribute("stroke-width"),50                    opacity = node.getAttribute("stroke-opacity");51                color = toRGBA(TOHEX(color), opacity);52                return {53                    color: color,54                    weight: weight55                }56            },57           58            getFill: function()59            {60                var node = this._node,61                    fillNode,62                    stopNodes,63                    len,64                    i = 0,65                    stops,66                    stop,67                    stopNode,68                    offset,69                    gradientIndex,70                    tagName,71                    type,72                    color = node.getAttribute("fill"),73                    opacity = node.getAttribute("fill-opacity"),74                    fill = {};75                if(color.indexOf("url") > -1)76                {77                    color = color.slice(color.indexOf("#"), color.lastIndexOf(")"));78                    fillNode = Y.one(color);79                    if(fillNode)80                    {81                        tagName = fillNode.get("tagName");82                        if(tagName)83                        {84                            gradientIndex = tagName.indexOf("Gradient");85                            if(gradientIndex > -1)86                            {87                                type = tagName.slice(tagName.indexOf(":") + 1, gradientIndex);88                                if(type == "linear")89                                {90                                    //add rotation logic91                                }92                                else if(type == "radial")93                                {94                                    //add cx,cy,fx,fy,r logic95                                }96                            }97                            fill.type = type;98                        }99                        stopNodes = fillNode.get("children");100                        stopNodes = stopNodes ? stopNodes.filter("stop") : null;101                        if(stopNodes)102                        {   103                            len = stopNodes.size();104                            stops = [];105                            for(; i < len; i = i + 1)106                            {107                                stopNode = stopNodes.item(i);108                                stop = {};109                                if(stopNode.hasAttribute("stop-color"))110                                {111                                    stop.color = TOHEX(stopNode.getAttribute("stop-color")).toLowerCase();112                                }113                                if(stopNode.hasAttribute("offset"))114                                {115                                    offset = stopNode.getAttribute("offset");116                                    if(offset.indexOf("%") > -1)117                                    {118                                        offset = parseFloat(offset)/100;119                                    }120                                    else121                                    {122                                        offset = 1;123                                    }124                                    stop.offset = offset;125                                }126                                if(stopNode.hasAttribute("stop-opacity"))127                                {128                                    stop.opacity = stopNode.getAttribute("stop-opacity");129                                }130                                stops.push(stop);131                            }132                            fill.stops = stops;133                        }134                    }135                }136                else137                {138                    color = toRGBA(TOHEX(color), opacity);139                    fill.color = color;140                    fill.type = "solid";141                }142                return fill;143            },144            getDimensions: function(shape)145            {146                var w,147                    h,148                    node = this._node;149                switch(shape)150                {151                    case "circle" :152                        w = node.getAttribute("r") * 2;153                        h = w;154                    break;155                    case "ellipse" :156                        w = parseFloat(node.getAttribute("rx")) * 2;157                        h = parseFloat(node.getAttribute("ry")) * 2;158                    break;159                    default :160                        w = node.getAttribute("width");161                        h = node.getAttribute("height");162                    break;163                }164                return {165                    width: w,166                    height: h167                }168            }169        },170        vml: {171            getStroke: function()172            {173                var node = Y.one(this._node),174                    nodelist = node.get("children"),175                    strokeNode,176                    color,177                    weight,178                    opacity;179                if(nodelist)180                {181                    strokeNode = nodelist.filter('stroke');182                    if(strokeNode.size() > 0)183                    {184                        strokeNode = strokeNode.shift().getDOMNode();185                    }186                }187                color = node.get("strokecolor");188                weight = node.get("strokeweight");189                opacity = strokeNode ? strokeNode.opacity : 1;190                if(!Y.Lang.isNumber(opacity))191                {192                    opacity = 1;193                }194                if(color.value)195                {196                    color = color.value;197                }198                color = toRGBA(TOHEX(color), parseFloat(opacity));199                weight = Math.round(weight * (96/72));200                return {201                    color: color,202                    weight: weight203                }204            },205            206            getFill: function()207            {208                var node = this._node,209                    nodelist = Y.one(node).get("children"),210                    type,211                    fillNode,212                    color,213                    offset,214                    stops,215                    stopAttrs,216                    stopStrings,217                    opacity,218                    i = 0,219                    len,220                    fill = {};221                if(nodelist)222                {223                    fillNode = nodelist.filter("fill");224                    if(fillNode.size() > 0)225                    {226                        fillNode = fillNode.shift().getDOMNode();227                    }228                    type = fillNode.type || "solid";229                    if(type == "gradient")230                    {231                        type = "linear";232                    }233                    else if(type == "gradientRadial")234                    {235                        type = "radial";236                    }237                }238                else239                {240                    type = "solid";241                }242                switch(type)243                {244                    case "solid" :245                        color = node.get("fillcolor");246                        opacity = fillNode ? fillNode.opacity : 1;247                        if(color.value)248                        {249                            color = color.value;250                        }251                        color = toRGBA(TOHEX(color), parseFloat(opacity)); 252                        fill.color = color;253                    break;254                    case "linear" :255                        stopStrings = fillNode.colors;256                        if(stopStrings)257                        {258                            stops = [];259                            if(stopStrings.value)260                            {261                                stopStrings = stopStrings.value;262                            }263                            stopStrings = stopStrings.split(";");264                            len = stops.length;265                            for(; i < len; i = i + 1)266                            {267                                stopAttrs = stopStrings[i].split(" ");268                                offset = stopAttrs[0];269                                if(offset.indexOf("f") > -1)270                                {271                                    offset = 100 * parseFloat(offset)/65535272                                    offset = Math.round(offset)/100;273                                }274                                stops.push( {color: TOHEX(stopAttrs[1]).toLowerCase(), offset: offset} );275                            }276                            fill.stops = stops;277                        }278                    break;279                    case "radial" :280                        stopStrings = fillNode.colors;281                        if(stopStrings)282                        {283                            stops = [];284                            if(stopStrings.value)285                            {286                                stopStrings = stopStrings.value;287                            }288                            stopStrings = stopStrings.split(";");289                            len = stops.length;290                            for(; i < len; i = i + 1)291                            {292                                stopAttrs = stopStrings[i].split(" ");293                                offset = stopAttrs[0];294                                if(offset.indexOf("f") > -1)295                                {296                                    offset = 100 * parseFloat(offset)/65535297                                    offset = Math.round(offset)/100;298                                }299                                stops.push( {color: TOHEX(stopAttrs[1]).toLowerCase(), offset: offset} );300                            }301                            fill.stops = stops;302                        }303                    break;304                }305                fill.type = type;306                return fill;307            },308            getDimensions: function(shape)309            {310                var node = this._node,311                    w = parseFloat(node.getComputedStyle("width")),312                    h = parseFloat(node.getComputedStyle("height"));313                return {314                    width: w,315                    height: h316                };317            }318        },319        canvas: {320            getStroke: function()321            {322                var context = this._node.getDOMNode().getContext("2d"),323                    color = context.strokeStyle,324                    weight = context.lineWidth;325                if(color.indexOf("RGBA") > -1 || color.indexOf("rgba") > -1)326                {327                    color = color.toLowerCase();328                    color = color.replace(/, /g, ",");329                }330                else331                {332                    color = toRGBA(TOHEX(color));333                }334                return {335                    color: color,336                    weight: weight337                }338            },339            getFill: function()340            {341                var context = this._node.getDOMNode().getContext("2d"),342                    color = context.fillStyle;343                if(color.indexOf("RGBA") > -1 || color.indexOf("rgba") > -1)344                {345                    color = color.toLowerCase();346                    color = color.replace(/, /g, ",");347                }348                else349                {350                    color = toRGBA(TOHEX(color));351                }352                return {353                    color: color354                }355            },356            getDimensions: function(shape)357            {358                var node = this._node,359                    w = parseFloat(node.get("width")),360                    h = parseFloat(node.get("height")),361                    wt = this.getStroke().weight || 0;362                if(wt) {363                    wt = wt * 2;364                    w = w - wt;365                    h = h - wt;366                }367                return {368                    width: w,369                    height: h370                };371            }372        }373    };374    function ShapeNode(){}375    ShapeNode.prototype = IMPLEMENTATION[ENGINE];376    ShapeNode.one = function(node)377    {378        var instance = ShapeNode._instance;379        if(!instance)380        {381            instance = new Y.ShapeNode();382            ShapeNode._instance = instance;383        }384        instance._node = node;385        return instance;386    };387    Y.ShapeNode = ShapeNode;388    suite.add(new Y.Test.Case({389        name: "Graphics Gradient Tests",390        testGraphicsLoaded : function()391        {392            var shapes = Y.all(SHAPE);393            Y.Assert.areEqual(2, shapes.size(), "There should be 2 shapes.");394        },395        testRect: function()396        {397            var rect = Y.all(RECT).shift(),398                rectWidth = 685,399                rectHeight = 400,400                rectDimensions = Y.ShapeNode.one(rect).getDimensions("rect"),401                defaultStops = [402                    {color: "#ff6666", opacity: 1, offset: 0},403                    {color: "#00ffff", opacity: 1, offset: 0.5},404                    {color: "#000000", opacity: 1, offset: 1}405                ],406                defaultStop,407                i = 0,408                len = defaultStops.length,409                fill,410                stops,411                key,412                stop;413            Y.Assert.areEqual(rectWidth, rectDimensions.width, "The width of the rectangle should be " + rectWidth + ".");414            Y.Assert.areEqual(rectHeight, rectDimensions.height, "The height of the rectangle should be " + rectHeight + ".");415            if(ENGINE != "canvas")416            {417                fill = Y.ShapeNode.one(rect).getFill();418                stops = fill.stops;419                for(; i < len; i = i + 1)420                {421                    stop = stops[i];422                    defaultStop = defaultStops[i];423                    for(key in stop)424                    {425                        if(stop.hasOwnProperty(key))426                        {427                            Y.Assert.areEqual(defaultStop[key], stop[key], "The " + key + " value should be " + defaultStop[key] + ".");428                        }429                    }430                }431            }432        },433        testCircle: function()434        {435            var circle = Y.all(CIRCLE).shift(),436                circleWidth = 100,437                circleHeight = 100,438                circleDimensions = Y.ShapeNode.one(circle).getDimensions("circle"),439                defaultStops = [440                    {color: "#ff6666", offset: 0, opacity: 1},441                    {color: "#00ffff", offset: 0.4, opacity: 1},442                    {color: "#000000", offset: 0.7, opacity: 1}443                ],444                defaultStop,445                i = 0,446                len = defaultStops.length,447                fill,448                stops,449                key,450                stop;451            Y.Assert.areEqual(circleWidth, circleDimensions.width, "The width of the circle should be " + circleWidth + ".");452            Y.Assert.areEqual(circleHeight, circleDimensions.height, "The height of the circle should be " + circleHeight + ".");453            if(ENGINE != "canvas")454            {455                fill = Y.ShapeNode.one(circle).getFill();456                stops = fill.stops;457                for(; i < len; i = i + 1)458                {459                    stop = stops[i];460                    defaultStop = defaultStops[i];461                    if(stop && defaultStops)462                    {463                        for(key in stop)464                        {465                            if(stop.hasOwnProperty(key))466                            {467                                Y.Assert.areEqual(defaultStop[key], stop[key], "The " + key + " value should be " + defaultStop[key] + ".");468                            }469                        }470                    }471                }472            }473        }474    }));475    Y.Test.Runner.add(suite);...graphics-customshape-tests.js
Source:graphics-customshape-tests.js  
1YUI.add('graphics-customshape-tests', function(Y) {2    var suite = new Y.Test.Suite('graphics-customshape-tests example test suite'),3        _getClassName = Y.ClassNameManager.getClassName,4        SHAPE,5        ENGINE = "vml",6        ROUNDEDRECT,7        DOCUMENT = Y.config.doc,8        canvas = DOCUMENT && DOCUMENT.createElement("canvas"),9        graphicTests,10        svgTests,11        canvasTests,12        vmlTests,13        TORGB = Y.Color.toRGB,14        TOHEX = Y.Color.toHex,15        toRGBA = function(val, alpha) {16            alpha = Y.Lang.isNumber(alpha) ? alpha : 1;17            if (!Y.Color.re_RGB.test(val)) {18                val = TOHEX(val);19            }20            if(Y.Color.re_hex.exec(val)) {21                val = 'rgba(' + [22                    parseInt(RegExp.$1, 16),23                    parseInt(RegExp.$2, 16),24                    parseInt(RegExp.$3, 16)25                ].join(',') + ',' + alpha + ')';26            }27            return val;28        },29        IMPLEMENTATION;30    if(DOCUMENT && DOCUMENT.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1"))31    {32        ENGINE = "svg";33    }34    else if(canvas && canvas.getContext && canvas.getContext("2d"))35    {36        ENGINE = "canvas";37    }38    SHAPE = "." + _getClassName(ENGINE + "Shape");39    ROUNDEDRECT = "." + _getClassName("roundedRect");40    IMPLEMENTATION = {41        svg: {42            getStroke: function()43            {44                var node = this._node,45                    color = node.getAttribute("stroke"),46                    weight = node.getAttribute("stroke-width"),47                    opacity = node.getAttribute("stroke-opacity");48                color = toRGBA(TOHEX(color), opacity);49                return {50                    color: color,51                    weight: weight52                }53            },54            55            getFill: function()56            {57                var node = this._node,58                    fillNode,59                    stopNodes,60                    len,61                    i = 0,62                    stops,63                    stop,64                    stopNode,65                    offset,66                    gradientIndex,67                    tagName,68                    type,69                    color = node.getAttribute("fill"),70                    opacity = node.getAttribute("fill-opacity"),71                    fill = {};72                if(color.indexOf("url") > -1)73                {74                    color = color.slice(color.indexOf("#"), color.lastIndexOf(")"));75                    fillNode = Y.one(color);76                    if(fillNode)77                    {78                        tagName = fillNode.get("tagName");79                        if(tagName)80                        {81                            gradientIndex = tagName.indexOf("Gradient");82                            if(gradientIndex > -1)83                            {84                                type = tagName.slice(tagName.indexOf(":") + 1, gradientIndex);85                                if(type == "linear")86                                {87                                    //add rotation logic88                                }89                                else if(type == "radial")90                                {91                                    //add cx,cy,fx,fy,r logic92                                }93                            }94                            fill.type = type;95                        }96                        stopNodes = fillNode.get("children");97                        stopNodes = stopNodes ? stopNodes.filter("stop") : null;98                        if(stopNodes)99                        {   100                            len = stopNodes.size();101                            stops = [];102                            for(; i < len; i = i + 1)103                            {104                                stopNode = stopNodes.item(i);105                                stop = {};106                                if(stopNode.hasAttribute("stop-color"))107                                {108                                    stop.color = TOHEX(stopNode.getAttribute("stop-color")).toLowerCase();109                                }110                                if(stopNode.hasAttribute("offset"))111                                {112                                    offset = stopNode.getAttribute("offset");113                                    if(offset.indexOf("%") > -1)114                                    {115                                        offset = parseFloat(offset)/100;116                                    }117                                    else118                                    {119                                        offset = 1;120                                    }121                                    stop.offset = offset;122                                }123                                if(stopNode.hasAttribute("stop-opacity"))124                                {125                                    stop.opacity = stopNode.getAttribute("stop-opacity");126                                }127                                stops.push(stop);128                            }129                            fill.stops = stops;130                        }131                    }132                }133                else134                {135                    color = toRGBA(TOHEX(color), opacity);136                    fill.color = color;137                    fill.type = "solid";138                }139                return fill;140            },141            getDimensions: function(shape)142            {143                var w,144                    h,145                    node = this._node;146                switch(shape)147                {148                    case "circle" :149                        w = node.getAttribute("r") * 2;150                        h = w;151                    break;152                    case "ellipse" :153                        w = parseFloat(node.getAttribute("rx")) * 2;154                        h = parseFloat(node.getAttribute("ry")) * 2;155                    break;156                    default :157                        w = node.get("width");158                        h = node.get("height");159                    break;160                }161                return {162                    width: w,163                    height: h164                }165            }166        },167        vml: {168            getStroke: function()169            {170                var node = Y.one(this._node),171                    nodelist = node.get("children"),172                    strokeNode,173                    color,174                    weight,175                    opacity;176                if(nodelist)177                {178                    strokeNode = nodelist.filter('stroke');179                    if(strokeNode.size() > 0)180                    {181                        strokeNode = strokeNode.shift().getDOMNode();182                    }183                }184                color = node.get("strokecolor");185                weight = node.get("strokeweight");186                opacity = strokeNode ? strokeNode.opacity : 1;187                if(!Y.Lang.isNumber(opacity))188                {189                    opacity = 1;190                }191                if(color.value)192                {193                    color = color.value;194                }195                color = toRGBA(TOHEX(color), parseFloat(opacity));196                weight = Math.round(weight * (96/72));197                return {198                    color: color,199                    weight: weight200                }201            },202            getFill: function()203            {204                var node = this._node,205                    nodelist = Y.one(node).get("children"),206                    type,207                    fillNode,208                    color,209                    offset,210                    stops,211                    stopAttrs,212                    stopStrings,213                    opacity,214                    i = 0,215                    len,216                    fill = {};217                if(nodelist)218                {219                    fillNode = nodelist.filter("fill");220                    if(fillNode.size() > 0)221                    {222                        fillNode = fillNode.shift().getDOMNode();223                    }224                    type = fillNode.type || "solid";225                    if(type == "gradient")226                    {227                        type = "linear";228                    }229                    else if(type == "gradientRadial")230                    {231                        type = "radial";232                    }233                }234                else235                {236                    type = "solid";237                }238                switch(type)239                {240                    case "solid" :241                        color = node.get("fillcolor");242                        opacity = fillNode ? fillNode.opacity : 1;243                        if(color.value)244                        {245                            color = color.value;246                        }247                        color = toRGBA(TOHEX(color), parseFloat(opacity)); 248                        fill.color = color;249                    break;250                    case "linear" :251                        stopStrings = fillNode.colors;252                        if(stopStrings)253                        {254                            stops = [];255                            if(stopStrings.value)256                            {257                                stopStrings = stopStrings.value;258                            }259                            stopStrings = stopStrings.split(";");260                            len = stops.length;261                            for(; i < len; i = i + 1)262                            {263                                stopAttrs = stopStrings[i].split(" ");264                                offset = stopAttrs[0];265                                if(offset.indexOf("f") > -1)266                                {267                                    offset = 100 * parseFloat(offset)/65535268                                    offset = Math.round(offset)/100;269                                }270                                stops.push( {color: TOHEX(stopAttrs[1]).toLowerCase(), offset: offset} );271                            }272                            fill.stops = stops;273                        }274                    break;275                    case "radial" :276                        stopStrings = fillNode.colors;277                        if(stopStrings)278                        {279                            stops = [];280                            if(stopStrings.value)281                            {282                                stopStrings = stopStrings.value;283                            }284                            stopStrings = stopStrings.split(";");285                            len = stops.length;286                            for(; i < len; i = i + 1)287                            {288                                stopAttrs = stopStrings[i].split(" ");289                                offset = stopAttrs[0];290                                if(offset.indexOf("f") > -1)291                                {292                                    offset = 100 * parseFloat(offset)/65535293                                    offset = Math.round(offset)/100;294                                }295                                stops.push( {color: TOHEX(stopAttrs[1]).toLowerCase(), offset: offset} );296                            }297                            fill.stops = stops;298                        }299                    break;300                }301                fill.type = type;302                return fill;303            },304            getDimensions: function(shape)305            {306                var node = this._node,307                    w = parseFloat(node.getComputedStyle("width")),308                    h = parseFloat(node.getComputedStyle("height"));309                return {310                    width: w,311                    height: h312                };313            }314        },315        canvas: {316            getStroke: function()317            {318                var context = this._node.getDOMNode().getContext("2d"),319                    color = context.strokeStyle,320                    weight = context.lineWidth;321                if(color.indexOf("RGBA") > -1 || color.indexOf("rgba") > -1)322                {323                    color = color.toLowerCase();324                    color = color.replace(/, /g, ",");325                }326                else327                {328                    color = toRGBA(TOHEX(color));329                }330                return {331                    color: color,332                    weight: weight333                }334            },335            getFill: function()336            {337                var context = this._node.getDOMNode().getContext("2d"),338                    color = context.fillStyle;339                if(color.indexOf("RGBA") > -1 || color.indexOf("rgba") > -1)340                {341                    color = color.toLowerCase();342                    color = color.replace(/, /g, ",");343                }344                else345                {346                    color = toRGBA(TOHEX(color));347                }348                return {349                    color: color350                }351            },352            getDimensions: function(shape)353            {354                var node = this._node,355                    w = parseFloat(node.get("width")),356                    h = parseFloat(node.get("height")),357                    wt = this.getStroke().weight || 0;358                if(wt) {359                    wt = wt * 2;360                    w = w - wt;361                    h = h - wt;362                }363                return {364                    width: w,365                    height: h366                };367            }368        }369    };370    function ShapeNode(){}371    ShapeNode.prototype = IMPLEMENTATION[ENGINE];372    ShapeNode.one = function(node)373    {374        var instance = ShapeNode._instance;375        if(!instance)376        {377            instance = new Y.ShapeNode();378            ShapeNode._instance = instance;379        }380        instance._node = node;381        return instance;382    };383    Y.ShapeNode = ShapeNode;384    suite.add(new Y.Test.Case({385        name: "Graphics Path Tests",386        testGraphicsLoaded : function()387        {388            var shapes = Y.all(SHAPE),389                paths = Y.all(ROUNDEDRECT);390            Y.Assert.areEqual(1, shapes.size(), "There should be 1 shape.");391            Y.Assert.areEqual(1, paths.size(), "There should be 1 roundedRect instance.");392        },393        testCustomShape: function()394        {395            var roundRect = Y.all(ROUNDEDRECT).shift(),396                roundRectWidth = 300,397                roundRectHeight = 200,398                roundRectDimensions = Y.ShapeNode.one(roundRect).getDimensions("path"),399                defaultStops = [400                    {color: "#9aa9bb", offset: 0, opacity: 1},401                    {color: "#eeefff", offset: 0.4, opacity: 1},402                    {color: "#00000f", offset: 0.8, opacity: 1},403                    {color: "#9aa9bb", offset: 1, opacity: 1}404                ],405                defaultStop,406                i = 0,407                len = defaultStops.length,408                fill,409                stops, 410                key,411                stop;412            //Need to add logic for parsing size of path element in svg413            if(ENGINE != "svg")414            {415                Y.Assert.areEqual(roundRectWidth, roundRectDimensions.width, "The width of the roundRect should be " + roundRectWidth + ".");416                Y.Assert.areEqual(roundRectHeight, roundRectDimensions.height, "The height of the roundRect should be " + roundRectHeight + ".");417            }418            if(ENGINE != "canvas")419            {420                fill = Y.ShapeNode.one(roundRect).getFill();421                stops = fill.stops;422                for(; i < len; i = i + 1)423                {424                    stop = stops[i];425                    defaultStop = defaultStops[i];426                    if(stop && defaultStops)427                    {428                        for(key in stop)429                        {430                            if(stop.hasOwnProperty(key))431                            {432                                Y.Assert.areEqual(defaultStop[key], stop[key], "The " + key + " value should be " + defaultStop[key] + ".");433                            }434                        }435                    }436                }437            }438        }439    }));440    Y.Test.Runner.add(suite);...graphics-violin-tests.js
Source:graphics-violin-tests.js  
1YUI.add('graphics-violin-tests', function(Y) {2    var suite = new Y.Test.Suite('graphics-violin-tests example test suite'),3        _getClassName = Y.ClassNameManager.getClassName,4        SHAPE,5        ENGINE = "vml",6        ELLIPSE,7        RECT,8        PATH,9        DOCUMENT = Y.config.doc,10        canvas = DOCUMENT && DOCUMENT.createElement("canvas"),11        graphicTests,12        svgTests,13        canvasTests,14        vmlTests,15        TORGB = Y.Color.toRGB,16        TOHEX = Y.Color.toHex,17        toRGBA = function(val, alpha) {18            alpha = Y.Lang.isNumber(alpha) ? alpha : 1;19            if (!Y.Color.re_RGB.test(val)) {20                val = TOHEX(val);21            }22            if(Y.Color.re_hex.exec(val)) {23                val = 'rgba(' + [24                    parseInt(RegExp.$1, 16),25                    parseInt(RegExp.$2, 16),26                    parseInt(RegExp.$3, 16)27                ].join(',') + ',' + alpha + ')';28            }29            return val;30        },31        IMPLEMENTATION;32    if(DOCUMENT && DOCUMENT.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1"))33    {34        ENGINE = "svg";35    }36    else if(canvas && canvas.getContext && canvas.getContext("2d"))37    {38        ENGINE = "canvas";39    }40    SHAPE = "." + _getClassName(ENGINE + "Shape");41    ELLIPSE = "." + _getClassName(ENGINE + "Ellipse");42    RECT = "." + _getClassName(ENGINE + "Rect");43    PATH = "." + _getClassName(ENGINE + "Path");44    IMPLEMENTATION = {45        svg: {46            getStroke: function()47            {48                var node = this._node,49                    color = node.getAttribute("stroke"),50                    weight = node.getAttribute("stroke-width"),51                    opacity = node.getAttribute("stroke-opacity");52                color = toRGBA(TOHEX(color), opacity);53                return {54                    color: color,55                    weight: weight56                }57            },58            getFill: function()59            {60                var node = this._node,61                    fillNode,62                    stopNodes,63                    len,64                    i = 0,65                    stops,66                    stop,67                    stopNode,68                    offset,69                    gradientIndex,70                    tagName,71                    type,72                    color = node.getAttribute("fill"),73                    opacity = node.getAttribute("fill-opacity"),74                    fill = {};75                if(color.indexOf("url") > -1)76                {77                    color = color.slice(color.indexOf("#"), color.lastIndexOf(")"));78                    fillNode = Y.one(color);79                    if(fillNode)80                    {81                        tagName = fillNode.get("tagName");82                        if(tagName)83                        {84                            gradientIndex = tagName.indexOf("Gradient");85                            if(gradientIndex > -1)86                            {87                                type = tagName.slice(tagName.indexOf(":") + 1, gradientIndex);88                                if(type == "linear")89                                {90                                    //add rotation logic91                                }92                                else if(type == "radial")93                                {94                                    //add cx,cy,fx,fy,r logic95                                }96                            }97                            fill.type = type;98                        }99                        stopNodes = fillNode.get("children");100                        stopNodes = stopNodes ? stopNodes.filter("stop") : null;101                        if(stopNodes)102                        {   103                            len = stopNodes.size();104                            stops = [];105                            for(; i < len; i = i + 1)106                            {107                                stopNode = stopNodes.item(i);108                                stop = {};109                                if(stopNode.hasAttribute("stop-color"))110                                {111                                    stop.color = TOHEX(stopNode.getAttribute("stop-color")).toLowerCase();112                                }113                                if(stopNode.hasAttribute("offset"))114                                {115                                    offset = stopNode.getAttribute("offset");116                                    if(offset.indexOf("%") > -1)117                                    {118                                        offset = parseFloat(offset)/100;119                                    }120                                    else121                                    {122                                        offset = 1;123                                    }124                                    stop.offset = offset;125                                }126                                if(stopNode.hasAttribute("stop-opacity"))127                                {128                                    stop.opacity = stopNode.getAttribute("stop-opacity");129                                }130                                stops.push(stop);131                            }132                            fill.stops = stops;133                        }134                    }135                }136                else137                {138                    color = toRGBA(TOHEX(color), opacity);139                    fill.color = color;140                    fill.type = "solid";141                }142                return fill;143            },144            getDimensions: function(shape)145            {146                var w,147                    h,148                    node = this._node;149                switch(shape)150                {151                    case "circle" :152                        w = node.getAttribute("r") * 2;153                        h = w;154                    break;155                    case "ellipse" :156                        w = parseFloat(node.getAttribute("rx")) * 2;157                        h = parseFloat(node.getAttribute("ry")) * 2;158                    break;159                    default :160                        w = node.get("width");161                        h = node.get("height");162                    break;163                }164                return {165                    width: w,166                    height: h167                }168            }169        },170        vml: {171            getStroke: function()172            {173                var node = Y.one(this._node),174                    nodelist = node.get("children"),175                    strokeNode,176                    color,177                    weight,178                    opacity;179                if(nodelist)180                {181                    strokeNode = nodelist.filter('stroke');182                    if(strokeNode.size() > 0)183                    {184                        strokeNode = strokeNode.shift().getDOMNode();185                    }186                }187                color = node.get("strokecolor");188                weight = node.get("strokeweight");189                opacity = strokeNode ? strokeNode.opacity : 1;190                if(!Y.Lang.isNumber(opacity))191                {192                    opacity = 1;193                }194                if(color.value)195                {196                    color = color.value;197                }198                color = toRGBA(TOHEX(color), parseFloat(opacity));199                weight = Math.round(weight * (96/72));200                return {201                    color: color,202                    weight: weight203                }204            },205            getFill: function()206            {207                var node = this._node,208                    nodelist = Y.one(node).get("children"),209                    type,210                    fillNode,211                    color,212                    offset,213                    stops,214                    stopAttrs,215                    stopStrings,216                    opacity,217                    i = 0,218                    len,219                    fill = {};220                if(nodelist)221                {222                    fillNode = nodelist.filter("fill");223                    if(fillNode.size() > 0)224                    {225                        fillNode = fillNode.shift().getDOMNode();226                    }227                    type = fillNode.type || "solid";228                    if(type == "gradient")229                    {230                        type = "linear";231                    }232                    else if(type == "gradientRadial")233                    {234                        type = "radial";235                    }236                }237                else238                {239                    type = "solid";240                }241                switch(type)242                {243                    case "solid" :244                        color = node.get("fillcolor");245                        opacity = fillNode ? fillNode.opacity : 1;246                        if(color.value)247                        {248                            color = color.value;249                        }250                        color = toRGBA(TOHEX(color), parseFloat(opacity)); 251                        fill.color = color;252                    break;253                    case "linear" :254                        stopStrings = fillNode.colors;255                        if(stopStrings)256                        {257                            stops = [];258                            if(stopStrings.value)259                            {260                                stopStrings = stopStrings.value;261                            }262                            stopStrings = stopStrings.split(";");263                            len = stops.length;264                            for(; i < len; i = i + 1)265                            {266                                stopAttrs = stopStrings[i].split(" ");267                                offset = stopAttrs[0];268                                if(offset.indexOf("f") > -1)269                                {270                                    offset = 100 * parseFloat(offset)/65535271                                    offset = Math.round(offset)/100;272                                }273                                stops.push( {color: TOHEX(stopAttrs[1]).toLowerCase(), offset: offset} );274                            }275                            fill.stops = stops;276                        }277                    break;278                    case "radial" :279                        stopStrings = fillNode.colors;280                        if(stopStrings)281                        {282                            stops = [];283                            if(stopStrings.value)284                            {285                                stopStrings = stopStrings.value;286                            }287                            stopStrings = stopStrings.split(";");288                            len = stops.length;289                            for(; i < len; i = i + 1)290                            {291                                stopAttrs = stopStrings[i].split(" ");292                                offset = stopAttrs[0];293                                if(offset.indexOf("f") > -1)294                                {295                                    offset = 100 * parseFloat(offset)/65535296                                    offset = Math.round(offset)/100;297                                }298                                stops.push( {color: TOHEX(stopAttrs[1]).toLowerCase(), offset: offset} );299                            }300                            fill.stops = stops;301                        }302                    break;303                }304                fill.type = type;305                return fill;306            },307            getDimensions: function(shape)308            {309                var node = this._node,310                    w = parseFloat(node.getComputedStyle("width")),311                    h = parseFloat(node.getComputedStyle("height"));312                return {313                    width: w,314                    height: h315                };316            }317        },318        canvas: {319            getStroke: function()320            {321                var context = this._node.getDOMNode().getContext("2d"),322                    color = context.strokeStyle,323                    weight = context.lineWidth;324                if(color.indexOf("RGBA") > -1 || color.indexOf("rgba") > -1)325                {326                    color = color.toLowerCase();327                    color = color.replace(/, /g, ",");328                }329                else330                {331                    color = toRGBA(TOHEX(color));332                }333                return {334                    color: color,335                    weight: weight336                }337            },338            getFill: function()339            {340                var context = this._node.getDOMNode().getContext("2d"),341                    color = context.fillStyle;342                if(color.indexOf("RGBA") > -1 || color.indexOf("rgba") > -1)343                {344                    color = color.toLowerCase();345                    color = color.replace(/, /g, ",");346                }347                else348                {349                    color = toRGBA(TOHEX(color));350                }351                return {352                    color: color353                }354            },355            getDimensions: function(shape)356            {357                var node = this._node,358                    w = parseFloat(node.get("width")),359                    h = parseFloat(node.get("height")),360                    wt = this.getStroke().weight || 0;361                if(wt) {362                    wt = wt * 2;363                    w = w - wt;364                    h = h - wt;365                }366                return {367                    width: w,368                    height: h369                };370            }371        }372    };373    function ShapeNode(){}374    ShapeNode.prototype = IMPLEMENTATION[ENGINE];375    ShapeNode.one = function(node)376    {377        var instance = ShapeNode._instance;378        if(!instance)379        {380            instance = new Y.ShapeNode();381            ShapeNode._instance = instance;382        }383        instance._node = node;384        return instance;385    };386    Y.ShapeNode = ShapeNode;387    suite.add(new Y.Test.Case({388        name: "Graphics Violin Tests",389        testGraphicsLoaded : function()390        {391            var shapes = Y.all(SHAPE),392                ellipses = Y.all(ELLIPSE),393                rects = Y.all(RECT),394                paths = Y.all(PATH),395                ie = Y.UA.ie,396                numberofpaths = ie && ie < 9 ? 19 : 20,397                totalshapes = numberofpaths + 8;398            Y.Assert.areEqual(totalshapes, shapes.size(), "There should be " + totalshapes + " shape.");399            Y.Assert.areEqual(7, ellipses.size(), "There should be 7 Ellipse instance.");400            Y.Assert.areEqual(1, rects.size(), "There should be 3 Rect instances.");401            Y.Assert.areEqual(numberofpaths, paths.size(), "There should be " + numberofpaths + " Path instances.");402        }403    }));404    Y.Test.Runner.add(suite);...graphics-muddyglass-tests.js
Source:graphics-muddyglass-tests.js  
1YUI.add('graphics-muddyglass-tests', function(Y) {2    var suite = new Y.Test.Suite('graphics-muddyglass-tests example test suite'),3        _getClassName = Y.ClassNameManager.getClassName,4        SHAPE,5        ENGINE = "vml",6        ELLIPSE,7        RECT,8        DOCUMENT = Y.config.doc,9        canvas = DOCUMENT && DOCUMENT.createElement("canvas"),10        graphicTests,11        svgTests,12        canvasTests,13        vmlTests,14        TORGB = Y.Color.toRGB,15        TOHEX = Y.Color.toHex,16        toRGBA = function(val, alpha) {17            alpha = Y.Lang.isNumber(alpha) ? alpha : 1;18            if (!Y.Color.re_RGB.test(val)) {19                val = TOHEX(val);20            }21            if(Y.Color.re_hex.exec(val)) {22                val = 'rgba(' + [23                    parseInt(RegExp.$1, 16),24                    parseInt(RegExp.$2, 16),25                    parseInt(RegExp.$3, 16)26                ].join(',') + ',' + alpha + ')';27            }28            return val;29        },30        IMPLEMENTATION;31    if(DOCUMENT && DOCUMENT.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1"))32    {33        ENGINE = "svg";34    }35    else if(canvas && canvas.getContext && canvas.getContext("2d"))36    {37        ENGINE = "canvas";38    }39    SHAPE = "." + _getClassName(ENGINE + "Shape");40    ELLIPSE = "." + _getClassName(ENGINE + "Ellipse");41    RECT = "." + _getClassName(ENGINE + "Rect");42    IMPLEMENTATION = {43        svg: {44            getStroke: function()45            {46                var node = this._node,47                    color = node.getAttribute("stroke"),48                    weight = node.getAttribute("stroke-width"),49                    opacity = node.getAttribute("stroke-opacity");50                color = toRGBA(TOHEX(color), opacity);51                return {52                    color: color,53                    weight: weight54                }55            },56            getFill: function()57            {58                var node = this._node,59                    fillNode,60                    stopNodes,61                    len,62                    i = 0,63                    stops,64                    stop,65                    stopNode,66                    offset,67                    gradientIndex,68                    tagName,69                    type,70                    color = node.getAttribute("fill"),71                    opacity = node.getAttribute("fill-opacity"),72                    fill = {};73                if(color.indexOf("url") > -1)74                {75                    color = color.slice(color.indexOf("#"), color.lastIndexOf(")"));76                    fillNode = Y.one(color);77                    if(fillNode)78                    {79                        tagName = fillNode.get("tagName");80                        if(tagName)81                        {82                            gradientIndex = tagName.indexOf("Gradient");83                            if(gradientIndex > -1)84                            {85                                type = tagName.slice(tagName.indexOf(":") + 1, gradientIndex);86                                if(type == "linear")87                                {88                                    //add rotation logic89                                }90                                else if(type == "radial")91                                {92                                    //add cx,cy,fx,fy,r logic93                                }94                            }95                            fill.type = type;96                        }97                        stopNodes = fillNode.get("children");98                        stopNodes = stopNodes ? stopNodes.filter("stop") : null;99                        if(stopNodes)100                        {   101                            len = stopNodes.size();102                            stops = [];103                            for(; i < len; i = i + 1)104                            {105                                stopNode = stopNodes.item(i);106                                stop = {};107                                if(stopNode.hasAttribute("stop-color"))108                                {109                                    stop.color = TOHEX(stopNode.getAttribute("stop-color")).toLowerCase();110                                }111                                if(stopNode.hasAttribute("offset"))112                                {113                                    offset = stopNode.getAttribute("offset");114                                    if(offset.indexOf("%") > -1)115                                    {116                                        offset = parseFloat(offset)/100;117                                    }118                                    else119                                    {120                                        offset = 1;121                                    }122                                    stop.offset = offset;123                                }124                                if(stopNode.hasAttribute("stop-opacity"))125                                {126                                    stop.opacity = stopNode.getAttribute("stop-opacity");127                                }128                                stops.push(stop);129                            }130                            fill.stops = stops;131                        }132                    }133                }134                else135                {136                    color = toRGBA(TOHEX(color), opacity);137                    fill.color = color;138                    fill.type = "solid";139                }140                return fill;141            },142            getDimensions: function(shape)143            {144                var w,145                    h,146                    node = this._node;147                switch(shape)148                {149                    case "circle" :150                        w = node.getAttribute("r") * 2;151                        h = w;152                    break;153                    case "ellipse" :154                        w = parseFloat(node.getAttribute("rx")) * 2;155                        h = parseFloat(node.getAttribute("ry")) * 2;156                    break;157                    default :158                        w = node.get("width");159                        h = node.get("height");160                    break;161                }162                return {163                    width: w,164                    height: h165                }166            }167        },168        vml: {169            getStroke: function()170            {171                var node = Y.one(this._node),172                    nodelist = node.get("children"),173                    strokeNode,174                    color,175                    weight,176                    opacity;177                if(nodelist)178                {179                    strokeNode = nodelist.filter('stroke');180                    if(strokeNode.size() > 0)181                    {182                        strokeNode = strokeNode.shift().getDOMNode();183                    }184                }185                color = node.get("strokecolor");186                weight = node.get("strokeweight");187                opacity = strokeNode ? strokeNode.opacity : 1;188                if(!Y.Lang.isNumber(opacity))189                {190                    opacity = 1;191                }192                if(color.value)193                {194                    color = color.value;195                }196                color = toRGBA(TOHEX(color), parseFloat(opacity));197                weight = Math.round(weight * (96/72));198                return {199                    color: color,200                    weight: weight201                }202            },203            getFill: function()204            {205                var node = this._node,206                    nodelist = Y.one(node).get("children"),207                    type,208                    fillNode,209                    color,210                    offset,211                    stops,212                    stopAttrs,213                    stopStrings,214                    opacity,215                    i = 0,216                    len,217                    fill = {};218                if(nodelist)219                {220                    fillNode = nodelist.filter("fill");221                    if(fillNode.size() > 0)222                    {223                        fillNode = fillNode.shift().getDOMNode();224                    }225                    type = fillNode.type || "solid";226                    if(type == "gradient")227                    {228                        type = "linear";229                    }230                    else if(type == "gradientRadial")231                    {232                        type = "radial";233                    }234                }235                else236                {237                    type = "solid";238                }239                switch(type)240                {241                    case "solid" :242                        color = node.get("fillcolor");243                        opacity = fillNode ? fillNode.opacity : 1;244                        if(color.value)245                        {246                            color = color.value;247                        }248                        color = toRGBA(TOHEX(color), parseFloat(opacity)); 249                        fill.color = color;250                    break;251                    case "linear" :252                        stopStrings = fillNode.colors;253                        if(stopStrings)254                        {255                            stops = [];256                            if(stopStrings.value)257                            {258                                stopStrings = stopStrings.value;259                            }260                            stopStrings = stopStrings.split(";");261                            len = stops.length;262                            for(; i < len; i = i + 1)263                            {264                                stopAttrs = stopStrings[i].split(" ");265                                offset = stopAttrs[0];266                                if(offset.indexOf("f") > -1)267                                {268                                    offset = 100 * parseFloat(offset)/65535269                                    offset = Math.round(offset)/100;270                                }271                                stops.push( {color: TOHEX(stopAttrs[1]).toLowerCase(), offset: offset} );272                            }273                            fill.stops = stops;274                        }275                    break;276                    case "radial" :277                        stopStrings = fillNode.colors;278                        if(stopStrings)279                        {280                            stops = [];281                            if(stopStrings.value)282                            {283                                stopStrings = stopStrings.value;284                            }285                            stopStrings = stopStrings.split(";");286                            len = stops.length;287                            for(; i < len; i = i + 1)288                            {289                                stopAttrs = stopStrings[i].split(" ");290                                offset = stopAttrs[0];291                                if(offset.indexOf("f") > -1)292                                {293                                    offset = 100 * parseFloat(offset)/65535294                                    offset = Math.round(offset)/100;295                                }296                                stops.push( {color: TOHEX(stopAttrs[1]).toLowerCase(), offset: offset} );297                            }298                            fill.stops = stops;299                        }300                    break;301                }302                fill.type = type;303                return fill;304            },305            getDimensions: function(shape)306            {307                var node = this._node,308                    w = parseFloat(node.getComputedStyle("width")),309                    h = parseFloat(node.getComputedStyle("height"));310                return {311                    width: w,312                    height: h313                };314            }315        },316        canvas: {317            getStroke: function()318            {319                var context = this._node.getDOMNode().getContext("2d"),320                    color = context.strokeStyle,321                    weight = context.lineWidth;322                if(color.indexOf("RGBA") > -1 || color.indexOf("rgba") > -1)323                {324                    color = color.toLowerCase();325                    color = color.replace(/, /g, ",");326                }327                else328                {329                    color = toRGBA(TOHEX(color));330                }331                return {332                    color: color,333                    weight: weight334                }335            },336            getFill: function()337            {338                var context = this._node.getDOMNode().getContext("2d"),339                    color = context.fillStyle;340                if(color.indexOf("RGBA") > -1 || color.indexOf("rgba") > -1)341                {342                    color = color.toLowerCase();343                    color = color.replace(/, /g, ",");344                }345                else346                {347                    color = toRGBA(TOHEX(color));348                }349                return {350                    color: color351                }352            },353            getDimensions: function(shape)354            {355                var node = this._node,356                    w = parseFloat(node.get("width")),357                    h = parseFloat(node.get("height")),358                    wt = this.getStroke().weight || 0;359                if(wt) {360                    wt = wt * 2;361                    w = w - wt;362                    h = h - wt;363                }364                return {365                    width: w,366                    height: h367                };368            }369        }370    };371    function ShapeNode(){}372    ShapeNode.prototype = IMPLEMENTATION[ENGINE];373    ShapeNode.one = function(node)374    {375        var instance = ShapeNode._instance;376        if(!instance)377        {378            instance = new Y.ShapeNode();379            ShapeNode._instance = instance;380        }381        instance._node = node;382        return instance;383    };384    Y.ShapeNode = ShapeNode;385    suite.add(new Y.Test.Case({386        name: "Graphics Transparent Glass Tests",387        testGraphicsLoaded : function()388        {389            var shapes = Y.all(SHAPE),390                ellipses = Y.all(ELLIPSE),391                rects = Y.all(RECT);392            Y.Assert.areEqual(4, shapes.size(), "There should be 1 shape.");393            Y.Assert.areEqual(1, ellipses.size(), "There should be 1 Ellipse instance.");394            Y.Assert.areEqual(3, rects.size(), "There should be 3 Rect instances.");395        }396    }));397    Y.Test.Runner.add(suite);...Stemmer.gs
Source:Stemmer.gs  
1/**2* MIT3* https://github.com/words/lancaster-stemmer/blob/master/LICENSE4*/5var Stemmer = (function (ns) {6  7  var STOP = -1;8  var INTACT = 0;9  var CONTINUE = 1;10  var PROTECT = 2;11  var VOWELS = /[aeiouy]/;12  var rules;13  14  const init = function () {15    16    rules = {17      a: [18        {match: 'ia', replacement: '', type: INTACT},19        {match: 'a', replacement: '', type: INTACT}20      ],21      b: [{match: 'bb', replacement: 'b', type: STOP}],22      c: [23        {match: 'ytic', replacement: 'ys', type: STOP},24        {match: 'ic', replacement: '', type: CONTINUE},25        {match: 'nc', replacement: 'nt', type: CONTINUE}26      ],27      d: [28        {match: 'dd', replacement: 'd', type: STOP},29        {match: 'ied', replacement: 'y', type: CONTINUE},30        {match: 'ceed', replacement: 'cess', type: STOP},31        {match: 'eed', replacement: 'ee', type: STOP},32        {match: 'ed', replacement: '', type: CONTINUE},33        {match: 'hood', replacement: '', type: CONTINUE}34      ],35      e: [{match: 'e', replacement: '', type: CONTINUE}],36      f: [37        {match: 'lief', replacement: 'liev', type: STOP},38        {match: 'if', replacement: '', type: CONTINUE}39      ],40      g: [41        {match: 'ing', replacement: '', type: CONTINUE},42        {match: 'iag', replacement: 'y', type: STOP},43        {match: 'ag', replacement: '', type: CONTINUE},44        {match: 'gg', replacement: 'g', type: STOP}45      ],46      h: [47        {match: 'th', replacement: '', type: INTACT},48        {match: 'guish', replacement: 'ct', type: STOP},49        {match: 'ish', replacement: '', type: CONTINUE}50      ],51      i: [52        {match: 'i', replacement: '', type: INTACT},53        {match: 'i', replacement: 'y', type: CONTINUE}54      ],55      j: [56        {match: 'ij', replacement: 'id', type: STOP},57        {match: 'fuj', replacement: 'fus', type: STOP},58        {match: 'uj', replacement: 'ud', type: STOP},59        {match: 'oj', replacement: 'od', type: STOP},60        {match: 'hej', replacement: 'her', type: STOP},61        {match: 'verj', replacement: 'vert', type: STOP},62        {match: 'misj', replacement: 'mit', type: STOP},63        {match: 'nj', replacement: 'nd', type: STOP},64        {match: 'j', replacement: 's', type: STOP}65      ],66      l: [67        {match: 'ifiabl', replacement: '', type: STOP},68        {match: 'iabl', replacement: 'y', type: STOP},69        {match: 'abl', replacement: '', type: CONTINUE},70        {match: 'ibl', replacement: '', type: STOP},71        {match: 'bil', replacement: 'bl', type: CONTINUE},72        {match: 'cl', replacement: 'c', type: STOP},73        {match: 'iful', replacement: 'y', type: STOP},74        {match: 'ful', replacement: '', type: CONTINUE},75        {match: 'ul', replacement: '', type: STOP},76        {match: 'ial', replacement: '', type: CONTINUE},77        {match: 'ual', replacement: '', type: CONTINUE},78        {match: 'al', replacement: '', type: CONTINUE},79        {match: 'll', replacement: 'l', type: STOP}80      ],81      m: [82        {match: 'ium', replacement: '', type: STOP},83        {match: 'um', replacement: '', type: INTACT},84        {match: 'ism', replacement: '', type: CONTINUE},85        {match: 'mm', replacement: 'm', type: STOP}86      ],87      n: [88        {match: 'sion', replacement: 'j', type: CONTINUE},89        {match: 'xion', replacement: 'ct', type: STOP},90        {match: 'ion', replacement: '', type: CONTINUE},91        {match: 'ian', replacement: '', type: CONTINUE},92        {match: 'an', replacement: '', type: CONTINUE},93        {match: 'een', replacement: '', type: PROTECT},94        {match: 'en', replacement: '', type: CONTINUE},95        {match: 'nn', replacement: 'n', type: STOP}96      ],97      p: [98        {match: 'ship', replacement: '', type: CONTINUE},99        {match: 'pp', replacement: 'p', type: STOP}100      ],101      r: [102        {match: 'er', replacement: '', type: CONTINUE},103        {match: 'ear', replacement: '', type: PROTECT},104        {match: 'ar', replacement: '', type: STOP},105        {match: 'ior', replacement: '', type: CONTINUE},106        {match: 'or', replacement: '', type: CONTINUE},107        {match: 'ur', replacement: '', type: CONTINUE},108        {match: 'rr', replacement: 'r', type: STOP},109        {match: 'tr', replacement: 't', type: CONTINUE},110        {match: 'ier', replacement: 'y', type: CONTINUE}111      ],112      s: [113        {match: 'ies', replacement: 'y', type: CONTINUE},114        {match: 'sis', replacement: 's', type: STOP},115        {match: 'is', replacement: '', type: CONTINUE},116        {match: 'ness', replacement: '', type: CONTINUE},117        {match: 'ss', replacement: '', type: PROTECT},118        {match: 'ous', replacement: '', type: CONTINUE},119        {match: 'us', replacement: '', type: INTACT},120        {match: 's', replacement: '', type: CONTINUE},121        {match: 's', replacement: '', type: STOP}122      ],123      t: [124        {match: 'plicat', replacement: 'ply', type: STOP},125        {match: 'at', replacement: '', type: CONTINUE},126        {match: 'ment', replacement: '', type: CONTINUE},127        {match: 'ent', replacement: '', type: CONTINUE},128        {match: 'ant', replacement: '', type: CONTINUE},129        {match: 'ript', replacement: 'rib', type: STOP},130        {match: 'orpt', replacement: 'orb', type: STOP},131        {match: 'duct', replacement: 'duc', type: STOP},132        {match: 'sumpt', replacement: 'sum', type: STOP},133        {match: 'cept', replacement: 'ceiv', type: STOP},134        {match: 'olut', replacement: 'olv', type: STOP},135        {match: 'sist', replacement: '', type: PROTECT},136        {match: 'ist', replacement: '', type: CONTINUE},137        {match: 'tt', replacement: 't', type: STOP}138      ],139      u: [140        {match: 'iqu', replacement: '', type: STOP},141        {match: 'ogu', replacement: 'og', type: STOP}142      ],143      v: [144        {match: 'siv', replacement: 'j', type: CONTINUE},145        {match: 'eiv', replacement: '', type: PROTECT},146        {match: 'iv', replacement: '', type: CONTINUE}147      ],148      y: [149        {match: 'bly', replacement: 'bl', type: CONTINUE},150        {match: 'ily', replacement: 'y', type: CONTINUE},151        {match: 'ply', replacement: '', type: PROTECT},152        {match: 'ly', replacement: '', type: CONTINUE},153        {match: 'ogy', replacement: 'og', type: STOP},154        {match: 'phy', replacement: 'ph', type: STOP},155        {match: 'omy', replacement: 'om', type: STOP},156        {match: 'opy', replacement: 'op', type: STOP},157        {match: 'ity', replacement: '', type: CONTINUE},158        {match: 'ety', replacement: '', type: CONTINUE},159        {match: 'lty', replacement: 'l', type: STOP},160        {match: 'istry', replacement: '', type: STOP},161        {match: 'ary', replacement: '', type: CONTINUE},162        {match: 'ory', replacement: '', type: CONTINUE},163        {match: 'ify', replacement: '', type: STOP},164        {match: 'ncy', replacement: 'nt', type: CONTINUE},165        {match: 'acy', replacement: '', type: CONTINUE}166      ],167      z: [168        {match: 'iz', replacement: '', type: CONTINUE},169        {match: 'yz', replacement: 'ys', type: STOP}170      ]171    };172  };173  174  ns.getStem = function (value) {175    return applyRules(String(value).toLowerCase(), true);176  }177  178  function applyRules(value, isIntact) {179    // first time used180    if (!rules) init();181    var ruleset = rules[value.charAt(value.length - 1)];182    var breakpoint;183    var index;184    var length;185    var rule;186    var next;187    188    if (!ruleset) {189      return value;190    }191    192    index = -1;193    length = ruleset.length;194    195    while (++index < length) {196      rule = ruleset[index];197      198      if (!isIntact && rule.type === INTACT) {199        continue;200      }201      202      breakpoint = value.length - rule.match.length;203      204      if (breakpoint < 0 || value.substr(breakpoint) !== rule.match) {205        continue;206      }207      208      if (rule.type === PROTECT) {209        return value;210      }211      212      next = value.substr(0, breakpoint) + rule.replacement;213      214      if (!acceptable(next)) {215        continue;216      }217      218      if (rule.type === CONTINUE) {219        return applyRules(next, false);220      }221      222      return next;223    }224    225    return value;226  }227  228  /* Detect if a value is acceptable to return, or should229  * be stemmed further. */230  function acceptable(value) {231    return VOWELS.test(value.charAt(0)) ?232      value.length > 1 : value.length > 2 && VOWELS.test(value);233  }234  return ns;...jsintro.js
Source:jsintro.js  
...7    $('.right .txt').css({ 'opacity': '0' });8    $('.left .txt').css({ 'opacity': '0' });9    //value¿¡ ¸¶¿ì½º¿À¹ö½Ã txt¶ß°Ô10    $('.left').mouseover(function () {11        $('.right .txt').stop(true).animate({ 'opacity': '1' }, 500, 'linear');12        $('.right .title').stop(true).animate({ 'opacity': '0' }, 500, 'linear');13    });14    $('.left').mouseout(function () {15        $('.right .txt').stop(true).animate({ 'opacity': '0' }, 500, 'linear');16        $('.right .title').stop(true).animate({ 'opacity': '1' }, 500, 'linear');17    });18    //mission¿¡ ¸¶¿ì½º¿À¹ö½Ã txt¶ß°Ô19    $('.right').mouseover(function () {20        $('.left .txt').stop(true).animate({ 'opacity': '1' }, 500, 'linear');21        $('.left .title').stop(true).animate({ 'opacity': '0' }, 500, 'linear');22    });23    $('.right').mouseout(function () {24        $('.left .txt').stop(true).animate({ 'opacity': '0' }, 500, 'linear');25        $('.left .title').stop(true).animate({ 'opacity': '1' }, 500, 'linear');26    });27    //°¡Ä¡ ´·¶À»¶§28    $('.mission_btn').click(function(){29    $('.mission_btn').css({ 'font-size': '18px', 'font-weight': '400' });30    $('.space_btn').css({ 'font-size': '16px', 'font-weight': '300' });31    $('#i1').show();32    $('#i2').hide();33    $('.bg').hide();34    $('.left .txt').hide();35    $('.right .txt').hide();36    });37    //Àü½Ã°ü ´·¶À»¶§38    $('.space_btn').click(function () { 39    $('.mission_btn').css({ 'font-size': '16px', 'font-weight': '300' });40    $('.space_btn').css({ 'font-size': '18px', 'font-weight': '400' });41    $('#i1').hide();42    $('#i2').show();43    $('.bg').show();44    });45    //f2¸¦ ÃʱⰪÀ¸·Î46    $('#map1').show();47    $('#map2').hide();48    $('#i2 .floor .2f').stop(true).animate({49        'fontSize': '25px',50        'fontWeight': '500'51    });52    //2f´©¸£¸é map1ÀÌ ³ª¿À°ÔÇϱâ53    $('#i2 .floor .2f').click(function () {54        $('#map1').show();55        $('#map2').hide();56        $('#i2 .floor .2f').stop(true).animate({57            'fontSize': '25px',58            'fontWeight': '500'59        });60        $('#i2 .floor .3f').stop(true).animate({61            'fontSize': '18px',62            'fontWeight': '200'63        });64    });65    //3f´©¸£¸é map2ÀÌ ³ª¿À°ÔÇϱâ66    $('#i2 .floor .3f').click(function () {67        $('#map1').hide();68        $('#map2').show();69        $('#i2 .floor .2f').stop(true).animate({70            'fontSize': '18px',71            'fontWeight': '200'72        });73        $('#i2 .floor .3f').stop(true).animate({74            'fontSize': '25px',75            'fontWeight': '500'76        });77    });78    //map1 js79    // ºÐÈ«¿¡ ¸¶¿ì½º¿À¹ö½Ã ±ÛÀÚº¯È80    $('#map1 .f1').mouseover(function () {81        $('#map1 .txt1').stop(true).animate({82            'backgroundColor': '#c18e5d',83            'color': '#fff'84        }, 300, 'linear'),85        $('#map1 .txt .txt1 h2').stop(true).animate({86            'fontSize': '22px',87            'color': '#fff'88        }, 300, 'linear');89    });90    $('#map1 .f1').mouseout(function () {91        $('#map1 .txt1').stop(true).animate({92            'backgroundColor': 'rgba(0, 0, 0, 0.00)',93            'color': '#000'94        }, 300, 'linear'),95        $('#map1 .txt .txt1 h2').stop(true).animate({96            'fontSize': '20px',97            'color': '#c18e5d'98        }, 300, 'linear');99    });100    // ¿¬µÎ¿¡ ¸¶¿ì½º¿À¹ö½Ã ±ÛÀÚº¯È101    $('#map1 .f2').mouseover(function () {102        $('#map1 .txt2').stop(true).animate({103            'backgroundColor': '#9abd8f',104            'color': '#fff'105        }, 300, 'linear'),106        $('#map1 .txt .txt2 h2').stop(true).animate({107            'fontSize': '22px',108            'color': '#fff'109        }, 300, 'linear');110    });111    $('#map1 .f2').mouseout(function () {112        $('#map1 .txt2').stop(true).animate({113            'backgroundColor': 'rgba(0, 0, 0, 0.00)',114            'color': '#000'115        }, 300, 'linear'),116        $('#map1 .txt .txt2 h2').stop(true).animate({117            'fontSize': '20px',118            'color': '#9abd8f'119        }, 300, 'linear');120    });121    // ³ë·©¿¡ ¸¶¿ì½º¿À¹ö½Ã ±ÛÀÚº¯È122    $('#map1 .f3').mouseover(function () {123        $('#map1 .txt3').stop(true).animate({124            'backgroundColor': '#dce66b',125            'color': '#fff'126        }, 300, 'linear'),127        $('#map1 .txt .txt3 h2').stop(true).animate({128            'fontSize': '22px',129            'color': '#fff'130        }, 300, 'linear');131    });132    $('#map1 .f3').mouseout(function () {133        $('#map1 .txt3').stop(true).animate({134            'backgroundColor': 'rgba(0, 0, 0, 0.00)',135            'color': '#000'136        }, 300, 'linear'),137        $('#map1 .txt .txt3 h2').stop(true).animate({138            'fontSize': '20px',139            'color': '#dce66b'140        }, 300, 'linear');141    });142    //map2 js143    // ÆÄ¶û¿¡ ¸¶¿ì½º¿À¹ö½Ã ±ÛÀÚº¯È144    $('#map2 .f1').mouseover(function () {145        $('#map2 .txt1').stop(true).animate({146            'backgroundColor': '#98b1bf',147            'color': '#fff'148        }, 300, 'linear'),149        $('#map2 .txt .txt1 h2').stop(true).animate({150            'fontSize': '22px',151            'color': '#fff'152        }, 300, 'linear');153    });154    $('#map2 .f1').mouseout(function () {155        $('#map2 .txt1').stop(true).animate({156            'backgroundColor': 'rgba(0, 0, 0, 0.00)',157            'color': '#000'158        }, 300, 'linear'),159        $('#map2 .txt .txt1 h2').stop(true).animate({160            'fontSize': '20px',161            'color': '#98b1bf'162        }, 300, 'linear');163    });164    // ³ë·©¿¡ ¸¶¿ì½º¿À¹ö½Ã ±ÛÀÚº¯È165    $('#map2 .f2').mouseover(function () {166        $('#map2 .txt2').stop(true).animate({167            'backgroundColor': '#f1d882',168            'color': '#fff'169        }, 300, 'linear'),170        $('#map2 .txt .txt2 h2').stop(true).animate({171            'fontSize': '22px',172            'color': '#fff'173        }, 300, 'linear');174    });175    $('#map2 .f2').mouseout(function () {176        $('#map2 .txt2').stop(true).animate({177            'backgroundColor': 'rgba(0, 0, 0, 0.00)',178            'color': '#000'179        }, 300, 'linear'),180        $('#map2 .txt .txt2 h2').stop(true).animate({181            'fontSize': '20px',182            'color': '#f1d882'183        }, 300, 'linear');184    });185    // ¿¬µÎ¿¡ ¸¶¿ì½º¿À¹ö½Ã ±ÛÀÚº¯È186    $('#map2 .f3').mouseover(function () {187        $('#map2 .txt3').stop(true).animate({188            'backgroundColor': '#a5c6b8',189            'color': '#fff'190        }, 300, 'linear'),191        $('#map2 .txt .txt3 h2').stop(true).animate({192            'fontSize': '22px',193            'color': '#fff'194        }, 300, 'linear');195    });196    $('#map2 .f3').mouseout(function () {197        $('#map2 .txt3').stop(true).animate({198            'backgroundColor': 'rgba(0, 0, 0, 0.00)',199            'color': '#000'200        }, 300, 'linear'),201        $('#map2 .txt .txt3 h2').stop(true).animate({202            'fontSize': '20px',203            'color': '#a5c6b8'204        }, 300, 'linear');205    });...YEP_StopMapMovement.js
Source:YEP_StopMapMovement.js  
1//=============================================================================2// Yanfly Engine Plugins - Stop Map Movement3// YEP_StopMapMovement.js4//=============================================================================5var Imported = Imported || {};6Imported.YEP_StopMapMovement = true;7var Yanfly = Yanfly || {};8Yanfly.Stop = Yanfly.Stop || {};9//=============================================================================10 /*:11 * @plugindesc v1.01 A utility plugin to stop events from automatically12 * moving by themselves all across your map.13 * @author Yanfly Engine Plugins14 *15 * @param Stop During Events16 * @desc Stop automatic movement during events?17 * NO - false     YES - true18 * @default true19 *20 * @param Stop During Message21 * @desc Stop automatic movement during message displaying?22 * NO - false     YES - true23 * @default true24 *25 * @help26 * ============================================================================27 * Introduction28 * ============================================================================29 *30 * A feature that was removed from RPG Maker 2000 and RPG Maker 2003 was the31 * Stop Event Movement event. This event prevented events from automatically32 * moving by themselves, so they don't intrude on cutscenes, catch up to the33 * player during messages, etc.34 *35 * This plugin recreates that feature in the form of a plugin command for you36 * to use with RPG Maker MV!37 *38 * ============================================================================39 * Plugin Commands40 * ============================================================================41 *42 * You can use the following plugin commands to produce the following effects:43 *44 * Plugin Command45 *46 *   StopEventMovement47 *   Stops events from automatically moving by themselves. You can still move48 *   events through movement routes set by your active event.49 *50 *   AllowEventMovement51 *   Allows events to move automatically by themselves again. If you have any52 *   of the plugin parameters disabling events from moving during either events53 *   or messages, this will not bypass it.54 *55 *   StopPlayerMovement56 *   Stops player from being able to move via input. You can still move the57 *   player through movement routes set by your active event.58 *59 *   AllowPlayerMovement60 *   Allows player to move again via input.61 *62 * ============================================================================63 * Changelog64 * ============================================================================65 *66 * Version 1.01:67 * - Optimized updating performance to reduce lag on maps with many events.68 *69 * Version 1.00:70 * - Finished Plugin!71 */72//=============================================================================73//=============================================================================74// Parameter Variables75//=============================================================================76Yanfly.Parameters = PluginManager.parameters('YEP_StopMapMovement');77Yanfly.Param = Yanfly.Param || {};78Yanfly.Param.StopEvent = eval(String(Yanfly.Parameters['Stop During Events']));79Yanfly.Param.StopMsg = eval(String(Yanfly.Parameters['Stop During Message']));80//=============================================================================81// Game_Temp82//=============================================================================83Game_Temp.prototype.stopMapEventMovement = function() {84    this._stopMapEvents = true;85};86Game_Temp.prototype.stopMapPlayerMovement = function() {87    this._stopMapPlayer = true;88};89Game_Temp.prototype.allowMapEventMovement = function() {90    this._stopMapEvents = false;91};92Game_Temp.prototype.allowMapPlayerMovement = function() {93    this._stopMapPlayer = false;94};95Game_Temp.prototype.isStopMapEventMovement = function() {96    return this._stopMapEvents;97};98Game_Temp.prototype.isStopMapPlayerMovement = function() {99    return this._stopMapPlayer;100};101//=============================================================================102// Game_Player103//=============================================================================104Yanfly.Stop.Game_Player_canMove = Game_Player.prototype.canMove;105Game_Player.prototype.canMove = function() {106    if ($gameTemp.isStopMapPlayerMovement()) return false;107    return Yanfly.Stop.Game_Player_canMove.call(this);108};109//=============================================================================110// Game_Event111//=============================================================================112Yanfly.Stop.Game_Event_updateSelfMovement =113    Game_Event.prototype.updateSelfMovement;114Game_Event.prototype.updateSelfMovement = function() {115    if (this.preventSelfMovement()) return;116    Yanfly.Stop.Game_Event_updateSelfMovement.call(this);117};118Game_Event.prototype.preventSelfMovement = function() {119    if (this._moveType === 0) return true;120    if ($gameTemp.isStopMapEventMovement()) return true;121    if (Yanfly.Param.StopMsg && $gameMessage.isBusy()) return true;122    if (Yanfly.Param.StopEvent && $gameMap.isEventRunQuick()) return true;123    return false;124};125//=============================================================================126// Game_Map127//=============================================================================128Game_Map.prototype.isEventRunQuick = function() {129    return this._interpreter.isRunning() || this.isAnyEventStartingQuick();130};131Game_Map.prototype.isAnyEventStartingQuick = function() {132    var max = this._events.length;133    for (var i = 0; i < max; ++i) {134      var ev = this._events[i];135      if (ev && ev.isStarting()) return true;136    }137    return false;138};139//=============================================================================140// Game_Interpreter141//=============================================================================142Yanfly.Stop.Game_Interpreter_pluginCommand =143    Game_Interpreter.prototype.pluginCommand;144Game_Interpreter.prototype.pluginCommand = function(command, args) {145  Yanfly.Stop.Game_Interpreter_pluginCommand.call(this, command, args)146  if (command === 'StopEventMovement') $gameTemp.stopMapEventMovement();147  if (command === 'AllowEventMovement') $gameTemp.allowMapEventMovement();148  if (command === 'StopPlayerMovement') $gameTemp.stopMapPlayerMovement();149  if (command === 'AllowPlayerMovement') $gameTemp.allowMapPlayerMovement();150};151//=============================================================================152// End of File...connectivity.js
Source:connectivity.js  
1var exec = require('cordova/exec'),2    connectivity = module.exports;3/**4 * This enum represents appfeel-connectivity plugin events5 * @const6 */7connectivity.EVENTS = {8  onReachabilityChanged : "appfeel.connectivity.onReachabilityChanged"9};10/**11 * This enum represents the observer that raised the change event.12 * @const13 */14connectivity.OBSERVER = {15  HOST: 'HOST',16  INTERNET: 'INTERNET',17  LOCALWIFI: 'LOCALWIFI'18}19/**20 * This enum represents connectivity interface. Use it to know the interface that changed his status returned by each event.21 * @const22 */23connectivity.INTERFACE = {24  DISCONNECTED: 'DISCONNECTED',25  WIFI: 'WIFI',26  WIMAX: 'WIMAX',27  ETHERNET: 'ETHERNET',28  MOBILE: 'MOBILE',29  UNDEFINED: 'UNDEFINED'30};31/**32 * Default host name for observeRemoteHostName33 * @const34 */35connectivity.DEFAULT_HOSTNAME = "www.google.com";36/**37 * Observes changes of connectivity to a given hostname.38 *39 * @param {!Object}    hostName         (Optional) Name of the host to observe. Default www.google.com40 * @param {Boolean}    stopAllObservers (Optional) Stop any existing observer. Default false41 * @param {function()} successCallback  (Optional) Callback on success42 * @param {function()} failureCallback  (Optional) Callback on fail43 */44connectivity.observeRemoteHostName = function (hostName, stopAllObservers, successCallback, failureCallback) {45  if (typeof hostName === 'function') {46    failureCallback = stopAllObservers;47    successCallback = hostName;48    hostName = connectivity.DEFAULT_HOSTNAME;49    50  } else if (typeof stopAllObservers === 'function') {51    failureCallback = successCallback;52    successCallback = stopAllObservers;53    stopAllObservers = false;54  }55  56  hostName = hostName || "http://www.google.com";57  58  if (typeof hostName === 'string' && hostName.length > 0) {59    cordova.exec(successCallback, failureCallback, 'connectivity', 'observeRemoteHostName', [{60      hostName: hostName,61      stopAllObservers: stopAllObservers62    }]);63    64  } else {65    if (typeof failureCallback === 'function') {66      failureCallback('hostName must be a non zero string.')67    }68  }69};70/**71 * Observes changes of connectivity to a given ip v4.72 *73 * @param {!Object}    ipv4             (Required) IP v4 to observe. Ex: 192.168.1.074 * @param {Boolean}    stopAllObservers (Optional) Stop any existing observer. Default false75 * @param {function()} successCallback  (Optional) Callback on success76 * @param {function()} failureCallback  (Optional) Callback on fail77 */78connectivity.observeRemoteIPV4 = function (ipv4, stopAllObservers, successCallback, failureCallback) {79  if (typeof ipv4 === 'function') {80    failureCallback = stopAllObservers;81    successCallback = ipv4;82    ipv4 = undefined;83    84  } else if (typeof stopAllObservers === 'function') {85    failureCallback = successCallback;86    successCallback = stopAllObservers;87    stopAllObservers = false;88  }89  90  if (typeof ipv4 === 'string' && ipv4.length > 0) {91    cordova.exec(successCallback, failureCallback, 'connectivity', 'observeRemoteIP', [{92      ipv4: ipv4,93      stopAllObservers: stopAllObservers94    }]);95    96  } else {97    if (typeof failureCallback === 'function') {98      failureCallback('ipv4 must be a non zero string.')99    }100  }101};102/**103 * Observes changes of connectivity to a given ip v6.104 *105 * @param {!Object}    ipv6             (Required) IP v6 to observe. Ex: ::ffff:192.168.1.0106 * @param {Boolean}    stopAllObservers (Optional) Stop any existing observer. Default false107 * @param {function()} successCallback  (Optional) Callback on success108 * @param {function()} failureCallback  (Optional) Callback on fail109 */110connectivity.observeRemoteIPV6 = function (ipv6, stopAllObservers, successCallback, failureCallback) {111  if (typeof ipv6 === 'function') {112    failureCallback = stopAllObservers;113    successCallback = ipv6;114    ipv6 = undefined;115    116  } else if (typeof stopAllObservers === 'function') {117    failureCallback = successCallback;118    successCallback = stopAllObservers;119    stopAllObservers = false;120  }121  122  if (typeof ipv6 === 'string' && ipv6.length > 0) {123    cordova.exec(successCallback, failureCallback, 'connectivity', 'observeRemoteIP', [{124      ipv6: ipv6,125      stopAllObservers: stopAllObservers126    }]);127    128  } else {129    if (typeof failureCallback === 'function') {130      failureCallback('ipv6 must be a non zero string.')131    }132  }133};134/**135 * Observes changes of connectivity to local wifi.136 *137 * @param {Boolean}    stopAllObservers (Optional) Stop any existing observer. Default false138 * @param {function()} successCallback  (Optional) Callback on success139 * @param {function()} failureCallback  (Optional) Callback on fail140 */141connectivity.observeLocalWifi = function (stopAllObservers, successCallback, failureCallback) {142  if (typeof stopAllObservers === 'function') {143    failureCallback = successCallback;144    successCallback = stopAllObservers;145    stopAllObservers = false;146  }147  148  cordova.exec(successCallback, failureCallback, 'connectivity', 'observeLocalWifi', [{149    stopAllObservers: stopAllObservers150  }]);151};152/**153 * Observes changes of connectivity to internet connection.154 *155 * @param {Boolean}    stopAllObservers (Optional) Stop any existing observer. Default false156 * @param {function()} successCallback  (Optional) Callback on success157 * @param {function()} failureCallback  (Optional) Callback on fail158 */159connectivity.observeInternetConnection = function (stopAllObservers, successCallback, failureCallback) {160  if (typeof stopAllObservers === 'function') {161    failureCallback = successCallback;162    successCallback = stopAllObservers;163    stopAllObservers = false;164  }165  166  cordova.exec(successCallback, failureCallback, 'connectivity', 'observeInternetConnection', [{167    stopAllObservers: stopAllObservers168  }]);169};170/**171 * Stop any existing observer.172 *173 * @param {function()} successCallback  (Optional) Callback on success174 * @param {function()} failureCallback  (Optional) Callback on fail175 */176connectivity.stopAllObservers = function (successCallback, failureCallback) {177  cordova.exec(successCallback, failureCallback, 'connectivity', 'stopAllObservers', []);...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('input[aria-label="Search"]', 'playwright');7    await page.press('input[aria-label="Search"]', 'Enter');8    await page.screenshot({ path: `example.png` });9    await browser.close();10})();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.screenshot({ path: `example.png` });7  await browser.stop();8})();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.screenshot({ path: `example.png` });7    await browser.close();8})();Using AI Code Generation
1(async () => {2    const {chromium} = require('playwright');3    const browser = await chromium.launch({headless: false});4    const context = await browser.newContext();5    const page = await context.newPage();6    await page.screenshot({path: 'google.png'});7    await browser.close();8})();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.screenshot({ path: `example.png` });6  await browser.close();7})();8const { chromium } = require('playwright');9(async () => {10  const browser = await chromium.launch();11  const page = await browser.newPage();12  await page.screenshot({ path: `example.png` });13  await browser.close();14})();15const { chromium } = require('playwright');16(async () => {17  const browser = await chromium.launch();18  const page = await browser.newPage();19  await page.screenshot({ path: `example.png` });20  await browser.close();21})();22const { chromium } = require('playwright');23(async () => {24  const browser = await chromium.launch();25  const page = await browser.newPage();26  await page.screenshot({ path: `example.png` });27  await browser.close();28})();29const { chromium } = require('playwright');30(async () => {31  const browser = await chromium.launch();32  const page = await browser.newPage();33  await page.screenshot({ path: `example.png` });34  await browser.close();35})();36const { chromium } = require('playwright');37(async () => {38  const browser = await chromium.launch();39  const page = await browser.newPage();40  await page.screenshot({ path: `example.png` });41  await browser.close();42})();43const { chromium } = require('playwright');44(async () => {45  const browser = await chromium.launch();Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3  const browser = await chromium.launch();4  const context = await browser.newContext();5  await context.route('**/*', route => {6    if (route.request().url().includes('test')) {7      route.abort();8    } else {9      route.continue();10    }11  });12  const page = await context.newPage();13  page.on('request', request => console.log(request.url()));14  await browser.close();15})();Using AI Code Generation
1const { chromium } = require('playwright');2const { createServer } = require('http');3const server = createServer((req, res) => {4    res.end('Hello world!');5});6(async () => {7    await server.listen(3000);8    const browser = await chromium.launch();9    const context = await browser.newContext();10    const page = await context.newPage();11    await server.stop();12    await browser.close();13})();14const { chromium } = require('playwright');15const { createServer } = require('http');16const server = createServer((req, res) => {17    res.end('Hello world!');18});19(async () => {20    await server.listen(3000);21    const browser = await chromium.launch();22    const context = await browser.newContext();23    const page = await context.newPage();24    await server.stop();25    await browser.close();26})();27const { chromium } = require('playwright');28const { createServer } = require('http');29const server = createServer((req, res) => {30    res.end('Hello world!');31});32(async () => {33    await server.listen(3000);34    const browser = await chromium.launch();35    const context = await browser.newContext();36    const page = await context.newPage();37    await server.stop();38    await browser.close();39})();40const { chromium } = require('playwright');41const { createServer } = require('http');42const server = createServer((req, res) => {43    res.end('Hello world!');44});45(async () => {46    await server.listen(3000);47    const browser = await chromium.launch();48    const context = await browser.newContext();49    const page = await context.newPage();50    await server.stop();51    await browser.close();52})();Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3  const browser = await chromium.launchServer();4  await browser.stop();5})();6const { chromium } = require('playwright');7(async () => {8  const browser = await chromium.launchServer();9  await browser.stop();10})();11const { chromium } = require('playwright');12(async () => {13  const browser = await chromium.launchServer();14  await browser.stop();15})();16const { chromium } = require('playwright');17(async () => {18  const browser = await chromium.launchServer();19  await browser.stop();20})();21const { chromium } = require('playwright');22(async () => {23  const browser = await chromium.launchServer();24  await browser.stop();25})();26const { chromium } = require('playwright');27(async () => {28  const browser = await chromium.launchServer();29  await browser.stop();30})();31const { chromium } = require('playwright');32(async () => {33  const browser = await chromium.launchServer();34  await browser.stop();35})();36const { chromium } = require('playwright');37(async () => {38  const browser = await chromium.launchServer();39  await browser.stop();40})();41const { chromium } = require('playwright');42(async () => {43  const browser = await chromium.launchServer();44  await browser.stop();45})();46const { chromium } = require('playwright');47(async () => {48  const browser = await chromium.launchServer();49  await browser.stop();50})();51const { chromium } = require('playwright');52(async () => {53  const browser = await chromium.launchServer();54  await browser.stop();55})();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!!
