@@ -1046,6 +1046,62 @@ describe('url-parse', function () {
1046
1046
assume ( data . href ) . equals ( 'mailto:alice@atlanta.com' ) ;
1047
1047
} ) ;
1048
1048
1049
+ it ( 'updates auth when updating username' , function ( ) {
1050
+ var data = parse ( 'https://example.com' ) ;
1051
+
1052
+ assume ( data . set ( 'username' , 'foo' ) ) . equals ( data ) ;
1053
+ assume ( data . username ) . equals ( 'foo' ) ;
1054
+ assume ( data . auth ) . equals ( 'foo' )
1055
+ assume ( data . href ) . equals ( 'https://foo@example.com/' ) ;
1056
+
1057
+ data . set ( 'username' , '' ) ;
1058
+
1059
+ assume ( data . username ) . equals ( '' ) ;
1060
+ assume ( data . auth ) . equals ( '' )
1061
+ assume ( data . href ) . equals ( 'https://example.com/' ) ;
1062
+
1063
+ data . set ( 'username' , 'foo:' ) ;
1064
+
1065
+ assume ( data . username ) . equals ( 'foo%3A' ) ;
1066
+ assume ( data . auth ) . equals ( 'foo%3A' )
1067
+ assume ( data . href ) . equals ( 'https://foo%3A@example.com/' ) ;
1068
+
1069
+ data = parse ( 'https://foo:bar@example.com' )
1070
+ data . set ( 'username' , 'baz' ) ;
1071
+
1072
+ assume ( data . username ) . equals ( 'baz' ) ;
1073
+ assume ( data . auth ) . equals ( 'baz:bar' )
1074
+ assume ( data . href ) . equals ( 'https://baz:bar@example.com/' ) ;
1075
+ } ) ;
1076
+
1077
+ it ( 'updates auth when updating password' , function ( ) {
1078
+ var data = parse ( 'https://example.com' ) ;
1079
+
1080
+ assume ( data . set ( 'password' , 'foo' ) ) . equals ( data ) ;
1081
+ assume ( data . password ) . equals ( 'foo' ) ;
1082
+ assume ( data . auth ) . equals ( ':foo' )
1083
+ assume ( data . href ) . equals ( 'https://:foo@example.com/' ) ;
1084
+
1085
+ data . set ( 'password' , '' ) ;
1086
+
1087
+ assume ( data . password ) . equals ( '' ) ;
1088
+ assume ( data . auth ) . equals ( '' )
1089
+ assume ( data . href ) . equals ( 'https://example.com/' ) ;
1090
+
1091
+ data . set ( 'password' , ':foo@' ) ;
1092
+
1093
+ assume ( data . password ) . equals ( '%3Afoo%40' ) ;
1094
+ assume ( data . auth ) . equals ( ':%3Afoo%40' )
1095
+ assume ( data . href ) . equals ( 'https://:%3Afoo%40@example.com/' ) ;
1096
+
1097
+ data = parse ( 'https://foo:bar@example.com' )
1098
+ data . set ( 'password' , 'baz' ) ;
1099
+
1100
+ assume ( data . password ) . equals ( 'baz' ) ;
1101
+ assume ( data . auth ) . equals ( 'foo:baz' )
1102
+ assume ( data . href ) . equals ( 'https://foo:baz@example.com/' ) ;
1103
+ } ) ;
1104
+
1049
1105
it ( 'updates username and password when updating auth' , function ( ) {
1050
1106
var data = parse ( 'https://example.com' ) ;
1051
1107
0 commit comments