@@ -16,3 +16,35 @@ test("native querystring module should match the test suite result", () => {
1616 ( t ) => assert . deepEqual ( querystring . stringify ( t [ 1 ] ) , t [ 0 ] ) ,
1717 ) ;
1818} ) ;
19+
20+ test ( "should handle numbers" , ( ) => {
21+ assert . deepEqual (
22+ qs . stringify ( { age : 5 , name : "John Doe" } ) ,
23+ "age=5&name=John%20Doe" ,
24+ ) ;
25+ } ) ;
26+
27+ test ( "should handle BigInt" , ( ) => {
28+ assert . deepEqual (
29+ qs . stringify ( { age : BigInt ( 55 ) , name : "John" } ) ,
30+ "age=55&name=John" ,
31+ ) ;
32+ } ) ;
33+
34+ test ( "should handle boolean values" , ( ) => {
35+ assert . deepEqual ( qs . stringify ( { valid : true } ) , "valid=true" ) ;
36+ assert . deepEqual ( qs . stringify ( { valid : false } ) , "valid=false" ) ;
37+ } ) ;
38+
39+ test ( "should handle numbers" , ( ) => {
40+ assert . deepEqual ( qs . stringify ( { value : 1e22 } ) , "value=1e%2B22" ) ;
41+ } ) ;
42+
43+ test ( "should omit objects" , ( ) => {
44+ // This aligns with querystring module
45+ assert . deepEqual ( qs . stringify ( { user : { } } ) , "user=" ) ;
46+ } ) ;
47+
48+ test ( "should omit non-object inputs" , ( ) => {
49+ assert . deepEqual ( qs . stringify ( "hello" as any ) , "" ) ;
50+ } ) ;
0 commit comments