Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db

Why you should do it regularly:
https://github.com/browserslist/browserslist#browsers-data-updating
Running "eslint:test" (eslint) task

Running "connect:server" (connect) task
Started connect web server on http://localhost:9001

Running "mochaChrome:yui" (mochaChrome) task
 * Tone.js r10 *



  src/accessibility/describe.js
    describe documentation
      ✓ example #1 works (41ms)
      ✓ example #2 works
    describeElement documentation
      ✓ example #1 works
  src/accessibility/outputs.js
    textOutput documentation
      ✓ example #1 works
      ✓ example #2 works
    gridOutput documentation
      ✓ example #1 works
      ✓ example #2 works
  src/color/creating_reading.js
    alpha documentation
      ✓ example #1 works
    blue documentation
      ✓ example #1 works
    brightness documentation
      ✓ example #1 works
      ✓ example #2 works
    color documentation
      ✓ example #1 works
      ✓ example #2 works
      ✓ example #3 works
      ✓ example #4 works
      ✓ example #5 works
      ✓ example #6 works
      ✓ example #7 works
      ✓ example #8 works
    green documentation
75
      ✓ example #1 works
    hue documentation
      ✓ example #1 works
    lerpColor documentation
      ✓ example #1 works
    lightness documentation
      ✓ example #1 works
    red documentation
255
      ✓ example #1 works
