Skip to content

Merge branch 'gtest' of https://github.com/CendioOssman/tigervnc #1084

Merge branch 'gtest' of https://github.com/CendioOssman/tigervnc

Merge branch 'gtest' of https://github.com/CendioOssman/tigervnc #1084

GitHub Actions / Unit tests (linux) succeeded Feb 28, 2025 in 1s

178 passed, 0 failed and 0 skipped

Tests passed successfully

✅ test-results.xml

178 tests were completed in 10s with 178 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
(empty) 178✅ 10s

✅ (empty)

ConfigArgs.args
  ✅ ConfigArgs.args
ConfigArgs.noDash
  ✅ ConfigArgs.noDash
ConfigArgs.singleDash
  ✅ ConfigArgs.singleDash
ConfigArgs.doubleDash
  ✅ ConfigArgs.doubleDash
ConfigArgs.bool
  ✅ ConfigArgs.bool
Conv.pixelFromPixel/(depth 24 (32bpp) little-endian rgb888, depth 24 (32bpp) little-endian rgb888)
  ✅ Conv.pixelFromPixel/(depth 24 (32bpp) little-endian rgb888, depth 24 (32bpp) little-endian rgb888)
Conv.pixelFromPixel/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) little-endian rgb888)
  ✅ Conv.pixelFromPixel/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) little-endian rgb888)
Conv.pixelFromPixel/(depth 16 (16bpp) little-endian rgb565, depth 24 (32bpp) little-endian rgb888)
  ✅ Conv.pixelFromPixel/(depth 16 (16bpp) little-endian rgb565, depth 24 (32bpp) little-endian rgb888)
Conv.pixelFromPixel/(depth 7 (8bpp) rgb232, depth 24 (32bpp) little-endian rgb888)
  ✅ Conv.pixelFromPixel/(depth 7 (8bpp) rgb232, depth 24 (32bpp) little-endian rgb888)
Conv.pixelFromPixel/(depth 24 (32bpp) little-endian rgb888, depth 16 (16bpp) little-endian rgb565)
  ✅ Conv.pixelFromPixel/(depth 24 (32bpp) little-endian rgb888, depth 16 (16bpp) little-endian rgb565)
Conv.pixelFromPixel/(depth 16 (16bpp) little-endian bgr565, depth 16 (16bpp) little-endian rgb565)
  ✅ Conv.pixelFromPixel/(depth 16 (16bpp) little-endian bgr565, depth 16 (16bpp) little-endian rgb565)
Conv.pixelFromPixel/(depth 7 (8bpp) rgb232, depth 16 (16bpp) little-endian rgb565)
  ✅ Conv.pixelFromPixel/(depth 7 (8bpp) rgb232, depth 16 (16bpp) little-endian rgb565)
Conv.pixelFromPixel/(depth 24 (32bpp) little-endian rgb888, depth 7 (8bpp) rgb232)
  ✅ Conv.pixelFromPixel/(depth 24 (32bpp) little-endian rgb888, depth 7 (8bpp) rgb232)
Conv.pixelFromPixel/(depth 16 (16bpp) little-endian rgb565, depth 7 (8bpp) rgb232)
  ✅ Conv.pixelFromPixel/(depth 16 (16bpp) little-endian rgb565, depth 7 (8bpp) rgb232)
Conv.pixelFromPixel/(depth 7 (8bpp) bgr232, depth 7 (8bpp) rgb232)
  ✅ Conv.pixelFromPixel/(depth 7 (8bpp) bgr232, depth 7 (8bpp) rgb232)
Conv.pixelFromPixel/(depth 24 (32bpp) big-endian bgr888, depth 24 (32bpp) little-endian bgr888)
  ✅ Conv.pixelFromPixel/(depth 24 (32bpp) big-endian bgr888, depth 24 (32bpp) little-endian bgr888)
Conv.pixelFromPixel/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) big-endian bgr888)
  ✅ Conv.pixelFromPixel/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) big-endian bgr888)
Conv.pixelFromPixel/(depth 16 (16bpp) big-endian bgr565, depth 16 (16bpp) little-endian bgr565)
  ✅ Conv.pixelFromPixel/(depth 16 (16bpp) big-endian bgr565, depth 16 (16bpp) little-endian bgr565)
