@@ -877,6 +877,67 @@ class Secret; end
877877 assert_success_status ( result )
878878 end
879879
880+ it "reports explicitly requested ignored gems" do
881+ result = @project . tapioca ( "gem sorbet" , exclude : [ ] )
882+
883+ assert_stdout_includes ( result , <<~OUT )
884+ Note: Tapioca skipped RBI generation for the following gems because they are ignored by default:
885+ sorbet
886+ OUT
887+ refute_includes ( result . out , "Compiled sorbet" )
888+
889+ assert_empty_stderr ( result )
890+ assert_success_status ( result )
891+ end
892+
893+ it "reports gems excluded by built-in and user configuration" do
894+ result = @project . tapioca ( "gem sorbet rbi --exclude rbi" )
895+
896+ assert_stdout_includes ( result , <<~OUT )
897+ Note: Tapioca skipped RBI generation for the following gems because they are ignored by default:
898+ sorbet
899+ OUT
900+ assert_stdout_includes ( result , <<~OUT )
901+ Note: Tapioca skipped RBI generation for the following gems because they were excluded:
902+ rbi
903+ OUT
904+ refute_includes ( result . out , "Compiled rbi" )
905+
906+ assert_empty_stderr ( result )
907+ assert_success_status ( result )
908+ end
909+
910+ it "reports gems excluded by user configuration" do
911+ result = @project . tapioca ( "gem rbi --exclude rbi" )
912+
913+ assert_stdout_includes ( result , <<~OUT )
914+ Note: Tapioca skipped RBI generation for the following gems because they were excluded:
915+ rbi
916+ OUT
917+ refute_includes ( result . out , "Compiled rbi" )
918+
919+ assert_empty_stderr ( result )
920+ assert_success_status ( result )
921+ end
922+
923+ it "does not report exclusions when no gems are explicitly requested" do
924+ result = @project . tapioca ( "gem --exclude rbi" )
925+
926+ refute_includes ( result . out , "because they were excluded" )
927+
928+ assert_empty_stderr ( result )
929+ assert_success_status ( result )
930+ end
931+
932+ it "does not report exclusions when all gems are requested" do
933+ result = @project . tapioca ( "gem --all --exclude rbi" )
934+
935+ refute_includes ( result . out , "because they were excluded" )
936+
937+ assert_empty_stderr ( result )
938+ assert_success_status ( result )
939+ end
940+
880941 it "fails with error when gem cannot be found" do
881942 result = @project . tapioca ( "gem non_existent_gem" )
882943
0 commit comments