0.4980392156862745
      ✓ example #2 works
    saturation documentation
      ✓ example #1 works
  src/color/p5.Color.js
    toString documentation
      ✓ example #1 works
      ✓ example #2 works
    setRed documentation
      ✓ example #1 works
    setGreen documentation
      ✓ example #1 works
    setBlue documentation
      ✓ example #1 works
    setAlpha documentation
      ✓ example #1 works
  src/color/setting.js
    background documentation
      ✓ example #1 works
      ✓ example #2 works
      ✓ example #3 works
      ✓ example #4 works
      ✓ example #5 works
      ✓ example #6 works
      ✓ example #7 works
      ✓ example #8 works
      ✓ example #9 works
      ✓ example #10 works
      ✓ example #11 works
    clear documentation
      ✓ example #1 works
    colorMode documentation
      ✓ example #1 works (82ms)
      ✓ example #2 works (62ms)
      ✓ example #3 works
      ✓ example #4 works
    fill documentation
      ✓ example #1 works
      ✓ example #2 works
      ✓ example #3 works
      ✓ example #4 works
      ✓ example #5 works
      ✓ example #6 works
      ✓ example #7 works
      ✓ example #8 works
      ✓ example #9 works
      ✓ example #10 works
      ✓ example #11 works
    noFill documentation
      ✓ example #1 works
      ✓ example #2 works
    noStroke documentation
      ✓ example #1 works
      ✓ example #2 works (52ms)
    stroke documentation
      ✓ example #1 works
      ✓ example #2 works
      ✓ example #3 works
      ✓ example #4 works
      ✓ example #5 works
      ✓ example #6 works
      ✓ example #7 works
      ✓ example #8 works
      ✓ example #9 works
      ✓ example #10 works
      ✓ example #11 works
    erase documentation
      ✓ example #1 works
      ✓ example #2 works
      ✓ example #3 works (75ms)
    noErase documentation
      ✓ example #1 works
  src/core/shape/2d_primitives.js
    arc documentation
      ✓ example #1 works
      ✓ example #2 works
      ✓ example #3 works
      ✓ example #4 works
      ✓ example #5 works
    ellipse documentation
      ✓ example #1 works
    circle documentation
      ✓ example #1 works
    line documentation
      ✓ example #1 works
      ✓ example #2 works
    point documentation
      ✓ example #1 works
      ✓ example #2 works
      ✓ example #3 works
    quad documentation
      ✓ example #1 works
    rect documentation
      ✓ example #1 works
      ✓ example #2 works
      ✓ example #3 works
    square documentation
      ✓ example #1 works
      ✓ example #2 works
      ✓ example #3 works
    triangle documentation
      ✓ example #1 works
  src/core/shape/attributes.js
    ellipseMode documentation
      ✓ example #1 works
      ✓ example #2 works
    noSmooth documentation
      ✓ example #1 works
    rectMode documentation
      ✓ example #1 works
      ✓ example #2 works
    smooth documentation
      ✓ example #1 works
    strokeCap documentation
      ✓ example #1 works
    strokeJoin documentation
      ✓ example #1 works
      ✓ example #2 works
      ✓ example #3 works
    strokeWeight documentation
      ✓ example #1 works
      ✓ example #2 works
  src/core/shape/curves.js
    bezier documentation
      ✓ example #1 works
      ✓ example #2 works
    bezierDetail documentation
      ✓ example #1 works (44ms)
    bezierPoint documentation
      ✓ example #1 works
    bezierTangent documentation
      ✓ example #1 works
      ✓ example #2 works
    curve documentation
      ✓ example #1 works
      ✓ example #2 works
      ✓ example #3 works
    curveDetail documentation
      ✓ example #1 works (112ms)
    curveTightness documentation
      ✓ example #1 works
    curvePoint documentation
      ✓ example #1 works
    curveTangent documentation
      ✓ example #1 works
  src/core/shape/vertex.js
    beginContour documentation
      ✓ example #1 works
    beginShape documentation
      ✓ example #1 works
      ✓ example #2 works
      ✓ example #3 works
      ✓ example #4 works
      ✓ example #5 works
      ✓ example #6 works
      ✓ example #7 works
      ✓ example #8 works
      ✓ example #9 works
      ✓ example #10 works
      ✓ example #11 works
    bezierVertex documentation
      ✓ example #1 works
      ✓ example #2 works
      ✓ example #3 works (115ms)
    curveVertex documentation
      ✓ example #1 works
    endContour documentation
      ✓ example #1 works
    endShape documentation
      ✓ example #1 works
    quadraticVertex documentation
      ✓ example #1 works
      ✓ example #2 works
    vertex documentation
      ✓ example #1 works
      ✓ example #2 works (92ms)
      ✓ example #3 works (92ms)
      ✓ example #4 works
      ✓ example #5 works (112ms)
    normal documentation
      ✓ example #1 works
  src/core/constants.js
    HALF_PI documentation
      ✓ example #1 works
    PI documentation
      ✓ example #1 works
    QUARTER_PI documentation
      ✓ example #1 works
    TAU documentation
      ✓ example #1 works
    TWO_PI documentation
      ✓ example #1 works
    DEGREES documentation
      ✓ example #1 works
    RADIANS documentation
      ✓ example #1 works
  src/core/environment.js
    print documentation
The value of x is 10
      ✓ example #1 works
    frameCount documentation
      ✓ example #1 works
    deltaTime documentation
      ✓ example #1 works
    focused documentation
      ✓ example #1 works
    cursor documentation
      ✓ example #1 works
    frameRate documentation
      ✓ example #1 works
    noCursor documentation
      ✓ example #1 works
    displayWidth documentation
      ✓ example #1 works
    displayHeight documentation
      ✓ example #1 works
    windowWidth documentation
      ✓ example #1 works
    windowHeight documentation
      ✓ example #1 works
    windowResized documentation
      ✓ example #1 works
    fullscreen documentation
      ✓ example #1 works
    pixelDensity documentation
      ✓ example #1 works
      ✓ example #2 works
    displayDensity documentation
      ✓ example #1 works
    getURL documentation
      ✓ example #1 works
    getURLPath documentation
      ✓ example #1 works
  src/core/main.js
    preload documentation
      ✓ example #1 works
    setup documentation
      ✓ example #1 works
    draw documentation
      ✓ example #1 works
    remove documentation
      ✓ example #1 works
  src/core/p5.Element.js
    elt documentation
      ✓ example #1 works
    parent documentation
      ✓ example #1 works
      ✓ example #2 works
    id documentation
      ✓ example #1 works
    class documentation
      ✓ example #1 works
    mousePressed documentation
      ✓ example #1 works
    doubleClicked documentation
      ✓ example #1 works
    mouseWheel documentation
      ✓ example #1 works
    mouseReleased documentation
      ✓ example #1 works
    mouseClicked documentation
      ✓ example #1 works
    mouseMoved documentation
      ✓ example #1 works
    mouseOver documentation
      ✓ example #1 works
    mouseOut documentation
      ✓ example #1 works
    touchStarted documentation
      ✓ example #1 works
    touchMoved documentation
      ✓ example #1 works
    touchEnded documentation
      ✓ example #1 works
    dragOver documentation
      ✓ example #1 works
    dragLeave documentation
      ✓ example #1 works
  src/core/p5.Graphics.js
    reset documentation
      ✓ example #1 works (199ms)
    remove documentation
      ✓ example #1 works
      ✓ example #2 works
  src/core/reference.js
    let documentation