Conv.pixelFromPixel/(depth 16 (16bpp) little-endian bgr565, depth 16 (16bpp) big-endian bgr565)
  ✅ Conv.pixelFromPixel/(depth 16 (16bpp) little-endian bgr565, depth 16 (16bpp) big-endian bgr565)
Conv.pixelFromPixel/(depth 24 (32bpp) big-endian rgb max 255,255,255 shift 0,24,8, depth 24 (32bpp) little-endian bgr888)
  ✅ Conv.pixelFromPixel/(depth 24 (32bpp) big-endian rgb max 255,255,255 shift 0,24,8, depth 24 (32bpp) little-endian bgr888)
Conv.pixelFromPixel/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) big-endian rgb max 255,255,255 shift 0,24,8)
  ✅ Conv.pixelFromPixel/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) big-endian rgb max 255,255,255 shift 0,24,8)
Conv.bufferFromBuffer/(depth 24 (32bpp) little-endian rgb888, depth 24 (32bpp) little-endian rgb888)
  ✅ Conv.bufferFromBuffer/(depth 24 (32bpp) little-endian rgb888, depth 24 (32bpp) little-endian rgb888)
Conv.bufferFromBuffer/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) little-endian rgb888)
  ✅ Conv.bufferFromBuffer/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) little-endian rgb888)
Conv.bufferFromBuffer/(depth 16 (16bpp) little-endian rgb565, depth 24 (32bpp) little-endian rgb888)
  ✅ Conv.bufferFromBuffer/(depth 16 (16bpp) little-endian rgb565, depth 24 (32bpp) little-endian rgb888)
Conv.bufferFromBuffer/(depth 7 (8bpp) rgb232, depth 24 (32bpp) little-endian rgb888)
  ✅ Conv.bufferFromBuffer/(depth 7 (8bpp) rgb232, depth 24 (32bpp) little-endian rgb888)
Conv.bufferFromBuffer/(depth 24 (32bpp) little-endian rgb888, depth 16 (16bpp) little-endian rgb565)
  ✅ Conv.bufferFromBuffer/(depth 24 (32bpp) little-endian rgb888, depth 16 (16bpp) little-endian rgb565)
Conv.bufferFromBuffer/(depth 16 (16bpp) little-endian bgr565, depth 16 (16bpp) little-endian rgb565)
  ✅ Conv.bufferFromBuffer/(depth 16 (16bpp) little-endian bgr565, depth 16 (16bpp) little-endian rgb565)
Conv.bufferFromBuffer/(depth 7 (8bpp) rgb232, depth 16 (16bpp) little-endian rgb565)
  ✅ Conv.bufferFromBuffer/(depth 7 (8bpp) rgb232, depth 16 (16bpp) little-endian rgb565)
Conv.bufferFromBuffer/(depth 24 (32bpp) little-endian rgb888, depth 7 (8bpp) rgb232)
  ✅ Conv.bufferFromBuffer/(depth 24 (32bpp) little-endian rgb888, depth 7 (8bpp) rgb232)
Conv.bufferFromBuffer/(depth 16 (16bpp) little-endian rgb565, depth 7 (8bpp) rgb232)
  ✅ Conv.bufferFromBuffer/(depth 16 (16bpp) little-endian rgb565, depth 7 (8bpp) rgb232)
Conv.bufferFromBuffer/(depth 7 (8bpp) bgr232, depth 7 (8bpp) rgb232)
  ✅ Conv.bufferFromBuffer/(depth 7 (8bpp) bgr232, depth 7 (8bpp) rgb232)
Conv.bufferFromBuffer/(depth 24 (32bpp) big-endian bgr888, depth 24 (32bpp) little-endian bgr888)
  ✅ Conv.bufferFromBuffer/(depth 24 (32bpp) big-endian bgr888, depth 24 (32bpp) little-endian bgr888)
Conv.bufferFromBuffer/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) big-endian bgr888)
  ✅ Conv.bufferFromBuffer/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) big-endian bgr888)
