Skip to content

Commit

Permalink
Add test for loading require: false gems
Browse files Browse the repository at this point in the history
Co-authored-by: Alexandre Terrasa <583144+Morriar@users.noreply.github.com>
  • Loading branch information
paracycle and Morriar committed Mar 2, 2022
1 parent 3541285 commit 9135a99
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions spec/tapioca/cli/gem_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -478,6 +478,36 @@ class Foo::Secret; end
@project.remove("sorbet/tapioca/require.rb")
end

it "loads gems that are marked `require: false`" do
foo = mock_gem("foo", "0.0.1") do
write("lib/foo.rb", FOO_RB)
write("lib/foo/secret.rb", "class Foo::Secret; end")
end

@project.require_mock_gem(foo, require: false)
@project.bundle_install

@project.write("sorbet/tapioca/require.rb", <<~RB)
require "foo/secret"
RB

result = @project.tapioca("gem foo")

assert_includes(result.out, <<~OUT)
Compiled foo
OUT

assert_project_file_equal("sorbet/rbi/gems/foo@0.0.1.rbi", template(<<~RBI))
#{FOO_RBI.rstrip}
class Foo::Secret; end
RBI

assert_empty_stderr(result)
assert_success_status(result)

@project.remove("sorbet/tapioca/require.rb")
end

it "explains what went wrong when it can't load the postrequire properly" do
foo = mock_gem("foo", "0.0.1") do
write("lib/foo.rb", FOO_RB)
Expand Down

0 comments on commit 9135a99

Please sign in to comment.