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

/*---
info: "DecimalLiteral :: DecimalIntegerLiteral"
es5id: 7.8.3_A1.1_T1
description: "DecimalIntegerLiteral :: 0, NoNZeroDigit"
---*/

//CHECK#0
if (0 !== 0) {
  $ERROR('#0: 0 === 0');
}

//CHECK#1
if (1 !== 1) {
  $ERROR('#1: 1 === 1');
}

//CHECK#2
if (2 !== 2) {
  $ERROR('#2: 2 === 2');
}

//CHECK#3
if (3 !== 3) {
  $ERROR('#3: 3 === 3');
}

//CHECK#4
if (4 !== 4) {
  $ERROR('#4: 4 === 4');
}

//CHECK#5
if (5 !== 5) {
  $ERROR('#5: 5 === 5');
}

//CHECK#6
if (6 !== 6) {
  $ERROR('#6: 6 === 6');
}

//CHECK#7
if (7 !== 7) {
  $ERROR('#7: 7 === 7');
}

//CHECK#8
if (8 !== 8) {
  $ERROR('#8: 8 === 8');
}

//CHECK#9
if (9 !== 9) {
  $ERROR('#9: 9 === 9');
}
