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

/*---
info: |
    The MV of StrUnsignedDecimalLiteral:::. DecimalDigits ExponentPart
    is the MV of DecimalDigits times 10<sup><small>e-n</small></sup>, where n is
    the number of characters in DecimalDigits and e is the MV of ExponentPart
es5id: 9.3.1_A11
description: >
    Compare Number('.12345e6') with +('12345')*1e1,  and
    Number('.12345e-3') !== Number('12345')*1e-8
---*/

// CHECK#1
if (Number(".12345e6") !== +("12345")*1e1)  {
  $ERROR('#1: Number(".12345e6") === +("12345")*1e1');
}

// CHECK#2
if (Number(".12345e-3") !== Number("12345")*1e-8)  {
  $ERROR('#2: Number(".12345e-3") === Number("12345")*1e-8');
}
