@@ -534,4 +534,44 @@ public void stubFilesSymbols_third_party_symbols_should_not_be_null() {
534
534
symbolsForModule ("six" );
535
535
assertThat (TypeShed .stubFilesSymbols ()).doesNotContainNull ();
536
536
}
537
+
538
+ @ Test
539
+ public void modules_whose_name_differ_by_capitalization_only () {
540
+ // Python 2, import SocketServer
541
+ setPythonVersions (PythonVersionUtils .fromString ("2.7" ));
542
+ Map <String , Symbol > socketServer = symbolsForModule ("SocketServer" );
543
+ assertThat (socketServer ).isNotEmpty ();
544
+ SymbolImpl baseServer = (SymbolImpl ) socketServer .get ("BaseServer" );
545
+ assertThat (baseServer .validForPythonVersions ()).containsExactlyInAnyOrder ("27" );
546
+
547
+ // Python 2, import socketserver
548
+ socketServer = symbolsForModule ("socketserver" );
549
+ assertThat (socketServer ).isEmpty ();
550
+
551
+ // Python 3, import SocketServer
552
+ setPythonVersions (PythonVersionUtils .fromString ("3.10" ));
553
+ socketServer = symbolsForModule ("SocketServer" );
554
+ assertThat (socketServer ).isEmpty ();
555
+
556
+ // Python 3, import socketserver
557
+ socketServer = symbolsForModule ("socketserver" );
558
+ assertThat (socketServer ).isNotEmpty ();
559
+ baseServer = (SymbolImpl ) socketServer .get ("BaseServer" );
560
+ assertThat (baseServer .validForPythonVersions ()).containsExactlyInAnyOrder ("35" , "36" , "37" , "38" , "39" , "310" );
561
+
562
+ // Unknown Python version, import SocketServer
563
+ // in this case we assume Python2 module is imported
564
+ setPythonVersions ();
565
+ socketServer = symbolsForModule ("SocketServer" );
566
+ assertThat (socketServer ).isNotEmpty ();
567
+ baseServer = (SymbolImpl ) socketServer .get ("BaseServer" );
568
+ assertThat (baseServer .validForPythonVersions ()).containsExactlyInAnyOrder ("27" );
569
+
570
+ // Unknown Python version, import socketserver
571
+ // in this case we assume Python3 module is imported
572
+ socketServer = symbolsForModule ("socketserver" );
573
+ assertThat (socketServer ).isNotEmpty ();
574
+ baseServer = (SymbolImpl ) socketServer .get ("BaseServer" );
575
+ assertThat (baseServer .validForPythonVersions ()).containsExactlyInAnyOrder ("35" , "36" , "37" , "38" , "39" , "310" );
576
+ }
537
577
}
0 commit comments