Verify readPixels() works fine with various PACK_ALIGNMENT values.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".

PASS gl = initWebGL('example', 'vshader', 'fshader', [ 'pos', 'colorIn' ], [ 0, 0, 0, 1 ], 1) is non-null.
Testing format = RGBA and type = UNSIGNED_BYTE
Testing PACK_ALIGNMENT = 1, width = 1, height = 2
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
PASS 255,102,0,255 is non-null.
PASS pixel is expectedColor
Testing PACK_ALIGNMENT = 2, width = 1, height = 2
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
PASS 255,102,0,255 is non-null.
PASS pixel is expectedColor
Testing PACK_ALIGNMENT = 4, width = 1, height = 2
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
PASS 255,102,0,255 is non-null.
PASS pixel is expectedColor
Testing PACK_ALIGNMENT = 8, width = 1, height = 2
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
PASS 255,102,0,255 is non-null.
PASS pixel is expectedColor
Testing PACK_ALIGNMENT = 4, width = 2, height = 2
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
PASS 255,102,0,255 is non-null.
PASS pixel is expectedColor
Testing PACK_ALIGNMENT = 8, width = 2, height = 2
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
PASS 255,102,0,255 is non-null.
PASS pixel is expectedColor
Testing PACK_ALIGNMENT = 4, width = 3, height = 2
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
PASS 255,102,0,255 is non-null.
PASS pixel is expectedColor
Testing PACK_ALIGNMENT = 8, width = 3, height = 2
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
PASS 255,102,0,255 is non-null.
PASS pixel is expectedColor
Testing PACK_ALIGNMENT = 4, width = 4, height = 2
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
PASS 255,102,0,255 is non-null.
PASS pixel is expectedColor
Testing PACK_ALIGNMENT = 8, width = 4, height = 2
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
PASS 255,102,0,255 is non-null.
PASS pixel is expectedColor
Testing PACK_ALIGNMENT = 8, width = 5, height = 1
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
PASS 255,102,0,255 is non-null.
PASS pixel is expectedColor
Testing PACK_ALIGNMENT = 4, width = 5, height = 2
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
PASS 255,102,0,255 is non-null.
PASS pixel is expectedColor
Testing PACK_ALIGNMENT = 8, width = 5, height = 2
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
PASS 255,102,0,255 is non-null.
PASS pixel is expectedColor
Testing PACK_ALIGNMENT = 8, width = 6, height = 2
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
PASS 255,102,0,255 is non-null.
PASS pixel is expectedColor
Testing PACK_ALIGNMENT = 8, width = 7, height = 2
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
PASS 255,102,0,255 is non-null.
PASS pixel is expectedColor
Testing PACK_ALIGNMENT = 8, width = 8, height = 2
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
PASS 255,102,0,255 is non-null.
PASS pixel is expectedColor
Testing PACK_ALIGNMENT = 1, width = 0, height = 0
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
Testing PACK_ALIGNMENT = 2, width = 0, height = 0
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
Testing PACK_ALIGNMENT = 4, width = 0, height = 0
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
Testing PACK_ALIGNMENT = 8, width = 0, height = 0
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: NO_ERROR :
Testing PACK_ALIGNMENT = 1, width = -1, height = 1
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: INVALID_VALUE :
Testing PACK_ALIGNMENT = 2, width = 1, height = -1
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: INVALID_VALUE :
Testing PACK_ALIGNMENT = 4, width = 0, height = -1
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: INVALID_VALUE :
Testing PACK_ALIGNMENT = 8, width = -1, height = -1
PASS getError was expected value: NO_ERROR :
PASS getError was expected value: INVALID_VALUE :
PASS successfullyParsed is true

TEST COMPLETE

