File tree 4 files changed +52
-2
lines changed
4 files changed +52
-2
lines changed Original file line number Diff line number Diff line change @@ -6,10 +6,14 @@ class Double {
6
6
/**
7
7
* Create a Double type
8
8
*
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.
10
10
* @return {Double }
11
11
*/
12
12
constructor ( value ) {
13
+ if ( value instanceof Number ) {
14
+ value = value . valueOf ( ) ;
15
+ }
16
+
13
17
this . value = value ;
14
18
}
15
19
Original file line number Diff line number Diff line change @@ -6,10 +6,14 @@ class Int32 {
6
6
/**
7
7
* Create an Int32 type
8
8
*
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.
10
10
* @return {Int32 }
11
11
*/
12
12
constructor ( value ) {
13
+ if ( value instanceof Number ) {
14
+ value = value . valueOf ( ) ;
15
+ }
16
+
13
17
this . value = value ;
14
18
}
15
19
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