2
1
      ✓ example #1 works
    const documentation
my favorite number is: 7
      ✓ example #1 works
[ 'lion', 'tiger', 'panther', 'leopard' ]
      ✓ example #2 works
{ hello: 2, bye: 1 }
      ✓ example #3 works
    === documentation
true
false
      ✓ example #1 works
    > documentation
true
false
      ✓ example #1 works
    >= documentation
true
true
      ✓ example #1 works
    < documentation
true
false
      ✓ example #1 works
    <= documentation
true
true
      ✓ example #1 works
    if-else documentation
positive
      ✓ example #1 works
    function documentation
Hello Hridi!
      ✓ example #1 works
25
      ✓ example #2 works
    return documentation
16
      ✓ example #1 works
    boolean documentation
boolean
      ✓ example #1 works
    string documentation
string
      ✓ example #1 works
    number documentation
number
      ✓ example #1 works
    object documentation
Ursula K Le Guin
      ✓ example #1 works
    class documentation
1
      ✓ example #1 works
    for documentation
0
1
2
3
4
5
6
7
8
      ✓ example #1 works
    while documentation
4
3
2
1
0
      ✓ example #1 works
    stringify documentation
{"x":5,"y":6}
string
      ✓ example #1 works
    log documentation
5
17
      ✓ example #1 works
  src/core/rendering.js
    createCanvas documentation
      ✓ example #1 works
    resizeCanvas documentation
      ✓ example #1 works
    noCanvas documentation
      ✓ example #1 works
    createGraphics documentation
      ✓ example #1 works
    blendMode documentation
      ✓ example #1 works
      ✓ example #2 works
    drawingContext documentation
      ✓ example #1 works
  src/core/structure.js
    noLoop documentation
      ✓ example #1 works
      ✓ example #2 works
    loop documentation
      ✓ example #1 works
    isLooping documentation
      ✓ example #1 works
    push documentation
      ✓ example #1 works
      ✓ example #2 works
    pop documentation
      ✓ example #1 works
      ✓ example #2 works
    redraw documentation
      ✓ example #1 works
      ✓ example #2 works
    p5 documentation
      ✓ example #1 works
  src/core/transform.js
    applyMatrix documentation
      ✓ example #1 works (99ms)
      ✓ example #2 works (98ms)
      ✓ example #3 works (98ms)
      ✓ example #4 works (98ms)
      ✓ example #5 works
      ✓ example #6 works
    resetMatrix documentation
      ✓ example #1 works
    rotate documentation
      ✓ example #1 works
    rotateX documentation
      ✓ example #1 works (115ms)
    rotateY documentation
      ✓ example #1 works (110ms)
    rotateZ documentation
      ✓ example #1 works (112ms)
    scale documentation
      ✓ example #1 works
      ✓ example #2 works
    shearX documentation
      ✓ example #1 works
    shearY documentation
      ✓ example #1 works
    translate documentation
      ✓ example #1 works
      ✓ example #2 works
      ✓ example #3 works
  src/data/local_storage.js
    storeItem documentation
      ✓ example #1 works
    getItem documentation
      ✓ example #1 works
    clearStorage documentation
