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

/*---
info: "DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart"
es5id: 7.8.3_A3.4_T5
description: "ExponentPart :: e +DecimalDigits"
---*/

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

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

//CHECK#2
if (2.2e+1 !== 22) {
  $ERROR('#2: 2.2e+1 === 22');
}

//CHECK#3
if (3.3e+1 !== 33) {
  $ERROR('#3: 3.3e+1 === 33');
}

//CHECK#4
if (4.4e+1 !== 44) {
  $ERROR('#4: 4.4e+1 === 44');
}

//CHECK#5
if (5.5e+1 !== 55) {
  $ERROR('#5: 5.5e+1 === 55');
}

//CHECK#6
if (6.6e+1 !== 66) {
  $ERROR('#6: 6.e+1 === 66');
}

//CHECK#7
if (7.7e+1 !== 77) {
  $ERROR('#7: 7.7e+1 === 77');
}

//CHECK#8
if (8.8e+1 !== 88) {
  $ERROR('#8: 8.8e+1 === 88');
}

//CHECK#9
if (9.9e+1 !== 99) {
  $ERROR('#9: 9.9e+1 === 99');
}