Conv.bufferFromBuffer/(depth 16 (16bpp) big-endian bgr565, depth 16 (16bpp) little-endian bgr565)
  ✅ Conv.bufferFromBuffer/(depth 16 (16bpp) big-endian bgr565, depth 16 (16bpp) little-endian bgr565)
Conv.bufferFromBuffer/(depth 16 (16bpp) little-endian bgr565, depth 16 (16bpp) big-endian bgr565)
  ✅ Conv.bufferFromBuffer/(depth 16 (16bpp) little-endian bgr565, depth 16 (16bpp) big-endian bgr565)
Conv.bufferFromBuffer/(depth 24 (32bpp) big-endian rgb max 255,255,255 shift 0,24,8, depth 24 (32bpp) little-endian bgr888)
  ✅ Conv.bufferFromBuffer/(depth 24 (32bpp) big-endian rgb max 255,255,255 shift 0,24,8, depth 24 (32bpp) little-endian bgr888)
Conv.bufferFromBuffer/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) big-endian rgb max 255,255,255 shift 0,24,8)
  ✅ Conv.bufferFromBuffer/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) big-endian rgb max 255,255,255 shift 0,24,8)
Conv.bufferToFromRGB/(depth 24 (32bpp) little-endian rgb888, depth 24 (32bpp) little-endian rgb888)
  ✅ Conv.bufferToFromRGB/(depth 24 (32bpp) little-endian rgb888, depth 24 (32bpp) little-endian rgb888)
Conv.bufferToFromRGB/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) little-endian rgb888)
  ✅ Conv.bufferToFromRGB/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) little-endian rgb888)
Conv.bufferToFromRGB/(depth 16 (16bpp) little-endian rgb565, depth 24 (32bpp) little-endian rgb888)
  ✅ Conv.bufferToFromRGB/(depth 16 (16bpp) little-endian rgb565, depth 24 (32bpp) little-endian rgb888)
Conv.bufferToFromRGB/(depth 7 (8bpp) rgb232, depth 24 (32bpp) little-endian rgb888)
  ✅ Conv.bufferToFromRGB/(depth 7 (8bpp) rgb232, depth 24 (32bpp) little-endian rgb888)
Conv.bufferToFromRGB/(depth 24 (32bpp) little-endian rgb888, depth 16 (16bpp) little-endian rgb565)
  ✅ Conv.bufferToFromRGB/(depth 24 (32bpp) little-endian rgb888, depth 16 (16bpp) little-endian rgb565)
Conv.bufferToFromRGB/(depth 16 (16bpp) little-endian bgr565, depth 16 (16bpp) little-endian rgb565)
  ✅ Conv.bufferToFromRGB/(depth 16 (16bpp) little-endian bgr565, depth 16 (16bpp) little-endian rgb565)
Conv.bufferToFromRGB/(depth 7 (8bpp) rgb232, depth 16 (16bpp) little-endian rgb565)
  ✅ Conv.bufferToFromRGB/(depth 7 (8bpp) rgb232, depth 16 (16bpp) little-endian rgb565)
Conv.bufferToFromRGB/(depth 24 (32bpp) little-endian rgb888, depth 7 (8bpp) rgb232)
  ✅ Conv.bufferToFromRGB/(depth 24 (32bpp) little-endian rgb888, depth 7 (8bpp) rgb232)
Conv.bufferToFromRGB/(depth 16 (16bpp) little-endian rgb565, depth 7 (8bpp) rgb232)
  ✅ Conv.bufferToFromRGB/(depth 16 (16bpp) little-endian rgb565, depth 7 (8bpp) rgb232)
Conv.bufferToFromRGB/(depth 7 (8bpp) bgr232, depth 7 (8bpp) rgb232)
  ✅ Conv.bufferToFromRGB/(depth 7 (8bpp) bgr232, depth 7 (8bpp) rgb232)
Conv.bufferToFromRGB/(depth 24 (32bpp) big-endian bgr888, depth 24 (32bpp) little-endian bgr888)
  ✅ Conv.bufferToFromRGB/(depth 24 (32bpp) big-endian bgr888, depth 24 (32bpp) little-endian bgr888)
