File tree Expand file tree Collapse file tree 4 files changed +52
-2
lines changed Expand file tree Collapse file tree 4 files changed +52
-2
lines changed Original file line number Diff line number Diff line change @@ -6,10 +6,14 @@ class Double {
66 /**
77 * Create a Double type
88 *
9- * @param {number } value the number we want to represent as a double.
9+ * @param {number|Number } value the number we want to represent as a double.
1010 * @return {Double }
1111 */
1212 constructor ( value ) {
13+ if ( value instanceof Number ) {
14+ value = value . valueOf ( ) ;
15+ }
16+
1317 this . value = value ;
1418 }
1519
Original file line number Diff line number Diff line change @@ -6,10 +6,14 @@ class Int32 {
66 /**
77 * Create an Int32 type
88 *
9- * @param {number } value the number we want to represent as an int32.
9+ * @param {number|Number } value the number we want to represent as an int32.
1010 * @return {Int32 }
1111 */
1212 constructor ( value ) {
13+ if ( value instanceof Number ) {
14+ value = value . valueOf ( ) ;
15+ }
16+
1317 this . value = value ;
1418 }
1519
Original file line number Diff line number Diff line change 1+ 'use strict' ;
2+
3+ const BSON = require ( '../../lib/bson' ) ;
4+ const Double = BSON . Double ;
5+ const expect = require ( 'chai' ) . expect ;
6+
7+ describe ( 'Double' , function ( ) {
8+ describe ( 'Constructor' , function ( ) {
9+ var value = 42.3456 ;
10+
11+ it ( 'Primitive number' , function ( done ) {
12+ expect ( new Double ( value ) . valueOf ( ) ) . to . equal ( value ) ;
13+ done ( ) ;
14+ } ) ;
15+
16+ it ( 'Number object' , function ( done ) {
17+ expect ( new Double ( new Number ( value ) ) . valueOf ( ) ) . to . equal ( value ) ;
18+ done ( ) ;
19+ } ) ;
20+ } ) ;
21+ } ) ;
Original file line number Diff line number Diff line change 1+ 'use strict' ;
2+
3+ const BSON = require ( '../../lib/bson' ) ;
4+ const Int32 = BSON . Int32 ;
5+ const expect = require ( 'chai' ) . expect ;
6+
7+ describe ( 'Int32' , function ( ) {
8+ describe ( 'Constructor' , function ( ) {
9+ var value = 42 ;
10+
11+ it ( 'Primitive number' , function ( done ) {
12+ expect ( new Int32 ( value ) . valueOf ( ) ) . to . equal ( value ) ;
13+ done ( ) ;
14+ } ) ;
15+
16+ it ( 'Number object' , function ( done ) {
17+ expect ( new Int32 ( new Number ( value ) ) . valueOf ( ) ) . to . equal ( value ) ;
18+ done ( ) ;
19+ } ) ;
20+ } ) ;
21+ } ) ;
You can’t perform that action at this time.
0 commit comments