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

/**
 * DecimalLiteral :: HexIntegerLiteral
 *
 * @path ch07/7.8/7.8.3/S7.8.3_A5.1_T2.js
 * @description HexIntegerLiteral :: 0X Digit
 */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

