5 # This test demonstrates and verifies the marshalling fix for JRUBY-1877.
6 class TestMarshalGemspec < Test::Unit::TestCase
8 @index = YAML::load <<-YAML
9 --- !ruby/object:Gem::Cache
11 activerecord-jdbcderby-adapter-0.6: !ruby/object:Gem::Specification
12 rubygems_version: 0.9.4
13 specification_version: 1
14 name: activerecord-jdbcderby-adapter
15 version: !ruby/object:Gem::Version
17 date: 2007-11-04 22:00:00 -08:00
18 summary: Derby JDBC adapter for JRuby on Rails.
21 email: nick@nicksieger.com, ola.bini@gmail.com
22 homepage: http://jruby-extras.rubyforge.org/ActiveRecord-JDBC
23 rubyforge_project: jruby-extras
24 description: Install this gem to use Derby with JRuby on Rails.
29 required_ruby_version: !ruby/object:Gem::Version::Requirement
32 - !ruby/object:Gem::Version
41 - Nick Sieger, Ola Bini and JRuby contributors
57 - !ruby/object:Gem::Dependency
58 name: activerecord-jdbc-adapter
60 version_requirements: !ruby/object:Gem::Version::Requirement
63 - !ruby/object:Gem::Version
66 - !ruby/object:Gem::Dependency
69 version_requirements: !ruby/object:Gem::Version::Requirement
72 - !ruby/object:Gem::Version
76 @gemspec = @index.search("activerecord-jdbcderby-adapter").first
79 def assert_gemspec(newspec)
82 assert_equal @gemspec.name, newspec.name
83 assert_equal @gemspec.dependencies.size, newspec.dependencies.size
84 assert_equal @gemspec.dependencies[0], newspec.dependencies[0]
85 assert_equal @gemspec.dependencies[1], newspec.dependencies[1]
88 def test_dump_and_load_gemspec_from_yaml
89 assert_gemspec(Marshal.load(Marshal.dump(@gemspec)))
92 def test_dump_and_load_index_from_yaml
93 newindex = Marshal.load(Marshal.dump(@index))
94 newspec = newindex.search("activerecord-jdbcderby-adapter").first
95 assert_gemspec(newspec)
98 def test_dump_and_load_from_source
99 @gemspec = Gem::Specification.new do |s|
100 s.name = %q{activerecord-jdbcderby-adapter}
102 s.specification_version = 1 if s.respond_to? :specification_version=
103 s.required_rubygems_version = nil if s.respond_to? :required_rubygems_version=
104 s.authors = ["Nick Sieger, Ola Bini and JRuby contributors"]
105 s.date = %q{2007-11-04}
106 s.description = %q{Install this gem to use Derby with JRuby on Rails.}
107 s.email = %q{nick@nicksieger.com, ola.bini@gmail.com}
109 s.homepage = %q{http://jruby-extras.rubyforge.org/ActiveRecord-JDBC}
110 s.require_paths = ["lib"]
111 s.required_ruby_version = Gem::Requirement.new("> 0.0.0")
112 s.rubyforge_project = %q{jruby-extras}
113 s.rubygems_version = %q{1.0.1}
114 s.summary = %q{Derby JDBC adapter for JRuby on Rails.}
115 s.add_dependency(%q<activerecord-jdbc-adapter>, [">= 0.6"])
116 s.add_dependency(%q<jdbc-derby>, [">= 10.2.2.0"])
118 test_dump_and_load_gemspec_from_yaml