Conv.bufferToFromRGB/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) big-endian bgr888)
  ✅ Conv.bufferToFromRGB/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) big-endian bgr888)
Conv.bufferToFromRGB/(depth 16 (16bpp) big-endian bgr565, depth 16 (16bpp) little-endian bgr565)
  ✅ Conv.bufferToFromRGB/(depth 16 (16bpp) big-endian bgr565, depth 16 (16bpp) little-endian bgr565)
Conv.bufferToFromRGB/(depth 16 (16bpp) little-endian bgr565, depth 16 (16bpp) big-endian bgr565)
  ✅ Conv.bufferToFromRGB/(depth 16 (16bpp) little-endian bgr565, depth 16 (16bpp) big-endian bgr565)
Conv.bufferToFromRGB/(depth 24 (32bpp) big-endian rgb max 255,255,255 shift 0,24,8, depth 24 (32bpp) little-endian bgr888)
  ✅ Conv.bufferToFromRGB/(depth 24 (32bpp) big-endian rgb max 255,255,255 shift 0,24,8, depth 24 (32bpp) little-endian bgr888)
Conv.bufferToFromRGB/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) big-endian rgb max 255,255,255 shift 0,24,8)
  ✅ Conv.bufferToFromRGB/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) big-endian rgb max 255,255,255 shift 0,24,8)
Conv.pixelToFromRGB/(depth 24 (32bpp) little-endian rgb888, depth 24 (32bpp) little-endian rgb888)
  ✅ Conv.pixelToFromRGB/(depth 24 (32bpp) little-endian rgb888, depth 24 (32bpp) little-endian rgb888)
Conv.pixelToFromRGB/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) little-endian rgb888)
  ✅ Conv.pixelToFromRGB/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) little-endian rgb888)
Conv.pixelToFromRGB/(depth 16 (16bpp) little-endian rgb565, depth 24 (32bpp) little-endian rgb888)
  ✅ Conv.pixelToFromRGB/(depth 16 (16bpp) little-endian rgb565, depth 24 (32bpp) little-endian rgb888)
Conv.pixelToFromRGB/(depth 7 (8bpp) rgb232, depth 24 (32bpp) little-endian rgb888)
  ✅ Conv.pixelToFromRGB/(depth 7 (8bpp) rgb232, depth 24 (32bpp) little-endian rgb888)
Conv.pixelToFromRGB/(depth 24 (32bpp) little-endian rgb888, depth 16 (16bpp) little-endian rgb565)
  ✅ Conv.pixelToFromRGB/(depth 24 (32bpp) little-endian rgb888, depth 16 (16bpp) little-endian rgb565)
Conv.pixelToFromRGB/(depth 16 (16bpp) little-endian bgr565, depth 16 (16bpp) little-endian rgb565)
  ✅ Conv.pixelToFromRGB/(depth 16 (16bpp) little-endian bgr565, depth 16 (16bpp) little-endian rgb565)
Conv.pixelToFromRGB/(depth 7 (8bpp) rgb232, depth 16 (16bpp) little-endian rgb565)
  ✅ Conv.pixelToFromRGB/(depth 7 (8bpp) rgb232, depth 16 (16bpp) little-endian rgb565)
Conv.pixelToFromRGB/(depth 24 (32bpp) little-endian rgb888, depth 7 (8bpp) rgb232)
  ✅ Conv.pixelToFromRGB/(depth 24 (32bpp) little-endian rgb888, depth 7 (8bpp) rgb232)
Conv.pixelToFromRGB/(depth 16 (16bpp) little-endian rgb565, depth 7 (8bpp) rgb232)
  ✅ Conv.pixelToFromRGB/(depth 16 (16bpp) little-endian rgb565, depth 7 (8bpp) rgb232)
Conv.pixelToFromRGB/(depth 7 (8bpp) bgr232, depth 7 (8bpp) rgb232)
  ✅ Conv.pixelToFromRGB/(depth 7 (8bpp) bgr232, depth 7 (8bpp) rgb232)