10
false
null
null
      ✓ example #1 works
    removeItem documentation
10
null
      ✓ example #1 works
  src/data/p5.TypedDict.js
    createStringDict documentation
true
true
      ✓ example #1 works
    createNumberDict documentation
true
true
      ✓ example #1 works
    size documentation
3
      ✓ example #1 works
    hasKey documentation
true
      ✓ example #1 works
    get documentation
true
      ✓ example #1 works
    set documentation
key:p5 value:JS
      ✓ example #1 works
    create documentation
key:p5 value:js
key:happy value:coding
      ✓ example #1 works
    clear documentation
true
false
      ✓ example #1 works
    remove documentation
key:p5 value:js
key:happy value:coding
key:happy value:coding
      ✓ example #1 works
    print documentation
key:p5 value:js
key:happy value:coding
      ✓ example #1 works
    saveTable documentation
      ✓ example #1 works
    saveJSON documentation
      ✓ example #1 works
    add documentation
7
      ✓ example #1 works
    sub documentation
3
      ✓ example #1 works
    mult documentation
8
      ✓ example #1 works
    div documentation
4
      ✓ example #1 works
    minValue documentation
-10
      ✓ example #1 works
    maxValue documentation
3
      ✓ example #1 works
    minKey documentation
1.2
      ✓ example #1 works
    maxKey documentation
4
      ✓ example #1 works
  src/dom/dom.js
    select documentation
      ✓ example #1 works
      ✓ example #2 works
    selectAll documentation
      ✓ example #1 works
[]
      ✓ example #2 works
    removeElements documentation
      ✓ example #1 works
    changed documentation
      ✓ example #1 works
      ✓ example #2 works
    input documentation
      ✓ example #1 works
    createDiv documentation
      ✓ example #1 works
    createP documentation
      ✓ example #1 works
    createSpan documentation
      ✓ example #1 works
    createImg documentation
      ✓ example #1 works
    createA documentation
      ✓ example #1 works
    createSlider documentation
      ✓ example #1 works
      ✓ example #2 works
    createButton documentation
      ✓ example #1 works
    createCheckbox documentation
      ✓ example #1 works
    createSelect documentation
      ✓ example #1 works
      ✓ example #2 works
    createRadio documentation
      ✓ example #1 works

      ✓ example #2 works
    createColorPicker documentation
      ✓ example #1 works
      ✓ example #2 works
    createInput documentation
      ✓ example #1 works
    createFileInput documentation
      ✓ example #1 works
    createVideo documentation
      ✓ example #1 works
    createAudio documentation

