PASS 'use strict'; var a = arr(); a.reverse() threw exception of type TypeError.
PASS var a = arr(); a.reverse() threw exception of type TypeError.
PASS true === true
PASS 'use strict'; var o = obj(); Array.prototype.reverse.call(o) threw exception of type TypeError.
PASS var o = obj(); Array.prototype.reverse.call(o) threw exception of type TypeError.
PASS true === true
PASS 'use strict'; var a = agap(); a.reverse() threw exception of type TypeError.
PASS var a = agap(); a.reverse() threw exception of type TypeError.
PASS true === true
PASS 'use strict'; var o = ogap(); Array.prototype.reverse.call(o) threw exception of type TypeError.
PASS var o = ogap(); Array.prototype.reverse.call(o) threw exception of type TypeError.
PASS true === true
 PASSED! 
PASS successfullyParsed is true

TEST COMPLETE