Conv.pixelToFromRGB/(depth 24 (32bpp) big-endian bgr888, depth 24 (32bpp) little-endian bgr888)
  ✅ Conv.pixelToFromRGB/(depth 24 (32bpp) big-endian bgr888, depth 24 (32bpp) little-endian bgr888)
Conv.pixelToFromRGB/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) big-endian bgr888)
  ✅ Conv.pixelToFromRGB/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) big-endian bgr888)
Conv.pixelToFromRGB/(depth 16 (16bpp) big-endian bgr565, depth 16 (16bpp) little-endian bgr565)
  ✅ Conv.pixelToFromRGB/(depth 16 (16bpp) big-endian bgr565, depth 16 (16bpp) little-endian bgr565)
Conv.pixelToFromRGB/(depth 16 (16bpp) little-endian bgr565, depth 16 (16bpp) big-endian bgr565)
  ✅ Conv.pixelToFromRGB/(depth 16 (16bpp) little-endian bgr565, depth 16 (16bpp) big-endian bgr565)
Conv.pixelToFromRGB/(depth 24 (32bpp) big-endian rgb max 255,255,255 shift 0,24,8, depth 24 (32bpp) little-endian bgr888)
  ✅ Conv.pixelToFromRGB/(depth 24 (32bpp) big-endian rgb max 255,255,255 shift 0,24,8, depth 24 (32bpp) little-endian bgr888)
Conv.pixelToFromRGB/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) big-endian rgb max 255,255,255 shift 0,24,8)
  ✅ Conv.pixelToFromRGB/(depth 24 (32bpp) little-endian bgr888, depth 24 (32bpp) big-endian rgb max 255,255,255 shift 0,24,8)
ConvertLF.convertLF
  ✅ ConvertLF.convertLF
ConvertLF.convertCRLF
  ✅ ConvertLF.convertCRLF
GestureHandler.oneTapNormal
  ✅ GestureHandler.oneTapNormal
GestureHandler.twoTapNormal
  ✅ GestureHandler.twoTapNormal
GestureHandler.twoTapSlowBegin
  ✅ GestureHandler.twoTapSlowBegin
GestureHandler.twoTapSlowEnd
  ✅ GestureHandler.twoTapSlowEnd
GestureHandler.twoTapTimeout
  ✅ GestureHandler.twoTapTimeout
GestureHandler.threeTapNormal
  ✅ GestureHandler.threeTapNormal
GestureHandler.threeTapSlowBegin
  ✅ GestureHandler.threeTapSlowBegin
GestureHandler.threeTapSlowEnd
  ✅ GestureHandler.threeTapSlowEnd
GestureHandler.threeTapDrag
  ✅ GestureHandler.threeTapDrag
GestureHandler.threeTapTimeout
  ✅ GestureHandler.threeTapTimeout
GestureHandler.dragHoriz
  ✅ GestureHandler.dragHoriz
GestureHandler.dragVert
  ✅ GestureHandler.dragVert
GestureHandler.dragDiag
  ✅ GestureHandler.dragDiag
GestureHandler.longPressNormal
  ✅ GestureHandler.longPressNormal
GestureHandler.longPressDrag
  ✅ GestureHandler.longPressDrag
GestureHandler.twoDragFastDistinctHoriz
  ✅ GestureHandler.twoDragFastDistinctHoriz
GestureHandler.twoDragFastDistinctVert
  ✅ GestureHandler.twoDragFastDistinctVert
GestureHandler.twoDragFastDistinctDiag
  ✅ GestureHandler.twoDragFastDistinctDiag
GestureHandler.twoDragFastAlmost
  ✅ GestureHandler.twoDragFastAlmost
GestureHandler.twoDragSlowHoriz
  ✅ GestureHandler.twoDragSlowHoriz
GestureHandler.twoDragSlowVert
  ✅ GestureHandler.twoDragSlowVert
GestureHandler.twoDragSlowDiag
  ✅ GestureHandler.twoDragSlowDiag
GestureHandler.twoDragTooSlow
  ✅ GestureHandler.twoDragTooSlow
GestureHandler.pinchFastDistinctIn
  ✅ GestureHandler.pinchFastDistinctIn
