File: test_marshal_gemspec.rb

package info (click to toggle)
jruby 1.5.1-1
  • links: PTS, VCS
  • area: non-free
  • in suites: squeeze
  • size: 46,252 kB
  • ctags: 72,039
  • sloc: ruby: 398,155; java: 169,482; yacc: 3,782; xml: 2,469; ansic: 415; sh: 279; makefile: 78; tcl: 40
file content (120 lines) | stat: -rw-r--r-- 3,726 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
require 'test/unit'
require 'rubygems'
require 'yaml'

# This test demonstrates and verifies the marshalling fix for JRUBY-1877.
class TestMarshalGemspec < Test::Unit::TestCase
  def setup
    @index = YAML::load <<-YAML
--- !ruby/object:Gem::Cache
gems:
  activerecord-jdbcderby-adapter-0.6: !ruby/object:Gem::Specification
    rubygems_version: 0.9.4
    specification_version: 1
    name: activerecord-jdbcderby-adapter
    version: !ruby/object:Gem::Version
      version: "0.6"
    date: 2007-11-04 22:00:00 -08:00
    summary: Derby JDBC adapter for JRuby on Rails.
    require_paths:
    - lib
    email: nick@nicksieger.com, ola.bini@gmail.com
    homepage: http://jruby-extras.rubyforge.org/ActiveRecord-JDBC
    rubyforge_project: jruby-extras
    description: Install this gem to use Derby with JRuby on Rails.
    autorequire:
    default_executable:
    bindir: bin
    has_rdoc: true
    required_ruby_version: !ruby/object:Gem::Version::Requirement
      requirements:
      - - ">"
        - !ruby/object:Gem::Version
          version: 0.0.0
      version:
    platform: ruby
    signing_key:
    cert_chain: []

    post_install_message:
    authors:
    - Nick Sieger, Ola Bini and JRuby contributors
    files: []

    test_files: []

    rdoc_options: []

    extra_rdoc_files: []

    executables: []

    extensions: []

    requirements: []

    dependencies:
    - !ruby/object:Gem::Dependency
      name: activerecord-jdbc-adapter
      version_requirement:
      version_requirements: !ruby/object:Gem::Version::Requirement
        requirements:
        - - ">="
          - !ruby/object:Gem::Version
            version: "0.6"
        version:
    - !ruby/object:Gem::Dependency
      name: jdbc-derby
      version_requirement:
      version_requirements: !ruby/object:Gem::Version::Requirement
        requirements:
        - - ">="
          - !ruby/object:Gem::Version
            version: 10.2.2.0
        version:
YAML
    @gemspec = @index.search("activerecord-jdbcderby-adapter").first
  end

  def assert_gemspec(newspec)
    assert @gemspec
    assert newspec
    assert_equal @gemspec.name, newspec.name
    assert_equal @gemspec.dependencies.size, newspec.dependencies.size
    assert_equal @gemspec.dependencies[0], newspec.dependencies[0]
    assert_equal @gemspec.dependencies[1], newspec.dependencies[1]
  end

  def test_dump_and_load_gemspec_from_yaml
    assert_gemspec(Marshal.load(Marshal.dump(@gemspec)))
  end

  def test_dump_and_load_index_from_yaml
    newindex = Marshal.load(Marshal.dump(@index))
    newspec = newindex.search("activerecord-jdbcderby-adapter").first
    assert_gemspec(newspec)
  end

  def test_dump_and_load_from_source
    @gemspec = Gem::Specification.new do |s|
      s.name = %q{activerecord-jdbcderby-adapter}
      s.version = "0.6"
      s.specification_version = 1 if s.respond_to? :specification_version=
      s.required_rubygems_version = nil if s.respond_to? :required_rubygems_version=
      s.authors = ["Nick Sieger, Ola Bini and JRuby contributors"]
      s.date = %q{2007-11-04}
      s.description = %q{Install this gem to use Derby with JRuby on Rails.}
      s.email = %q{nick@nicksieger.com, ola.bini@gmail.com}
      s.has_rdoc = true
      s.homepage = %q{http://jruby-extras.rubyforge.org/ActiveRecord-JDBC}
      s.require_paths = ["lib"]
      s.required_ruby_version = Gem::Requirement.new("> 0.0.0")
      s.rubyforge_project = %q{jruby-extras}
      s.rubygems_version = %q{1.0.1}
      s.summary = %q{Derby JDBC adapter for JRuby on Rails.}
      s.add_dependency(%q<activerecord-jdbc-adapter>, [">= 0.6"])
      s.add_dependency(%q<jdbc-derby>, [">= 10.2.2.0"])
    end
    test_dump_and_load_gemspec_from_yaml
  end
end