@@ -106,6 +106,30 @@ public void testExceedMaxEntriesWithMultiplePorts() {
106106 assertTrue (containsEntry (entries , "newsite.com" , 3000 ));
107107 }
108108
109+ @ Test
110+ public void testAddNullHostnameIsIgnored () {
111+ hostnames .add (null , 80 );
112+ assertEquals (0 , hostnames .asArray ().length );
113+ }
114+
115+ @ Test
116+ public void testAddUppercaseHostnameIsLowercased () {
117+ hostnames .add ("EXAMPLE.COM" , 80 );
118+ Hostnames .HostnameEntry [] entries = hostnames .asArray ();
119+ assertEquals (1 , entries .length );
120+ assertEquals ("example.com" , entries [0 ].getHostname ());
121+ }
122+
123+ @ Test
124+ public void testMixedCaseAndLowercaseSameEntryDeduplication () {
125+ hostnames .add ("Example.COM" , 80 );
126+ hostnames .add ("example.com" , 80 );
127+ Hostnames .HostnameEntry [] entries = hostnames .asArray ();
128+ assertEquals (1 , entries .length );
129+ assertEquals ("example.com" , entries [0 ].getHostname ());
130+ assertEquals (2 , entries [0 ].getHits ());
131+ }
132+
109133 private boolean containsEntry (Hostnames .HostnameEntry [] entries , String hostname , int port ) {
110134 for (Hostnames .HostnameEntry entry : entries ) {
111135 if (entry .getHostname ().equals (hostname ) && entry .getPort () == port ) {
0 commit comments