@@ -133,6 +133,30 @@ describe('parse', function(){
133
133
subject . host . should . equal ( '/unix/socket' ) ;
134
134
} ) ;
135
135
136
+ it ( 'url with encoded socket' , function ( ) {
137
+ var subject = parse ( 'pg://user:pass@%2Funix%2Fsocket/dbname' ) ;
138
+ subject . user . should . equal ( 'user' ) ;
139
+ subject . password . should . equal ( 'pass' ) ;
140
+ subject . host . should . equal ( '/unix/socket' ) ;
141
+ subject . database . should . equal ( 'dbname' ) ;
142
+ } ) ;
143
+
144
+ it ( 'url with real host and an encoded db name' , function ( ) {
145
+ var subject = parse ( 'pg://user:pass@localhost/%2Fdbname' ) ;
146
+ subject . user . should . equal ( 'user' ) ;
147
+ subject . password . should . equal ( 'pass' ) ;
148
+ subject . host . should . equal ( 'localhost' ) ;
149
+ subject . database . should . equal ( '%2Fdbname' ) ;
150
+ } ) ;
151
+
152
+ it ( 'configuration parameter host treats encoded socket as part of the db name' , function ( ) {
153
+ var subject = parse ( 'pg://user:pass@%2Funix%2Fsocket/dbname?host=localhost' ) ;
154
+ subject . user . should . equal ( 'user' ) ;
155
+ subject . password . should . equal ( 'pass' ) ;
156
+ subject . host . should . equal ( 'localhost' ) ;
157
+ subject . database . should . equal ( '%2Funix%2Fsocket/dbname' ) ;
158
+ } ) ;
159
+
136
160
it ( 'configuration parameter application_name' , function ( ) {
137
161
var connectionString = 'pg:///?application_name=TheApp' ;
138
162
var subject = parse ( connectionString ) ;
0 commit comments