@@ -1046,6 +1046,30 @@ describe('url-parse', function () {
1046
1046
assume ( data . href ) . equals ( 'mailto:alice@atlanta.com' ) ;
1047
1047
} ) ;
1048
1048
1049
+ it ( 'updates username and password when updating auth' , function ( ) {
1050
+ var data = parse ( 'https://example.com' ) ;
1051
+
1052
+ assume ( data . set ( 'auth' , 'foo:bar' ) ) . equals ( data ) ;
1053
+ assume ( data . username ) . equals ( 'foo' ) ;
1054
+ assume ( data . password ) . equals ( 'bar' ) ;
1055
+ assume ( data . href ) . equals ( 'https://foo:bar@example.com/' ) ;
1056
+
1057
+ assume ( data . set ( 'auth' , 'baz:' ) ) . equals ( data ) ;
1058
+ assume ( data . username ) . equals ( 'baz' ) ;
1059
+ assume ( data . password ) . equals ( '' ) ;
1060
+ assume ( data . href ) . equals ( 'https://baz@example.com/' ) ;
1061
+
1062
+ assume ( data . set ( 'auth' , 'qux' ) ) . equals ( data ) ;
1063
+ assume ( data . username ) . equals ( 'qux' ) ;
1064
+ assume ( data . password ) . equals ( '' ) ;
1065
+ assume ( data . href ) . equals ( 'https://qux@example.com/' ) ;
1066
+
1067
+ assume ( data . set ( 'auth' , ':quux' ) ) . equals ( data ) ;
1068
+ assume ( data . username ) . equals ( '' ) ;
1069
+ assume ( data . password ) . equals ( 'quux' ) ;
1070
+ assume ( data . href ) . equals ( 'https://:quux@example.com/' ) ;
1071
+ } ) ;
1072
+
1049
1073
it ( 'updates other values' , function ( ) {
1050
1074
var data = parse ( 'http://google.com/?foo=bar' ) ;
1051
1075
0 commit comments