@@ -2,76 +2,106 @@ var test = require('tape')
22 , convert = require ( '../' )
33;
44
5- test ( 'handles integer types ' , function ( assert ) {
5+ test ( 'handles int32 format ' , function ( assert ) {
66 var schema
77 , result
88 , expected
99 ;
1010
11- assert . plan ( 2 ) ;
11+ assert . plan ( 1 ) ;
1212
1313 schema = {
1414 type : 'integer' ,
15+ format : 'int32'
1516 } ;
1617
1718 result = convert ( schema ) ;
1819
1920 expected = {
2021 $schema : 'http://json-schema.org/draft-04/schema#' ,
2122 type : 'integer' ,
23+ format : 'int32' ,
24+ minimum : 0 - Math . pow ( 2 , 31 ) ,
25+ maximum : Math . pow ( 2 , 31 ) - 1
2226 } ;
2327
24- assert . deepEqual ( result , expected , 'integer type untouched' ) ;
28+ assert . deepEqual ( result , expected , 'int32 converted to minimum|maximum' ) ;
29+ } ) ;
30+
31+ test ( 'handles int64 format' , function ( assert ) {
32+ var schema
33+ , result
34+ , expected
35+ ;
36+
37+ assert . plan ( 1 ) ;
2538
2639 schema = {
2740 type : 'integer' ,
28- format : 'int32' ,
41+ format : 'int64'
2942 } ;
3043
3144 result = convert ( schema ) ;
3245
3346 expected = {
3447 $schema : 'http://json-schema.org/draft-04/schema#' ,
3548 type : 'integer' ,
36- format : 'int32'
49+ format : 'int64' ,
50+ minimum : 0 - Math . pow ( 2 , 63 ) ,
51+ maximum : Math . pow ( 2 , 63 ) - 1
3752 } ;
3853
39- assert . deepEqual ( result , expected , 'integer type and format untouched ' ) ;
54+ assert . deepEqual ( result , expected , 'int64 converted to minimum|maximum ' ) ;
4055} ) ;
4156
42- test ( 'handles number types ' , function ( assert ) {
57+ test ( 'handles float format ' , function ( assert ) {
4358 var schema
4459 , result
4560 , expected
4661 ;
4762
48- assert . plan ( 2 ) ;
63+ assert . plan ( 1 ) ;
4964
5065 schema = {
5166 type : 'number' ,
67+ format : 'float'
5268 } ;
5369
5470 result = convert ( schema ) ;
5571
5672 expected = {
5773 $schema : 'http://json-schema.org/draft-04/schema#' ,
5874 type : 'number' ,
75+ format : 'float' ,
76+ minimum : 0 - Math . pow ( 2 , 128 ) ,
77+ maximum : Math . pow ( 2 , 128 ) - 1
5978 } ;
6079
61- assert . deepEqual ( result , expected , 'number type untouched' ) ;
80+ assert . deepEqual ( result , expected , 'float converted to minimum|maximum' ) ;
81+ } ) ;
82+
83+ test ( 'handles double format' , function ( assert ) {
84+ var schema
85+ , result
86+ , expected
87+ ;
88+
89+ assert . plan ( 1 ) ;
6290
6391 schema = {
6492 type : 'number' ,
65- format : 'float '
93+ format : 'double '
6694 } ;
6795
6896 result = convert ( schema ) ;
6997
7098 expected = {
7199 $schema : 'http://json-schema.org/draft-04/schema#' ,
72100 type : 'number' ,
73- format : 'float'
101+ format : 'double' ,
102+ minimum : 0 - Number . MAX_VALUE ,
103+ maximum : Number . MAX_VALUE
74104 } ;
75105
76- assert . deepEqual ( result , expected , 'number type and format untouched ' ) ;
106+ assert . deepEqual ( result , expected , 'double converted to minimum|maximum ' ) ;
77107} ) ;
0 commit comments