aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test
diff options
context:
space:
mode:
authorMatt Jones <al2o3cr@gmail.com>2008-10-11 13:54:21 -0400
committerMichael Koziarski <michael@koziarski.com>2008-10-13 17:27:25 +0200
commit9f15870946720ef9a0dbaa3ac336fff8bd149752 (patch)
treeb40988cff37cc44838f003e0920a4959ca502e5b /railties/test
parent0d4dbb3dfaec8355e072d8f758de40a277f2f009 (diff)
downloadrails-9f15870946720ef9a0dbaa3ac336fff8bd149752.tar.gz
rails-9f15870946720ef9a0dbaa3ac336fff8bd149752.tar.bz2
rails-9f15870946720ef9a0dbaa3ac336fff8bd149752.zip
Make VendorGemSourceIndex handle broken/missing specs generated by previous versions.
Signed-off-by: Michael Koziarski <michael@koziarski.com>
Diffstat (limited to 'railties/test')
-rw-r--r--railties/test/gem_dependency_test.rb20
-rw-r--r--railties/test/vendor/gems/dummy-gem-d-1.0.0/lib/dummy-gem-d.rb1
-rw-r--r--railties/test/vendor/gems/dummy-gem-e-1.0.0/.specification28
-rw-r--r--railties/test/vendor/gems/dummy-gem-e-1.0.0/lib/dummy-gem-e.rb1
4 files changed, 50 insertions, 0 deletions
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"