Port test_warn_zeitwerk.rb to RSpec example
This commit is contained in:
parent
5bd0dfbf2e
commit
a6f25023ac
Notes:
git
2024-11-15 08:50:46 +00:00
@ -223,6 +223,25 @@ RSpec.describe "bundled_gems.rb" do
|
|||||||
# $GEM_HOME/gems/childprocess-5.0.0/lib/childprocess.rb:7: warning:
|
# $GEM_HOME/gems/childprocess-5.0.0/lib/childprocess.rb:7: warning:
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "Show warning with zeitwerk" do
|
||||||
|
libpath = Dir[Spec::Path.base_system_gem_path.join("gems/{zeitwerk}-*/lib")].map(&:to_s).first
|
||||||
|
code = <<-RUBY
|
||||||
|
$LOAD_PATH.unshift("#{libpath}")
|
||||||
|
require "zeitwerk"
|
||||||
|
loader = Zeitwerk::Loader.for_gem(warn_on_extra_files: false)
|
||||||
|
loader.setup
|
||||||
|
|
||||||
|
require 'ostruct'
|
||||||
|
RUBY
|
||||||
|
create_file("script.rb", code)
|
||||||
|
create_file("Gemfile", "source 'https://rubygems.org'")
|
||||||
|
bundle "exec ruby script.rb"
|
||||||
|
|
||||||
|
expect(err).to include(/ostruct was loaded from (.*) from Ruby 3.5.0/)
|
||||||
|
# TODO: We should assert caller location like below:
|
||||||
|
# test_warn_zeitwerk.rb:15: warning: ...
|
||||||
|
end
|
||||||
|
|
||||||
it "Don't show warning fiddle/import when fiddle on Gemfile" do
|
it "Don't show warning fiddle/import when fiddle on Gemfile" do
|
||||||
build_lib "fiddle", "1.0.0" do |s|
|
build_lib "fiddle", "1.0.0" do |s|
|
||||||
s.write "lib/fiddle.rb", "puts 'fiddle'"
|
s.write "lib/fiddle.rb", "puts 'fiddle'"
|
||||||
|
@ -13,3 +13,6 @@ gem "rake", "~> 13.1"
|
|||||||
gem "builder", "~> 3.2"
|
gem "builder", "~> 3.2"
|
||||||
gem "rb_sys"
|
gem "rb_sys"
|
||||||
gem "rubygems-generate_index", "~> 1.1"
|
gem "rubygems-generate_index", "~> 1.1"
|
||||||
|
|
||||||
|
# for bundled_gems_spec.rb
|
||||||
|
gem "zeitwerk", "~> 2.7"
|
1
tool/test_for_warn_bundled_gems/.gitignore
vendored
1
tool/test_for_warn_bundled_gems/.gitignore
vendored
@ -1 +0,0 @@
|
|||||||
tmp
|
|
@ -1,3 +0,0 @@
|
|||||||
This directory contains tests for the bundled gems warning under the Bundler.
|
|
||||||
|
|
||||||
see [test.sh](./test.sh) for details.
|
|
@ -1,5 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
echo "* Show warning with zeitwerk"
|
|
||||||
ruby test_warn_zeitwerk.rb
|
|
||||||
echo
|
|
@ -1,15 +0,0 @@
|
|||||||
require "bundler"
|
|
||||||
Bundler::Definition.no_lock = true
|
|
||||||
|
|
||||||
require "bundler/inline"
|
|
||||||
|
|
||||||
gemfile do
|
|
||||||
source "https://rubygems.org"
|
|
||||||
gem "zeitwerk", require: false
|
|
||||||
end
|
|
||||||
|
|
||||||
require "zeitwerk"
|
|
||||||
loader = Zeitwerk::Loader.for_gem(warn_on_extra_files: false)
|
|
||||||
loader.setup
|
|
||||||
|
|
||||||
require 'csv'
|
|
Loading…
x
Reference in New Issue
Block a user