From 9f15870946720ef9a0dbaa3ac336fff8bd149752 Mon Sep 17 00:00:00 2001 From: Matt Jones Date: Sat, 11 Oct 2008 13:54:21 -0400 Subject: Make VendorGemSourceIndex handle broken/missing specs generated by previous versions. Signed-off-by: Michael Koziarski --- railties/test/gem_dependency_test.rb | 20 ++++++++++++++++ .../gems/dummy-gem-d-1.0.0/lib/dummy-gem-d.rb | 1 + .../vendor/gems/dummy-gem-e-1.0.0/.specification | 28 ++++++++++++++++++++++ .../gems/dummy-gem-e-1.0.0/lib/dummy-gem-e.rb | 1 + 4 files changed, 50 insertions(+) create mode 100644 railties/test/vendor/gems/dummy-gem-d-1.0.0/lib/dummy-gem-d.rb create mode 100644 railties/test/vendor/gems/dummy-gem-e-1.0.0/.specification create mode 100644 railties/test/vendor/gems/dummy-gem-e-1.0.0/lib/dummy-gem-e.rb (limited to 'railties/test') diff --git a/railties/test/gem_dependency_test.rb b/railties/test/gem_dependency_test.rb index 89e25341d1..5f026b2616 100644 --- a/railties/test/gem_dependency_test.rb +++ b/railties/test/gem_dependency_test.rb @@ -1,3 +1,6 @@ +require 'lib/rails/vendor_gem_source_index' +Rails::VendorGemSourceIndex.silence_spec_warnings = true + require 'plugin_test_helper' class Rails::GemDependency @@ -110,5 +113,22 @@ uses_mocha "Plugin Tests" do assert_equal '0.6.0', DUMMY_GEM_C_VERSION end + def test_gem_load_missing_specification + dummy_gem = Rails::GemDependency.new "dummy-gem-d" + dummy_gem.add_load_paths + dummy_gem.load + assert_not_nil DUMMY_GEM_D_VERSION + assert_equal '1.0.0', DUMMY_GEM_D_VERSION + assert_equal ['lib', 'lib/dummy-gem-d.rb'], dummy_gem.specification.files + end + + def test_gem_load_bad_specification + dummy_gem = Rails::GemDependency.new "dummy-gem-e", :version => "= 1.0.0" + dummy_gem.add_load_paths + dummy_gem.load + assert_not_nil DUMMY_GEM_E_VERSION + assert_equal '1.0.0', DUMMY_GEM_E_VERSION + end + end end diff --git a/railties/test/vendor/gems/dummy-gem-d-1.0.0/lib/dummy-gem-d.rb b/railties/test/vendor/gems/dummy-gem-d-1.0.0/lib/dummy-gem-d.rb new file mode 100644 index 0000000000..e5cb007e5f --- /dev/null +++ b/railties/test/vendor/gems/dummy-gem-d-1.0.0/lib/dummy-gem-d.rb @@ -0,0 +1 @@ +DUMMY_GEM_D_VERSION="1.0.0" diff --git a/railties/test/vendor/gems/dummy-gem-e-1.0.0/.specification b/railties/test/vendor/gems/dummy-gem-e-1.0.0/.specification new file mode 100644 index 0000000000..ce4443c8be --- /dev/null +++ b/railties/test/vendor/gems/dummy-gem-e-1.0.0/.specification @@ -0,0 +1,28 @@ +--- !ruby/object:Gem::Specification +name: dummy-gem-e +version: !ruby/object:Gem::Version + version: 1.3.0 +platform: ruby +authors: +- "Nobody" +date: 2008-10-03 00:00:00 -04:00 +files: +- lib +- lib/dummy-gem-e.rb +require_paths: +- lib +required_ruby_version: !ruby/object:Gem::Requirement + requirements: + - - ">=" + - !ruby/object:Gem::Version + version: "0" + version: +required_rubygems_version: !ruby/object:Gem::Requirement + requirements: + - - ">=" + - !ruby/object:Gem::Version + version: "0" + version: +requirements: [] +specification_version: 2 +summary: Dummy Gem E diff --git a/railties/test/vendor/gems/dummy-gem-e-1.0.0/lib/dummy-gem-e.rb b/railties/test/vendor/gems/dummy-gem-e-1.0.0/lib/dummy-gem-e.rb new file mode 100644 index 0000000000..48bf91a701 --- /dev/null +++ b/railties/test/vendor/gems/dummy-gem-e-1.0.0/lib/dummy-gem-e.rb @@ -0,0 +1 @@ +DUMMY_GEM_E_VERSION="1.0.0" -- cgit v1.2.3