Test that CanvasManager is able to record actions made to BitmapRenderer canvas contexts.


== Running test suite: Canvas.recordingBitmapRenderer
-- Running test case: Canvas.recordingBitmapRenderer.singleFrame
initialState:
  attributes:
    width: 2
    height: 2
  parameters:
  content: <filtered>
frames:
  0: (duration)
    0: transferFromImageBitmap([object ImageBitmap])
      swizzleTypes: [ImageBitmap]
      trace:
        0: transferFromImageBitmap
        1: (anonymous function)
        2: executeFrameFunction
        3: (anonymous function)
        4: asyncFunctionResume
        5: (anonymous function)
        6: promiseReactionJob
      snapshot: <filtered>

-- Running test case: Canvas.recordingBitmapRenderer.multipleFrames
initialState:
  attributes:
    width: 2
    height: 2
  parameters:
  content: <filtered>
frames:
  0: (duration)
    0: transferFromImageBitmap([object ImageBitmap])
      swizzleTypes: [ImageBitmap]
      trace:
        0: transferFromImageBitmap
        1: (anonymous function)
        2: executeFrameFunction
        3: (anonymous function)
        4: asyncFunctionResume
        5: (anonymous function)
        6: promiseReactionJob
      snapshot: <filtered>
  1: (duration)
    0: width
      trace:
        0: (anonymous function)
        1: executeFrameFunction
    1: width = 2
      swizzleTypes: [Number]
      trace:
        0: (anonymous function)
        1: executeFrameFunction
  2: (duration)
    0: height
      trace:
        0: (anonymous function)
        1: executeFrameFunction
    1: height = 2
      swizzleTypes: [Number]
      trace:
        0: (anonymous function)
        1: executeFrameFunction

-- Running test case: Canvas.recordingBitmapRenderer.memoryLimit
initialState:
  attributes:
    width: 2
    height: 2
  parameters:
  content: <filtered>
frames:
  0: (duration) (incomplete)
    0: transferFromImageBitmap([object ImageBitmap])
      swizzleTypes: [ImageBitmap]
      trace:
        0: transferFromImageBitmap
        1: (anonymous function)
        2: executeFrameFunction
        3: (anonymous function)
        4: asyncFunctionResume
        5: (anonymous function)
        6: promiseReactionJob
      snapshot: <filtered>

-- Running test case: Canvas.recordingBitmapRenderer.Console
PASS: The recording should have the name "TEST".
PASS: The recording should have one frame.
PASS: The first frame should have one action.

