summaryrefslogtreecommitdiff
path: root/spec/support
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2020-01-03 10:15:15 +0100
committerDavid Rodríguez <deivid.rodriguez@riseup.net>2020-01-03 10:27:46 +0100
commit2e70a1934e65fff0b1eed36ebf2f9d83e9fbe81b (patch)
treeb68795dd4d754354093a1e8ae2da9131a2079f88 /spec/support
parente70d0f3d02c8c084b61969e71d1fa28a15a6d0ca (diff)
downloadbundler-2e70a1934e65fff0b1eed36ebf2f9d83e9fbe81b.tar.gz
Use standard require paths for names with dashes in specs
Diffstat (limited to 'spec/support')
-rw-r--r--spec/support/builders.rb20
-rw-r--r--spec/support/matchers.rb4
2 files changed, 16 insertions, 8 deletions
diff --git a/spec/support/builders.rb b/spec/support/builders.rb
index 76c9fff463..021057cc3c 100644
--- a/spec/support/builders.rb
+++ b/spec/support/builders.rb
@@ -623,7 +623,7 @@ module Spec
unless options[:no_default]
gem_source = options[:source] || "path@#{path}"
@files = _default_files.
- merge("lib/#{name}/source.rb" => "#{Builders.constantize(name)}_SOURCE = #{gem_source.to_s.dump}").
+ merge("lib/#{entrypoint}/source.rb" => "#{Builders.constantize(name)}_SOURCE = #{gem_source.to_s.dump}").
merge(@files)
end
@@ -639,15 +639,20 @@ module Spec
end
def _default_files
- @_default_files ||= begin
- platform_string = " #{@spec.platform}" unless @spec.platform == Gem::Platform::RUBY
- { "lib/#{name}.rb" => "#{Builders.constantize(name)} = '#{version}#{platform_string}'" }
- end
+ @_default_files ||= { "lib/#{entrypoint}.rb" => "#{Builders.constantize(name)} = '#{version}#{platform_string}'" }
+ end
+
+ def entrypoint
+ name.tr("-", "/")
end
def _default_path
@context.tmp("libs", @spec.full_name)
end
+
+ def platform_string
+ " #{@spec.platform}" unless @spec.platform == Gem::Platform::RUBY
+ end
end
class GitBuilder < LibBuilder
@@ -767,7 +772,10 @@ module Spec
class PluginBuilder < GemBuilder
def _default_files
- @_default_files ||= super.merge("plugins.rb" => "")
+ @_default_files ||= {
+ "lib/#{name}.rb" => "#{Builders.constantize(name)} = '#{version}#{platform_string}'",
+ "plugins.rb" => "",
+ }
end
end
diff --git a/spec/support/matchers.rb b/spec/support/matchers.rb
index e1a08a30cc..df35854c2f 100644
--- a/spec/support/matchers.rb
+++ b/spec/support/matchers.rb
@@ -128,7 +128,7 @@ module Spec
groups << opts
@errors = names.map do |name|
name, version, platform = name.split(/\s+/)
- require_path = name == "bundler" ? "#{lib_dir}/bundler" : name
+ require_path = name == "bundler" ? "#{lib_dir}/bundler" : name.tr("-", "/")
version_const = name == "bundler" ? "Bundler::VERSION" : Spec::Builders.constantize(name)
begin
run! "require '#{require_path}.rb'; puts #{version_const}", *groups
@@ -145,7 +145,7 @@ module Spec
next unless source
begin
source_const = "#{Spec::Builders.constantize(name)}_SOURCE"
- run! "require '#{name}/source'; puts #{source_const}", *groups
+ run! "require '#{require_path}/source'; puts #{source_const}", *groups
rescue StandardError
next "#{name} does not have a source defined:\n#{indent(e)}"
end