// Copyright 2009 the Sputnik authors.  All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
info: |
    Global object has properties such as built-in objects such as
    Math, String, Date, parseInt, etc
es5id: 10.2.3_A1.1_T2
description: Global execution context - Function Properties
---*/

//CHECK#4
if ( eval === null ) {
  $ERROR("#4: eval === null");
}

//CHECK#5
if ( parseInt === null ) {
  $ERROR("#5: parseInt === null");
}

//CHECK#6
if ( parseFloat === null ) {
  $ERROR("#6: parseFloat === null");
}

//CHECK#7
if ( isNaN === null ) {
  $ERROR("#7: isNaN === null");
}

//CHECK#8
if ( isFinite === null ) {
  $ERROR("#8: isFinite === null");
}

//CHECK#9
if ( decodeURI === null ) {
  $ERROR("#9: decodeURI === null");
}

//CHECK#10
if ( decodeURIComponent === null ) {
  $ERROR("#10: decodeURIComponent === null");
}

//CHECK#11
if ( encodeURI === null ) {
  $ERROR("#11: encodeURI === null");
}

//CHECK#12
if ( encodeURIComponent === null ) {
  $ERROR("#12: encodeURIComponent === null");
}