GestureHandler.pinchFastDistinctOut
  ✅ GestureHandler.pinchFastDistinctOut
GestureHandler.pinchFastAlmost
  ✅ GestureHandler.pinchFastAlmost
GestureHandler.pinchSlowIn
  ✅ GestureHandler.pinchSlowIn
GestureHandler.pinchSlowOut
  ✅ GestureHandler.pinchSlowOut
GestureHandler.pinchTooSlow
  ✅ GestureHandler.pinchTooSlow
GestureHandler.extraIgnore
  ✅ GestureHandler.extraIgnore
GestureHandler.ignoreWhenAwaitingGestureEnd
  ✅ GestureHandler.ignoreWhenAwaitingGestureEnd
GestureHandler.ignoreAfterGesture
  ✅ GestureHandler.ignoreAfterGesture
HostPost.localDisplay
  ✅ HostPost.localDisplay
HostPost.noDisplay
  ✅ HostPost.noDisplay
HostPost.display
  ✅ HostPost.display
HostPost.port
  ✅ HostPost.port
HostPost.bracketedIpv4
  ✅ HostPost.bracketedIpv4
HostPost.portOne
  ✅ HostPost.portOne
HostPost.bareIpv6
  ✅ HostPost.bareIpv6
HostPost.bracketedIpv6
  ✅ HostPost.bracketedIpv6
HostPost.ipv6WithDisplay
  ✅ HostPost.ipv6WithDisplay
HostPort.padding
  ✅ HostPort.padding
PixelFormatValid.constructor/32, 24, false true, 255, 255, 255, 0, 8, 16
  ✅ PixelFormatValid.constructor/32, 24, false true, 255, 255, 255, 0, 8, 16
PixelFormatValid.constructor/32, 24, false true, 255, 255, 255, 24, 16, 8
  ✅ PixelFormatValid.constructor/32, 24, false true, 255, 255, 255, 24, 16, 8
PixelFormatValid.constructor/16, 16, false true, 15, 31, 15, 0, 5, 11
  ✅ PixelFormatValid.constructor/16, 16, false true, 15, 31, 15, 0, 5, 11
  ✅ PixelFormatValid.constructor/16, 16, false true, 15, 31, 15, 0, 5, 11
PixelFormatValid.constructor/8, 8, false true, 3, 7, 3, 0, 2, 5
  ✅ PixelFormatValid.constructor/8, 8, false true, 3, 7, 3, 0, 2, 5
PixelFormatValid.constructor/32, 16, false true, 15, 31, 15, 0, 5, 11
  ✅ PixelFormatValid.constructor/32, 16, false true, 15, 31, 15, 0, 5, 11
PixelFormatValid.constructor/32, 8, false true, 3, 7, 3, 0, 2, 5
  ✅ PixelFormatValid.constructor/32, 8, false true, 3, 7, 3, 0, 2, 5
PixelFormatValid.constructor/16, 8, false true, 3, 7, 3, 0, 2, 5
  ✅ PixelFormatValid.constructor/16, 8, false true, 3, 7, 3, 0, 2, 5
PixelFormatValid.constructor/8, 8, false false, 0, 0, 0, 0, 0, 0
  ✅ PixelFormatValid.constructor/8, 8, false false, 0, 0, 0, 0, 0, 0
PixelFormatInvalid.constructor/64, 24, false true, 255, 255, 255, 0, 8, 16
  ✅ PixelFormatInvalid.constructor/64, 24, false true, 255, 255, 255, 0, 8, 16
PixelFormatInvalid.constructor/18, 16, false true, 15, 31, 15, 0, 5, 11
  ✅ PixelFormatInvalid.constructor/18, 16, false true, 15, 31, 15, 0, 5, 11
PixelFormatInvalid.constructor/3, 3, false true, 1, 1, 1, 0, 1, 2
  ✅ PixelFormatInvalid.constructor/3, 3, false true, 1, 1, 1, 0, 1, 2
PixelFormatInvalid.constructor/16, 24, false true, 15, 31, 15, 0, 5, 11
  ✅ PixelFormatInvalid.constructor/16, 24, false true, 15, 31, 15, 0, 5, 11
