]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Tests for floating point errors in duration .as method output.
authorJohn Madhavan-Reese <jsmreese@pureshare.com>
Mon, 25 Aug 2014 16:20:54 +0000 (12:20 -0400)
committerIskren Chernev <iskren.chernev@gmail.com>
Fri, 5 Sep 2014 05:02:45 +0000 (22:02 -0700)
test/moment/duration.js

index 2e6e483f11059b8b1d3fd23e7be27cb5ccfe5f85..42e5699009e6e9fd648d99085b26cbdaa256b457 100644 (file)
@@ -513,6 +513,23 @@ exports.duration = {
         test.done();
     },
 
+       'as getters for small units' : function (test) {
+        var dS = moment.duration(1, 'milliseconds'),
+            ds = moment.duration(3, 'seconds'),
+            dm = moment.duration(13, 'minutes');
+
+        test.expect(6);
+        // Tests for issue #1867.
+               // Floating point errors for small duration units were introduced in version 2.8.0.
+        test.equal(dS.as('milliseconds'), 1, 'as("milliseconds")');
+        test.equal(dS.asMilliseconds(),   1, 'asMilliseconds()');
+        test.equal(ds.as('seconds'),      3, 'as("seconds")');
+        test.equal(ds.asSeconds(),        3, 'asSeconds()');
+        test.equal(dm.as('minutes'),      13, 'as("minutes")');
+        test.equal(dm.asMinutes(),        13, 'asMinutes()');
+        test.done();
+    },
+       
     'isDuration' : function (test) {
         test.expect(3);
         test.ok(moment.isDuration(moment.duration(12345678)), 'correctly says true');