🌸 p5.js says: The media that tried to play (with 'http://localhost:9001/docs/reference/assets/small.mp4') wasn't allowed to by this browser, most likely due to the browser's autoplay policy. Check out https://developer.mozilla.org/docs/Web/Media/Autoplay_guide for more information about why.
      ✓ example #1 works
    createElement documentation
      ✓ example #1 works
    addCl<response clipped><NOTE>Due to the max output limit, only part of the full response has been shown to you.</NOTE>ng
    p5.prototype.split
      ✓ should be a function
      ✓ should return correct index of match strings
    p5.prototype.splitTokens
      ✓ should be a function
      ✓ should return correct index of match strings
    p5.prototype.trim
      ✓ should be a function
      ✓ should return correct strings
  time and date
    p5.prototype.year
      ✓ should be a function
      ✓ should return this year
    p5.prototype.day
      ✓ should be a function
      ✓ should return todays day
    p5.prototype.month
      ✓ should be a function
      ✓ should return today's month
    p5.prototype.hour
      ✓ should be a function
      ✓ should return this hour
    p5.prototype.second
      ✓ should be a function
      ✓ should return this second
    p5.prototype.minute
      ✓ should be a function
      ✓ should return a number that is this minute
    p5.prototype.millis
      ✓ should be a function
      ✓ result should be a number
      ✓ result should be greater than running time (51ms)
      ✓ result should be > newResult (51ms)
  3D Primitives
    p5.prototype.plane
      ✓ should be a function
      ✓ no friendly-err-msg. missing height param #1. (90ms)
      ✓ wrong param type at #0
      ✓ no friendly-err-msg. no parameters (84ms)
    p5.prototype.box
      ✓ should be a function
      ✓ wrong param type at #0 and #2
      ✓ no friendly-err-msg. missing height, depth; param #1, #2. (86ms)
      ✓ no friendly-err-msg. missing depth param #2. (92ms)
      ✓ no friendly-err-msg. no parameters (90ms)
    p5.prototype.sphere
      ✓ should be a function
      ✓ wrong param type at #0
      ✓ no friendly-err-msg. no parameters (110ms)
    p5.prototype.cylinder
      ✓ should be a function
      ✓ wrong param type at #0
      ✓ no friendly-err-msg. missing height; param #1 (84ms)
      - wrong param type at #4
      ✓ no friendly-err-msg. no parameters (84ms)
    p5.prototype.cone
      ✓ should be a function
      ✓ wrong param type at #0 and #1
      ✓ no friendly-err-msg. missing height; param #1 (84ms)
      - wrong param type at #4
      ✓ no friendly-err-msg. no parameters (83ms)
    p5.prototype.ellipsoid
      ✓ should be a function
      ✓ wrong param type at #0 and #1
      ✓ no friendly-err-msg. missing param #1 #2 (90ms)

      ✓ no friendly-err-msg. no parameters (92ms)
    p5.prototype.torus

      ✓ should be a function

      ✓ wrong param type at #0

      ✓ no friendly-err-msg. missing param #1 (96ms)

      ✓ no friendly-err-msg. no parameters (112ms)
    p5.RendererGL.prototype.ellipse
      ✓ should be a function
      ✓ no friendly-err-msg (87ms)
      ✓ missing param #2
      ✓ missing param #2
      ✓ wrong param type at #0
Cannot apply a stroke to an ellipse with more than 50 detail
      ✓ no friendly-err-msg. detail parameter > 50
    p5.RendererGL.prototype.arc
      ✓ should be a function
      ✓ no friendly-err-msg (88ms)
      ✓ missing param #4, #5
      ✓ wrong param type at #0
