Skip to content

Commit

Permalink
Scientific notation tests for format.numericValueToString and `form…
Browse files Browse the repository at this point in the history
…at.stringToNumericValue` for undocumented support on a prior change.

PiperOrigin-RevId: 341637195
  • Loading branch information
Closure Team authored and shicks committed Nov 10, 2020
1 parent 28a10ae commit 690b713
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions closure/goog/format/format_test.js
Expand Up @@ -76,7 +76,9 @@ testSuite({
const numericValueToString = format.numericValueToString;

assertEquals('Infinity', numericValueToString(Infinity));
assertEquals('Infinity', numericValueToString(1.8e+309));
assertEquals('-Infinity', numericValueToString(-Infinity));
assertEquals('-Infinity', numericValueToString(-1.8e309));

assertEquals('0', numericValueToString(0.0));
assertEquals('45', numericValueToString(45));
Expand Down Expand Up @@ -113,6 +115,10 @@ testSuite({
assertEquals('-45', numericValueToString(-45.3, 0));
assertEquals('-45', numericValueToString(-45.5, 0));
assertEquals('-46', numericValueToString(-45.51, 0));

assertEquals('300K', numericValueToString(3e5));
assertEquals('700K', numericValueToString(7E+5));
assertEquals('30u', numericValueToString(3e-5));
},

testFormatNumBytes() {
Expand All @@ -139,9 +145,12 @@ testSuite({
const epsilon = Math.pow(10, -10);

assertNaN(stringToNumericValue('foo'));
assertNaN(stringToNumericValue('3E5E6'));

assertEquals(Infinity, stringToNumericValue('Infinity'));
assertEquals(Infinity, stringToNumericValue('2E+1000'));
assertEquals(-Infinity, stringToNumericValue('-Infinity'));
assertEquals(-Infinity, stringToNumericValue('-4E+1000'));

assertEquals(45, stringToNumericValue('45'));
assertEquals(-45, stringToNumericValue('-45'));
Expand All @@ -157,6 +166,10 @@ testSuite({
assertEquals(5100000, stringToNumericValue('5.1M'));
assertTrue(Math.abs(0.051 - stringToNumericValue('51.0m')) < epsilon);
assertTrue(Math.abs(0.000051 - stringToNumericValue('51.0u')) < epsilon);

assertEquals(0.00003, stringToNumericValue('3e-5'));
assertEquals(300000, stringToNumericValue('3e5'));
assertEquals(700000, stringToNumericValue('7E+5'));
},

testStringToNumBytes() {
Expand Down

0 comments on commit 690b713

Please sign in to comment.