@@ -184,17 +184,26 @@ test('libpq connection string building', function() {
184
184
assert . equal ( subject . password , sourceConfig . password ) ;
185
185
} ) ;
186
186
187
- test ( 'password contains weird characters' , function ( ) {
187
+ test ( 'username or password contains weird characters' , function ( ) {
188
188
var defaults = require ( '../../../lib/defaults' ) ;
189
189
defaults . ssl = true ;
190
- var strang = 'postgres ://my first name:is&%awesome!@localhost:9000' ;
190
+ var strang = 'pg ://my f%irst name:is&%awesome!@localhost:9000' ;
191
191
var subject = new ConnectionParameters ( strang ) ;
192
- assert . equal ( subject . user , 'my first name' ) ;
192
+ assert . equal ( subject . user , 'my f%irst name' ) ;
193
193
assert . equal ( subject . password , 'is&%awesome!' ) ;
194
194
assert . equal ( subject . host , 'localhost' ) ;
195
195
assert . equal ( subject . ssl , true ) ;
196
196
} ) ;
197
197
198
+ test ( "url is properly encoded" , function ( ) {
199
+ var encoded = "pg://bi%25na%25%25ry%20:s%40f%23@localhost/%20u%2520rl" ;
200
+ var subject = new ConnectionParameters ( encoded ) ;
201
+ assert . equal ( subject . user , "bi%na%%ry " ) ;
202
+ assert . equal ( subject . password , "s@f#" ) ;
203
+ assert . equal ( subject . host , 'localhost' ) ;
204
+ assert . equal ( subject . database , " u%20rl" ) ;
205
+ } ) ;
206
+
198
207
test ( 'ssl is set on client' , function ( ) {
199
208
var Client = require ( '../../../lib/client' )
200
209
var defaults = require ( '../../../lib/defaults' ) ;
0 commit comments