PixelFormatInvalid.constructor/8, 24, false true, 3, 7, 3, 0, 2, 5
  ✅ PixelFormatInvalid.constructor/8, 24, false true, 3, 7, 3, 0, 2, 5
PixelFormatInvalid.constructor/8, 16, false true, 3, 7, 3, 0, 2, 5
  ✅ PixelFormatInvalid.constructor/8, 16, false true, 3, 7, 3, 0, 2, 5
PixelFormatInvalid.constructor/32, 24, false false, 0, 0, 0, 0, 0, 0
  ✅ PixelFormatInvalid.constructor/32, 24, false false, 0, 0, 0, 0, 0, 0
PixelFormatInvalid.constructor/32, 24, false true, 254, 255, 255, 0, 8, 16
  ✅ PixelFormatInvalid.constructor/32, 24, false true, 254, 255, 255, 0, 8, 16
PixelFormatInvalid.constructor/32, 24, false true, 255, 253, 255, 0, 8, 16
  ✅ PixelFormatInvalid.constructor/32, 24, false true, 255, 253, 255, 0, 8, 16
PixelFormatInvalid.constructor/32, 24, false true, 255, 255, 252, 0, 8, 16
  ✅ PixelFormatInvalid.constructor/32, 24, false true, 255, 255, 252, 0, 8, 16
PixelFormatInvalid.constructor/32, 24, false true, 511, 127, 127, 0, 16, 20
  ✅ PixelFormatInvalid.constructor/32, 24, false true, 511, 127, 127, 0, 16, 20
PixelFormatInvalid.constructor/32, 24, false true, 127, 511, 127, 0, 4, 20
  ✅ PixelFormatInvalid.constructor/32, 24, false true, 127, 511, 127, 0, 4, 20
PixelFormatInvalid.constructor/32, 24, false true, 127, 127, 511, 0, 4, 8
  ✅ PixelFormatInvalid.constructor/32, 24, false true, 127, 127, 511, 0, 4, 8
PixelFormatInvalid.constructor/32, 16, false true, 255, 255, 255, 0, 8, 16
  ✅ PixelFormatInvalid.constructor/32, 16, false true, 255, 255, 255, 0, 8, 16
PixelFormatInvalid.constructor/32, 24, false true, 255, 255, 255, 25, 8, 16
  ✅ PixelFormatInvalid.constructor/32, 24, false true, 255, 255, 255, 25, 8, 16
PixelFormatInvalid.constructor/32, 24, false true, 255, 255, 255, 0, 25, 16
  ✅ PixelFormatInvalid.constructor/32, 24, false true, 255, 255, 255, 0, 25, 16
PixelFormatInvalid.constructor/32, 24, false true, 255, 255, 255, 0, 8, 25
  ✅ PixelFormatInvalid.constructor/32, 24, false true, 255, 255, 255, 0, 8, 25
PixelFormatInvalid.constructor/32, 24, false true, 255, 255, 255, 0, 7, 16
  ✅ PixelFormatInvalid.constructor/32, 24, false true, 255, 255, 255, 0, 7, 16
PixelFormatInvalid.constructor/32, 24, false true, 255, 255, 255, 0, 8, 15
  ✅ PixelFormatInvalid.constructor/32, 24, false true, 255, 255, 255, 0, 8, 15
PixelFormatInvalid.constructor/32, 24, false true, 255, 255, 255, 0, 16, 7
  ✅ PixelFormatInvalid.constructor/32, 24, false true, 255, 255, 255, 0, 16, 7
PixelFormatIs888.constructor/32, 24, false true, 255, 255, 255, 0, 8, 16
  ✅ PixelFormatIs888.constructor/32, 24, false true, 255, 255, 255, 0, 8, 16
PixelFormatIs888.constructor/32, 24, false true, 255, 255, 255, 24, 16, 8
  ✅ PixelFormatIs888.constructor/32, 24, false true, 255, 255, 255, 24, 16, 8
PixelFormatIs888.constructor/32, 24, false true, 255, 255, 255, 24, 8, 0
  ✅ PixelFormatIs888.constructor/32, 24, false true, 255, 255, 255, 24, 8, 0