Cannot apply a stroke to an arc with more than 50 detail
      ✓ no friendly-err-msg. detail parameter > 50
      ✓ no friendly-err-msg. default mode (90ms)
  Interaction
    p5.prototype.orbitControl
      ✓ should be a function
      ✓ missing params. no friendly-err-msg

      ✓ wrong param type #0
    p5.prototype.debugMode

      ✓ should be a function

      ✓ missing params. no friendly-err-msg

      ✓ wrong param type #0

      ✓ wrong param type #2

      ✓ wrong param type #2
    p5.prototype.noDebugMode

      ✓ should be a function
  p5.Matrix
    construction
      ✓ new p5.Matrix()
      ✓ new p5.Matrix(array)
      ✓ new p5.Matrix(mat3)
      ✓ identity()
    set
      ✓ p5.Matrix
      ✓ array
      ✓ arguments
    get / copy
      ✓ get
      ✓ copy
    mult
      ✓ self
      ✓ p5.Matrix
      ✓ array
      ✓ arguments
    apply
      ✓ self
      ✓ p5.Matrix
      ✓ array
      ✓ arguments
    scale
      ✓ p5.Vector
      ✓ array
      ✓ arguments
    rotate
      ✓ p5.Vector
      ✓ array
      ✓ arguments
  p5.Camera
    createCamera()

      ✓ creates a p5.Camera object

      ✓ createCamera attaches p5.Camera to renderer
    Rotation

      ✓ Pan() with positive parameter sets correct matrix w/o changing     eyeXYZ or upXYZ

      ✓ Pan() with negative parameter sets correct matrix w/o changing     eyeXYZ or upXYZ

      ✓ Pan(0) sets correct matrix w/o changing eyeXYZ or upXYZ

      ✓ Tilt() with positive parameter sets correct Matrix w/o     changing eyeXYZ

      ✓ Tilt() with negative parameter sets correct matrix w/o     changing eyeXYZ

      ✓ Tilt(0) sets correct matrix w/o changing eyeXYZ

      ✓ LookAt() should set centerXYZ without changing eyeXYZ or     upXYZ
    Rotation with angleMode(DEGREES)

      ✓ Pan() with positive parameter sets correct matrix w/o changing     eyeXYZ or upXYZ

      ✓ Tilt() with positive parameter sets correct Matrix w/o     changing eyeXYZ
    Position / Orientation

      ✓ Move() with positive parameters sets correct matrix

      ✓ Move() with negative parameters sets correct matrix

      ✓ Move(0,0,0) sets correct matrix

      ✓ SetPosition() with positive parameters sets correct matrix

      ✓ SetPosition() with negative parameters sets correct matrix

      ✓ SetPosition(0,0,0) sets correct matrix

      ✓ _orbit(1,0,0) sets correct matrix

      ✓ _orbit(0,1,0) sets correct matrix

      ✓ _orbit(0,0,1) sets correct matrix

      ✓ _orbit(-1,0,0) sets correct matrix

      ✓ _orbit(0,-1,0) sets correct matrix

      ✓ _orbit(0,0,-1) sets correct matrix

      ✓ _orbit() ensures altitude phi <= PI

      ✓ _orbit() ensures altitude phi > 0
      ✓ _orbit() ensures radius > 0
      Camera()
        ✓ Camera() with positive parameters sets eye, center, and       up XYZ properties
        ✓ Camera() with negative parameters sets eye, center, and       up XYZ properties
    Projection
      ortho()
        ✓ ortho() sets renderer uPMatrix
        ✓ ortho() sets projection matrix correctly

        ✓ ortho() with no parameters specified (sets default)

        ✓ ortho() with sets cameraType to custom
      perspective()

        ✓ perspective() sets renderer uPMatrix

        ✓ perspective() sets projection matrix correctly

        ✓ perspective() with no parameters specified (sets default)

        ✓ perspective() with no parameters sets cameraType to default
      frustum()

        ✓ frustum() sets renderer uPMatrix

        ✓ frustum() sets projection matrix correctly

        ✓ frustum() with no parameters specified (sets default)

        ✓ frustum() sets cameraType to custom
    Helper Functions

      ✓ copy() returns a new p5.Camera object

      ✓ _getLocalAxes() returns three normalized, orthogonal vectors
    RendererGL Current Camera

      ✓ _isActive() returns true for a camera created with createCamera(),     and false for another p5.Camera

      ✓ setCamera() correctly sets RendererGL current camera

      ✓ Camera's Renderer is correctly set after setAttributes
  p5.RendererGL
    createCanvas(w, h, WEBGL)

      ✓ creates a p5.RendererGL renderer
    default stroke shader
      ✓ check activate and deactivating fill and stroke
    push() and pop() work in WEBGL Mode

      ✓ push/pop and translation works as expected in WEBGL Mode

      ✓ push/pop and directionalLight() works

      ✓ push/pop and ambientLight() works

      ✓ push/pop and pointLight() works

      ✓ push/pop and specularColor() works

      ✓ push/pop and spotLight() works

      ✓ push/pop and noLights() works

      ✓ push/pop and texture() works

      ✓ push/pop and shader() works with fill

      ✓ push/pop builds/unbuilds stack properly
    loadpixels()

      ✓ loadPixels color check

      ✓ get() singlePixel color and size, with loadPixels
    get()

      ✓ get() size check

      ✓ get() can create p5.Image

      ✓ get() singlePixel color and size
    GL Renderer clear()


      ✓ webgl graphics background draws into webgl canvas (198ms)


      1) transparent GL graphics with GL canvas


      ✓ clear color with rgba arguments


      2) semi-transparent GL graphics with GL canvas

      ✓ webgl graphics background draws into 2D canvas

      3) transparent GL graphics with 2D canvas

      4) semi-transparent GL graphics with 2D canvas
    blendMode()

      ✓ blendMode sets _curBlendMode correctly

