Test to make sure cached lookups on the global object are performed correctly.

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


PASS cachedFunctions[0]() is addEventListener
PASS cachedFunctions[0]() is addEventListener
PASS cachedFunctions[1]() is alert
PASS cachedFunctions[1]() is alert
PASS cachedFunctions[2]() is clearInterval
PASS cachedFunctions[2]() is clearInterval
PASS cachedFunctions[3]() is clearTimeout
PASS cachedFunctions[3]() is clearTimeout
PASS cachedFunctions[4]() is clientInformation
PASS cachedFunctions[4]() is clientInformation
PASS cachedFunctions[5]() is closed
PASS cachedFunctions[5]() is closed
PASS cachedFunctions[6]() is confirm
PASS cachedFunctions[6]() is confirm
PASS cachedFunctions[7]() is console
PASS cachedFunctions[7]() is console
PASS cachedFunctions[8]() is crypto
PASS cachedFunctions[8]() is crypto
PASS cachedFunctions[9]() is defaultStatus
PASS cachedFunctions[9]() is defaultStatus
PASS cachedFunctions[10]() is defaultstatus
PASS cachedFunctions[10]() is defaultstatus
PASS cachedFunctions[11]() is description
PASS cachedFunctions[11]() is description
PASS cachedFunctions[12]() is devicePixelRatio
PASS cachedFunctions[12]() is devicePixelRatio
PASS cachedFunctions[13]() is dispatchEvent
PASS cachedFunctions[13]() is dispatchEvent
PASS cachedFunctions[14]() is document
PASS cachedFunctions[14]() is document
PASS cachedFunctions[15]() is getComputedStyle
PASS cachedFunctions[15]() is getComputedStyle
PASS cachedFunctions[16]() is getMatchedCSSRules
PASS cachedFunctions[16]() is getMatchedCSSRules
PASS cachedFunctions[17]() is getSelection
PASS cachedFunctions[17]() is getSelection
PASS cachedFunctions[18]() is history
PASS cachedFunctions[18]() is history
PASS cachedFunctions[19]() is innerHeight
PASS cachedFunctions[19]() is innerHeight
PASS cachedFunctions[20]() is innerWidth
PASS cachedFunctions[20]() is innerWidth
PASS cachedFunctions[21]() is location
PASS cachedFunctions[21]() is location
PASS cachedFunctions[22]() is locationbar
PASS cachedFunctions[22]() is locationbar
PASS cachedFunctions[23]() is menubar
PASS cachedFunctions[23]() is menubar
PASS cachedFunctions[24]() is moveBy
PASS cachedFunctions[24]() is moveBy
PASS cachedFunctions[25]() is moveTo
PASS cachedFunctions[25]() is moveTo
PASS cachedFunctions[26]() is name
PASS cachedFunctions[26]() is name
PASS cachedFunctions[27]() is navigator
PASS cachedFunctions[27]() is navigator
PASS cachedFunctions[28]() is open
PASS cachedFunctions[28]() is open
PASS cachedFunctions[29]() is openDatabase
PASS cachedFunctions[29]() is openDatabase
PASS cachedFunctions[30]() is opener
PASS cachedFunctions[30]() is opener
PASS cachedFunctions[31]() is outerHeight
PASS cachedFunctions[31]() is outerHeight
PASS cachedFunctions[32]() is outerWidth
PASS cachedFunctions[32]() is outerWidth
PASS cachedFunctions[33]() is pageXOffset
PASS cachedFunctions[33]() is pageXOffset
PASS cachedFunctions[34]() is pageYOffset
PASS cachedFunctions[34]() is pageYOffset
PASS cachedFunctions[35]() is parent
PASS cachedFunctions[35]() is parent
PASS cachedFunctions[36]() is prompt
PASS cachedFunctions[36]() is prompt
PASS cachedFunctions[37]() is releaseEvents
PASS cachedFunctions[37]() is releaseEvents
PASS cachedFunctions[38]() is removeEventListener
PASS cachedFunctions[38]() is removeEventListener
PASS cachedFunctions[39]() is resizeBy
PASS cachedFunctions[39]() is resizeBy
PASS cachedFunctions[40]() is resizeTo
PASS cachedFunctions[40]() is resizeTo
PASS cachedFunctions[41]() is screen
PASS cachedFunctions[41]() is screen
PASS cachedFunctions[42]() is screenLeft
PASS cachedFunctions[42]() is screenLeft
PASS cachedFunctions[43]() is screenTop
PASS cachedFunctions[43]() is screenTop
PASS cachedFunctions[44]() is screenX
PASS cachedFunctions[44]() is screenX
PASS cachedFunctions[45]() is screenY
PASS cachedFunctions[45]() is screenY
PASS cachedFunctions[46]() is scroll
PASS cachedFunctions[46]() is scroll
PASS cachedFunctions[47]() is scrollBy
PASS cachedFunctions[47]() is scrollBy
PASS cachedFunctions[48]() is scrollTo
PASS cachedFunctions[48]() is scrollTo
PASS cachedFunctions[49]() is scrollX
PASS cachedFunctions[49]() is scrollX
PASS cachedFunctions[50]() is scrollY
PASS cachedFunctions[50]() is scrollY
PASS cachedFunctions[51]() is setInterval
PASS cachedFunctions[51]() is setInterval
PASS cachedFunctions[52]() is setTimeout
PASS cachedFunctions[52]() is setTimeout
PASS cachedFunctions[53]() is showModalDialog
PASS cachedFunctions[53]() is showModalDialog
PASS cachedFunctions[54]() is status
PASS cachedFunctions[54]() is status
PASS cachedFunctions[55]() is stop
PASS cachedFunctions[55]() is stop
PASS cachedFunctions[56]() is window
PASS cachedFunctions[56]() is window
PASS successfullyParsed is true

TEST COMPLETE