PixelFormatNot888.constructor/32, 16, false true, 15, 31, 15, 0, 8, 16
  ✅ PixelFormatNot888.constructor/32, 16, false true, 15, 31, 15, 0, 8, 16
PixelFormatNot888.constructor/32, 8, false true, 3, 7, 3, 0, 8, 16
  ✅ PixelFormatNot888.constructor/32, 8, false true, 3, 7, 3, 0, 8, 16
PixelFormatNot888.constructor/16, 16, false true, 15, 31, 15, 0, 5, 11
  ✅ PixelFormatNot888.constructor/16, 16, false true, 15, 31, 15, 0, 5, 11
PixelFormatNot888.constructor/8, 8, false true, 3, 7, 3, 0, 2, 5
  ✅ PixelFormatNot888.constructor/8, 8, false true, 3, 7, 3, 0, 2, 5
PixelFormatNot888.constructor/8, 8, false false, 0, 0, 0, 0, 0, 0
  ✅ PixelFormatNot888.constructor/8, 8, false false, 0, 0, 0, 0, 0, 0
PixelFormatNot888.constructor/32, 24, false true, 255, 255, 255, 0, 8, 18
  ✅ PixelFormatNot888.constructor/32, 24, false true, 255, 255, 255, 0, 8, 18
PixelFormatNot888.constructor/32, 24, false true, 255, 255, 255, 0, 11, 24
  ✅ PixelFormatNot888.constructor/32, 24, false true, 255, 255, 255, 0, 11, 24
PixelFormatNot888.constructor/32, 24, false true, 255, 255, 255, 4, 16, 24
  ✅ PixelFormatNot888.constructor/32, 24, false true, 255, 255, 255, 4, 16, 24
Unicode.ucs4ToUTF8
  ✅ Unicode.ucs4ToUTF8
Unicode.utf8ToUCS4
  ✅ Unicode.utf8ToUCS4
Unicode.ucs4ToUTF16
  ✅ Unicode.ucs4ToUTF16
Unicode.utf16ToUCS4
  ✅ Unicode.utf16ToUCS4
Unicode.latin1ToUTF8
  ✅ Unicode.latin1ToUTF8
Unicode.utf8ToLatin1
  ✅ Unicode.utf8ToLatin1
Unicode.utf16ToUTF8
  ✅ Unicode.utf16ToUTF8
Unicode.utf8ToUTF16
  ✅ Unicode.utf8ToUTF16
Unicode.isValidUTF8
  ✅ Unicode.isValidUTF8
Unicode.isValidUTF16
  ✅ Unicode.isValidUTF16
EmulateMB.disabledOption
  ✅ EmulateMB.disabledOption
EmulateMB.leftClick
  ✅ EmulateMB.leftClick
EmulateMB.normalLeftPress
  ✅ EmulateMB.normalLeftPress
EmulateMB.normalMiddlePress
  ✅ EmulateMB.normalMiddlePress
EmulateMB.normalRightPress
  ✅ EmulateMB.normalRightPress
EmulateMB.emulateMiddleMouseButton
  ✅ EmulateMB.emulateMiddleMouseButton
EmulateMB.leftReleaseAfterEmulate
  ✅ EmulateMB.leftReleaseAfterEmulate
EmulateMB.rightReleaseAfterEmulate
  ✅ EmulateMB.rightReleaseAfterEmulate
EmulateMB.leftRepressAfterEmulate
  ✅ EmulateMB.leftRepressAfterEmulate
EmulateMB.rightRepressAfterEmulate
  ✅ EmulateMB.rightRepressAfterEmulate
EmulateMB.bothPressAfterLeftTimeout
  ✅ EmulateMB.bothPressAfterLeftTimeout
EmulateMB.bothPressAfterRightTimeout
  ✅ EmulateMB.bothPressAfterRightTimeout
EmulateMB.timeoutAndDrag
  ✅ EmulateMB.timeoutAndDrag
EmulateMB.dragAndTimeout
  ✅ EmulateMB.dragAndTimeout
EmulateMB.dragAndRelease
  ✅ EmulateMB.dragAndRelease