BURN, OVERLAY, HARD_LIGHT, SOFT_LIGHT, and DODGE only work for blendMode in 2D mode.
BURN, OVERLAY, HARD_LIGHT, SOFT_LIGHT, and DODGE only work for blendMode in 2D mode.
BURN, OVERLAY, HARD_LIGHT, SOFT_LIGHT, and DODGE only work for blendMode in 2D mode.
BURN, OVERLAY, HARD_LIGHT, SOFT_LIGHT, and DODGE only work for blendMode in 2D mode.
BURN, OVERLAY, HARD_LIGHT, SOFT_LIGHT, and DODGE only work for blendMode in 2D mode.
      ✓ blendMode doesnt change when mode unavailable in 3D

      5) blendModes change pixel colors as expected
    BufferDef

      ✓ render buffer properties are correctly set (99ms)
    tint() in WEBGL mode

      ✓ default tint value is set and not null

      ✓ tint value is modified correctly when tint() is called

      ✓ tint should be reset after draw loop (54ms)
  p5.Shader
    Shader

      ✓ Light Shader

      ✓ Color Shader definition

      ✓ Immediate Mode Shader definition

      ✓ Normal Shader definition

      ✓ Color Shader is set after fill()

      ✓ Normal Shader is set after normalMaterial()

      ✓ Light shader set after ambientMaterial()

      ✓ Light shader set after specularMaterial()

      ✓ Light shader set after emissiveMaterial()

      ✓ Able to setUniform empty arrays

      ✓ Able to set shininess

      ✓ Shader is reset after resetShader is called

      ✓ isTextureShader returns true if there is a sampler

      ✓ isTextureShader returns false if there is no sampler

      ✓ isLightShader returns true if there are lighting uniforms

      ✓ isLightShader returns false if there are no lighting uniforms

      ✓ isNormalShader returns true if there is a normal attribute

      ✓ isNormalShader returns false if there is no normal attribute

      ✓ isStrokeShader returns true if there is a stroke weight uniform

      ✓ isStrokeShader returns false if there is no stroke weight uniform
  p5.Texture
    p5.Texture


      ✓ Create and cache a single texture with p5.Image


      ✓ Create and cache multiple p5.Image textures


      ✓ Set filter mode to linear


      ✓ Set filter mode to nearest
      ✓ Set wrap mode to clamp
      ✓ Set wrap mode to repeat
      ✓ Set wrap mode to mirror
      ✓ Set textureMode to NORMAL
      ✓ Set textureMode to IMAGE
      ✓ Set global wrap mode to clamp


      ✓ Set global wrap mode to repeat


      ✓ Set global wrap mode to mirror
  light
    Light

      ✓ lightFalloff is initialised and set properly

      ✓ specularColor is initialised and set properly

      ✓ noLights works
    spotlight inputs

      ✓ default

      ✓ color,positions,directions

      ✓ color,positions,directions,angle

      ✓ color,positions,directions,angle,conc

      ✓ c1,c2,c3,positions,directions

      ✓ color,p1,p2,p3,directions

      ✓ color,positions,r1,r2,r3

      ✓ c1,c2,c3,positions,directions,angle

      ✓ color,p1,p2,p3,directions,angle

      ✓ color,positions,r1,r2,r3,angle

      ✓ c1,c2,c3,positions,directions,angle,conc

      ✓ color,p1,p2,p3,directions,angle,conc

      ✓ color,positions,r1,r2,r3,angle,conc

      ✓ c1,c2,c3,p1,p2,p3,directions

      ✓ c1,c2,c3,positions,r1,r2,r3

      ✓ color,p1,p2,p3,r1,r2,r3

      ✓ c1,c2,c3,p1,p2,p3,directions,angle

      ✓ c1,c2,c3,positions,r1,r2,r3,angle

      ✓ color,p1,p2,p3,r1,r2,r3,angle

      ✓ c1,c2,c3,p1,p2,p3,directions,angle,conc

      ✓ c1,c2,c3,positions,r1,r2,r3,angle,conc

      ✓ color,p1,p2,p3,r1,r2,r3,angle,conc

      ✓ c1,c2,c3,p1,p2,p3,r1,r2,r3

      ✓ c1,c2,c3,p1,p2,p3,r1,r2,r3,angle

      ✓ c1,c2,c3,p1,p2,p3,r1,r2,r3,angle,conc
  Test in preload() with success callback
    ✓ Load asynchronously and use success callback
  setup() after preload() with success callback
    ✓ should be loaded if preload() finished
  setup() after preload() without success callback
    ✓ should be loaded now preload() finished
  Test in preload() with success callback
    ✓ Load asynchronously and use success callback
  setup() after preload() with success callback
    ✓ should be loaded if preload() finished
    ✓ gifProperties should be correct after preload
    ✓ should be able to modify gifProperties state
  1630 passing (17s)
  10 pending
  5 failing
  1) p5.RendererGL
       GL Renderer clear()
         transparent GL graphics with GL canvas:

      AssertionError: expected [ 0, 0, 0, 255 ] to deeply equal [ 0, 255, 255, 255 ]
      + expected - actual

       [
         0
      -  0
      -  0
         255
      +  255
      +  255
       ]

      at Function.assert.deepEqual (http://localhost:9001/node_modules/chai/chai.js:2367:32)
      at Context.<anonymous> (unit/webgl/p5.RendererGL.js:336:14)

  2) p5.RendererGL
       GL Renderer clear()
         semi-transparent GL graphics with GL canvas:

      AssertionError: expected [ 100, 100, 100, 255 ] to deeply equal [ 39, 194, 194, 194 ]
      + expected - actual

       [
      -  100
      -  100
      -  100
      -  255
      +  39
      +  194
      +  194
      +  194
       ]

      at Function.assert.deepEqual (http://localhost:9001/node_modules/chai/chai.js:2367:32)
      at Context.<anonymous> (unit/webgl/p5.RendererGL.js:359:14)

  3) p5.RendererGL
       GL Renderer clear()
         transparent GL graphics with 2D canvas:

      AssertionError: expected [ 0, 0, 0, 255 ] to deeply equal [ 0, 255, 255, 255 ]
      + expected - actual

       [
         0
      -  0
      -  0
         255
      +  255
      +  255
       ]

      at Function.assert.deepEqual (http://localhost:9001/node_modules/chai/chai.js:2367:32)
      at Context.<anonymous> (unit/webgl/p5.RendererGL.js:381:14)

  4) p5.RendererGL
       GL Renderer clear()
         semi-transparent GL graphics with 2D canvas:

      AssertionError: expected [ 100, 100, 100, 255 ] to deeply equal [ 39, 194, 194, 255 ]
      + expected - actual

       [
      -  100
      -  100
      -  100
      +  39
      +  194
      +  194
         255
       ]

      at Function.assert.deepEqual (http://localhost:9001/node_modules/chai/chai.js:2367:32)
      at Context.<anonymous> (unit/webgl/p5.RendererGL.js:392:14)

  5) p5.RendererGL
       blendMode()
         blendModes change pixel colors as expected:

      AssertionError: expected [ 133, 69, 191, 158 ] to deeply equal [ 133, 69, 191, 255 ]
      + expected - actual

       [
         133
         69
         191
      -  158
      +  255
       ]

      at Function.assert.deepEqual (http://localhost:9001/node_modules/chai/chai.js:2367:32)
      at Context.<anonymous> (unit/webgl/p5.RendererGL.js:440:14)

Warning: [object Object] Use --force to continue.

Aborted due to warnings.
[The command completed with exit code 3.]
[Current working directory: /workspace/p5.js]
[Python interpreter: /usr/bin/python]
[Command finished with exit code 3]