rubygems-update 2.1.0.rc.1 → 2.1.0.rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of rubygems-update might be problematic. Click here for more details.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/History.txt +11 -3
- data/Manifest.txt +1 -0
- data/Rakefile +22 -18
- data/lib/rubygems.rb +8 -10
- data/lib/rubygems/basic_specification.rb +112 -108
- data/lib/rubygems/commands/build_command.rb +19 -0
- data/lib/rubygems/commands/check_command.rb +7 -0
- data/lib/rubygems/commands/cleanup_command.rb +5 -5
- data/lib/rubygems/commands/contents_command.rb +8 -0
- data/lib/rubygems/commands/dependency_command.rb +11 -0
- data/lib/rubygems/commands/environment_command.rb +3 -0
- data/lib/rubygems/commands/fetch_command.rb +10 -0
- data/lib/rubygems/commands/list_command.rb +12 -1
- data/lib/rubygems/commands/mirror_command.rb +6 -0
- data/lib/rubygems/commands/outdated_command.rb +9 -0
- data/lib/rubygems/commands/owner_command.rb +9 -2
- data/lib/rubygems/commands/pristine_command.rb +12 -11
- data/lib/rubygems/commands/push_command.rb +8 -2
- data/lib/rubygems/commands/query_command.rb +9 -0
- data/lib/rubygems/commands/rdoc_command.rb +6 -2
- data/lib/rubygems/commands/search_command.rb +14 -1
- data/lib/rubygems/commands/sources_command.rb +47 -0
- data/lib/rubygems/commands/specification_command.rb +16 -0
- data/lib/rubygems/commands/stale_command.rb +10 -0
- data/lib/rubygems/commands/uninstall_command.rb +19 -6
- data/lib/rubygems/commands/unpack_command.rb +18 -0
- data/lib/rubygems/commands/update_command.rb +9 -0
- data/lib/rubygems/commands/which_command.rb +11 -0
- data/lib/rubygems/commands/yank_command.rb +16 -2
- data/lib/rubygems/core_ext/kernel_require.rb +4 -4
- data/lib/rubygems/defaults.rb +7 -0
- data/lib/rubygems/dependency_installer.rb +1 -4
- data/lib/rubygems/ext/builder.rb +118 -0
- data/lib/rubygems/installer.rb +7 -60
- data/lib/rubygems/package_task.rb +5 -2
- data/lib/rubygems/remote_fetcher.rb +1 -1
- data/lib/rubygems/security/policy.rb +5 -0
- data/lib/rubygems/security/signer.rb +19 -1
- data/lib/rubygems/source.rb +7 -3
- data/lib/rubygems/source/local.rb +5 -4
- data/lib/rubygems/source/specific_file.rb +28 -0
- data/lib/rubygems/specification.rb +55 -44
- data/lib/rubygems/stub_specification.rb +93 -92
- data/lib/rubygems/test_case.rb +10 -9
- data/test/rubygems/test_gem.rb +27 -0
- data/test/rubygems/test_gem_commands_install_command.rb +1 -0
- data/test/rubygems/test_gem_commands_uninstall_command.rb +17 -8
- data/test/rubygems/test_gem_ext_builder.rb +97 -2
- data/test/rubygems/test_gem_installer.rb +0 -89
- data/test/rubygems/test_gem_package.rb +6 -8
- data/test/rubygems/test_gem_package_task.rb +23 -2
- data/test/rubygems/test_gem_security_policy.rb +11 -0
- data/test/rubygems/test_gem_security_signer.rb +6 -0
- data/test/rubygems/test_gem_source.rb +23 -0
- data/test/rubygems/test_gem_source_installed.rb +28 -0
- data/test/rubygems/test_gem_source_local.rb +29 -6
- data/test/rubygems/test_gem_source_specific_file.rb +38 -0
- data/test/rubygems/test_gem_specification.rb +10 -2
- metadata +7 -5
- metadata.gz.sig +0 -0
data/lib/rubygems/test_case.rb
CHANGED
@@ -785,7 +785,7 @@ Also, a list:
|
|
785
785
|
@a_evil9 = quick_gem('a_evil', '9', &init)
|
786
786
|
@b2 = quick_gem('b', '2', &init)
|
787
787
|
@c1_2 = quick_gem('c', '1.2', &init)
|
788
|
-
@x = quick_gem('x', '1',
|
788
|
+
@x = quick_gem('x', '1', &init)
|
789
789
|
@dep_x = quick_gem('dep_x', '1') do |s|
|
790
790
|
s.files = %w[lib/code.rb]
|
791
791
|
s.require_paths = %w[lib]
|
@@ -805,14 +805,15 @@ Also, a list:
|
|
805
805
|
util_build_gem @a2_pre
|
806
806
|
end
|
807
807
|
|
808
|
-
write_file File.join(*%W[gems #{@a1.original_name}
|
809
|
-
write_file File.join(*%W[gems #{@a2.original_name}
|
810
|
-
write_file File.join(*%W[gems #{@a3a.original_name}
|
811
|
-
write_file File.join(*%W[gems #{@
|
812
|
-
write_file File.join(*%W[gems #{@
|
813
|
-
write_file File.join(*%W[gems #{@
|
814
|
-
write_file File.join(*%W[gems #{@
|
815
|
-
write_file File.join(*%W[gems #{@
|
808
|
+
write_file File.join(*%W[gems #{@a1.original_name} lib code.rb])
|
809
|
+
write_file File.join(*%W[gems #{@a2.original_name} lib code.rb])
|
810
|
+
write_file File.join(*%W[gems #{@a3a.original_name} lib code.rb])
|
811
|
+
write_file File.join(*%W[gems #{@a_evil9.original_name} lib code.rb])
|
812
|
+
write_file File.join(*%W[gems #{@b2.original_name} lib code.rb])
|
813
|
+
write_file File.join(*%W[gems #{@c1_2.original_name} lib code.rb])
|
814
|
+
write_file File.join(*%W[gems #{@pl1.original_name} lib code.rb])
|
815
|
+
write_file File.join(*%W[gems #{@x.original_name} lib code.rb])
|
816
|
+
write_file File.join(*%W[gems #{@dep_x.original_name} lib code.rb])
|
816
817
|
|
817
818
|
[@a1, @a2, @a3a, @a_evil9, @b2, @c1_2, @pl1, @x, @dep_x].each do |spec|
|
818
819
|
util_build_gem spec
|
data/test/rubygems/test_gem.rb
CHANGED
@@ -1181,6 +1181,33 @@ class TestGem < Gem::TestCase
|
|
1181
1181
|
assert_equal nil, Gem.find_unresolved_default_spec("README")
|
1182
1182
|
end
|
1183
1183
|
|
1184
|
+
def test_default_gems_use_full_paths
|
1185
|
+
begin
|
1186
|
+
if defined?(RUBY_ENGINE) then
|
1187
|
+
engine = RUBY_ENGINE
|
1188
|
+
Object.send :remove_const, :RUBY_ENGINE
|
1189
|
+
end
|
1190
|
+
Object.const_set :RUBY_ENGINE, 'ruby'
|
1191
|
+
|
1192
|
+
refute Gem.default_gems_use_full_paths?
|
1193
|
+
ensure
|
1194
|
+
Object.send :remove_const, :RUBY_ENGINE
|
1195
|
+
Object.const_set :RUBY_ENGINE, engine if engine
|
1196
|
+
end
|
1197
|
+
|
1198
|
+
begin
|
1199
|
+
if defined?(RUBY_ENGINE) then
|
1200
|
+
engine = RUBY_ENGINE
|
1201
|
+
Object.send :remove_const, :RUBY_ENGINE
|
1202
|
+
end
|
1203
|
+
Object.const_set :RUBY_ENGINE, 'jruby'
|
1204
|
+
assert Gem.default_gems_use_full_paths?
|
1205
|
+
ensure
|
1206
|
+
Object.send :remove_const, :RUBY_ENGINE
|
1207
|
+
Object.const_set :RUBY_ENGINE, engine if engine
|
1208
|
+
end
|
1209
|
+
end
|
1210
|
+
|
1184
1211
|
def with_plugin(path)
|
1185
1212
|
test_plugin_path = File.expand_path("test/rubygems/plugin/#{path}",
|
1186
1213
|
@@project_dir)
|
@@ -26,8 +26,8 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
|
30
|
-
@ui.error
|
29
|
+
assert_match(/\A(?:WARNING: Unable to use symlinks on Windows, installing wrapper\n)?ERROR: Gem names and --all may not be used together\n\z/,
|
30
|
+
@ui.error)
|
31
31
|
end
|
32
32
|
|
33
33
|
def test_execute_dependency_order
|
@@ -191,21 +191,30 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
|
|
191
191
|
end
|
192
192
|
|
193
193
|
def test_execute_all
|
194
|
-
ui = Gem::MockGemUi.new "y\n"
|
195
|
-
|
196
194
|
util_make_gems
|
197
|
-
util_setup_gem ui
|
198
195
|
|
199
|
-
|
196
|
+
default = new_default_spec 'default', '1'
|
197
|
+
install_default_gems default
|
198
|
+
|
199
|
+
gemhome2 = "#{@gemhome}2"
|
200
|
+
|
201
|
+
a_4 = quick_spec 'a', 4
|
202
|
+
install_gem a_4, :install_dir => gemhome2
|
203
|
+
|
204
|
+
Gem::Specification.dirs = [@gemhome, gemhome2]
|
205
|
+
|
206
|
+
assert_includes Gem::Specification.all_names, 'a-1'
|
207
|
+
assert_includes Gem::Specification.all_names, 'a-4'
|
208
|
+
assert_includes Gem::Specification.all_names, 'default-1'
|
200
209
|
|
201
210
|
@cmd.options[:all] = true
|
202
211
|
@cmd.options[:args] = []
|
203
212
|
|
204
|
-
use_ui ui do
|
213
|
+
use_ui @ui do
|
205
214
|
@cmd.execute
|
206
215
|
end
|
207
216
|
|
208
|
-
|
217
|
+
assert_equal %w[a-4 default-1], Gem::Specification.all_names.sort
|
209
218
|
end
|
210
219
|
|
211
220
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'rubygems/test_case'
|
2
2
|
require 'rubygems/ext'
|
3
|
+
require 'rubygems/installer'
|
3
4
|
|
4
5
|
class TestGemExtBuilder < Gem::TestCase
|
5
6
|
|
@@ -13,6 +14,10 @@ class TestGemExtBuilder < Gem::TestCase
|
|
13
14
|
FileUtils.mkdir_p @dest_path
|
14
15
|
|
15
16
|
@orig_DESTDIR = ENV['DESTDIR']
|
17
|
+
|
18
|
+
@spec = quick_spec 'a'
|
19
|
+
|
20
|
+
@builder = Gem::Ext::Builder.new @spec, ''
|
16
21
|
end
|
17
22
|
|
18
23
|
def teardown
|
@@ -50,8 +55,98 @@ install:
|
|
50
55
|
refute_match %r%"DESTDIR=#{ENV['DESTDIR']}" install$%, results
|
51
56
|
end
|
52
57
|
|
53
|
-
|
54
|
-
|
58
|
+
if /nmake/ !~ results
|
59
|
+
assert_match %r%^all: destination$%, results
|
60
|
+
assert_match %r%^install: destination$%, results
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_build_extensions_none
|
65
|
+
use_ui @ui do
|
66
|
+
@builder.build_extensions
|
67
|
+
end
|
68
|
+
|
69
|
+
assert_equal '', @ui.output
|
70
|
+
assert_equal '', @ui.error
|
71
|
+
|
72
|
+
refute File.exist?('gem_make.out')
|
73
|
+
end
|
74
|
+
|
75
|
+
def test_build_extensions_extconf_bad
|
76
|
+
@spec.extensions << 'extconf.rb'
|
77
|
+
|
78
|
+
e = assert_raises Gem::Installer::ExtensionBuildError do
|
79
|
+
use_ui @ui do
|
80
|
+
@builder.build_extensions
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
assert_match(/\AERROR: Failed to build gem native extension.$/, e.message)
|
85
|
+
|
86
|
+
assert_equal "Building native extensions. This could take a while...\n",
|
87
|
+
@ui.output
|
88
|
+
assert_equal '', @ui.error
|
89
|
+
|
90
|
+
gem_make_out = File.join @gemhome, 'gems', @spec.full_name, 'gem_make.out'
|
91
|
+
|
92
|
+
assert_match %r%#{Regexp.escape Gem.ruby} extconf\.rb%,
|
93
|
+
File.read(gem_make_out)
|
94
|
+
assert_match %r%#{Regexp.escape Gem.ruby}: No such file%,
|
95
|
+
File.read(gem_make_out)
|
96
|
+
end
|
97
|
+
|
98
|
+
def test_build_extensions_unsupported
|
99
|
+
FileUtils.mkdir_p @spec.gem_dir
|
100
|
+
gem_make_out = File.join @spec.gem_dir, 'gem_make.out'
|
101
|
+
@spec.extensions << nil
|
102
|
+
|
103
|
+
e = assert_raises Gem::Installer::ExtensionBuildError do
|
104
|
+
use_ui @ui do
|
105
|
+
@builder.build_extensions
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
assert_match(/^\s*No builder for extension ''$/, e.message)
|
110
|
+
|
111
|
+
assert_equal "Building native extensions. This could take a while...\n",
|
112
|
+
@ui.output
|
113
|
+
assert_equal '', @ui.error
|
114
|
+
|
115
|
+
assert_equal "No builder for extension ''\n", File.read(gem_make_out)
|
116
|
+
ensure
|
117
|
+
FileUtils.rm_f gem_make_out
|
118
|
+
end
|
119
|
+
|
120
|
+
def test_build_extensions_with_build_args
|
121
|
+
args = ["--aa", "--bb"]
|
122
|
+
@builder.build_args = args
|
123
|
+
@spec.extensions << 'extconf.rb'
|
124
|
+
|
125
|
+
FileUtils.mkdir_p @spec.gem_dir
|
126
|
+
|
127
|
+
open File.join(@spec.gem_dir, "extconf.rb"), "w" do |f|
|
128
|
+
f.write <<-'RUBY'
|
129
|
+
puts "IN EXTCONF"
|
130
|
+
extconf_args = File.join File.dirname(__FILE__), 'extconf_args'
|
131
|
+
File.open extconf_args, 'w' do |f|
|
132
|
+
f.puts ARGV.inspect
|
133
|
+
end
|
134
|
+
|
135
|
+
File.open 'Makefile', 'w' do |f|
|
136
|
+
f.puts "default:\n\techo built"
|
137
|
+
f.puts "install:\n\techo installed"
|
138
|
+
end
|
139
|
+
RUBY
|
140
|
+
end
|
141
|
+
|
142
|
+
use_ui @ui do
|
143
|
+
@builder.build_extensions
|
144
|
+
end
|
145
|
+
|
146
|
+
path = File.join @spec.gem_dir, "extconf_args"
|
147
|
+
|
148
|
+
assert_equal args.inspect, File.read(path).strip
|
149
|
+
assert File.directory? File.join(@spec.gem_dir, 'lib')
|
55
150
|
end
|
56
151
|
|
57
152
|
end
|
@@ -55,95 +55,6 @@ load Gem.bin_path('a', 'executable', version)
|
|
55
55
|
assert_equal expected, wrapper
|
56
56
|
end
|
57
57
|
|
58
|
-
def test_build_extensions_none
|
59
|
-
use_ui @ui do
|
60
|
-
@installer.build_extensions
|
61
|
-
end
|
62
|
-
|
63
|
-
assert_equal '', @ui.output
|
64
|
-
assert_equal '', @ui.error
|
65
|
-
|
66
|
-
refute File.exist?('gem_make.out')
|
67
|
-
end
|
68
|
-
|
69
|
-
def test_build_extensions_extconf_bad
|
70
|
-
@installer.spec = @spec
|
71
|
-
@spec.extensions << 'extconf.rb'
|
72
|
-
|
73
|
-
e = assert_raises Gem::Installer::ExtensionBuildError do
|
74
|
-
use_ui @ui do
|
75
|
-
@installer.build_extensions
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
assert_match(/\AERROR: Failed to build gem native extension.$/, e.message)
|
80
|
-
|
81
|
-
assert_equal "Building native extensions. This could take a while...\n",
|
82
|
-
@ui.output
|
83
|
-
assert_equal '', @ui.error
|
84
|
-
|
85
|
-
gem_make_out = File.join @gemhome, 'gems', @spec.full_name, 'gem_make.out'
|
86
|
-
|
87
|
-
assert_match %r%#{Regexp.escape Gem.ruby} extconf\.rb%,
|
88
|
-
File.read(gem_make_out)
|
89
|
-
assert_match %r%#{Regexp.escape Gem.ruby}: No such file%,
|
90
|
-
File.read(gem_make_out)
|
91
|
-
end
|
92
|
-
|
93
|
-
def test_build_extensions_unsupported
|
94
|
-
@installer.spec = @spec
|
95
|
-
FileUtils.mkdir_p @spec.gem_dir
|
96
|
-
gem_make_out = File.join @spec.gem_dir, 'gem_make.out'
|
97
|
-
@spec.extensions << nil
|
98
|
-
|
99
|
-
e = assert_raises Gem::Installer::ExtensionBuildError do
|
100
|
-
use_ui @ui do
|
101
|
-
@installer.build_extensions
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
assert_match(/^\s*No builder for extension ''$/, e.message)
|
106
|
-
|
107
|
-
assert_equal "Building native extensions. This could take a while...\n",
|
108
|
-
@ui.output
|
109
|
-
assert_equal '', @ui.error
|
110
|
-
|
111
|
-
assert_equal "No builder for extension ''\n", File.read(gem_make_out)
|
112
|
-
ensure
|
113
|
-
FileUtils.rm_f gem_make_out
|
114
|
-
end
|
115
|
-
|
116
|
-
def test_build_extensions_with_build_args
|
117
|
-
args = ["--aa", "--bb"]
|
118
|
-
@installer.build_args = args
|
119
|
-
@installer.spec = @spec
|
120
|
-
@spec.extensions << 'extconf.rb'
|
121
|
-
|
122
|
-
File.open File.join(@spec.gem_dir, "extconf.rb"), "w" do |f|
|
123
|
-
f.write <<-'RUBY'
|
124
|
-
puts "IN EXTCONF"
|
125
|
-
extconf_args = File.join File.dirname(__FILE__), 'extconf_args'
|
126
|
-
File.open extconf_args, 'w' do |f|
|
127
|
-
f.puts ARGV.inspect
|
128
|
-
end
|
129
|
-
|
130
|
-
File.open 'Makefile', 'w' do |f|
|
131
|
-
f.puts "default:\n\techo built"
|
132
|
-
f.puts "install:\n\techo installed"
|
133
|
-
end
|
134
|
-
RUBY
|
135
|
-
end
|
136
|
-
|
137
|
-
use_ui @ui do
|
138
|
-
@installer.build_extensions
|
139
|
-
end
|
140
|
-
|
141
|
-
path = File.join @spec.gem_dir, "extconf_args"
|
142
|
-
|
143
|
-
assert_equal args.inspect, File.read(path).strip
|
144
|
-
assert File.directory? File.join(@spec.gem_dir, 'lib')
|
145
|
-
end
|
146
|
-
|
147
58
|
def test_check_executable_overwrite
|
148
59
|
@installer.generate_bin
|
149
60
|
|
@@ -64,13 +64,16 @@ class TestGemPackage < Gem::Package::TarTestCase
|
|
64
64
|
reader = Gem::Package::TarReader.new gem_io
|
65
65
|
|
66
66
|
checksums = nil
|
67
|
+
tar = nil
|
67
68
|
|
68
69
|
reader.each_entry do |entry|
|
69
70
|
case entry.full_name
|
70
|
-
when 'checksums.yaml.gz'
|
71
|
+
when 'checksums.yaml.gz' then
|
71
72
|
Zlib::GzipReader.wrap entry do |io|
|
72
73
|
checksums = io.read
|
73
74
|
end
|
75
|
+
when 'data.tar.gz' then
|
76
|
+
tar = entry.read
|
74
77
|
end
|
75
78
|
end
|
76
79
|
|
@@ -83,22 +86,17 @@ class TestGemPackage < Gem::Package::TarTestCase
|
|
83
86
|
metadata_sha1 = Digest::SHA1.hexdigest s.string
|
84
87
|
metadata_sha512 = Digest::SHA512.hexdigest s.string
|
85
88
|
|
86
|
-
data_digests = nil
|
87
|
-
util_tar do |tar|
|
88
|
-
data_digests = package.add_contents tar
|
89
|
-
end
|
90
|
-
|
91
89
|
expected = {
|
92
90
|
'SHA512' => {
|
93
91
|
'metadata.gz' => metadata_sha512,
|
94
|
-
'data.tar.gz' =>
|
92
|
+
'data.tar.gz' => Digest::SHA512.hexdigest(tar),
|
95
93
|
}
|
96
94
|
}
|
97
95
|
|
98
96
|
if defined?(OpenSSL::Digest) then
|
99
97
|
expected['SHA1'] = {
|
100
98
|
'metadata.gz' => metadata_sha1,
|
101
|
-
'data.tar.gz' =>
|
99
|
+
'data.tar.gz' => Digest::SHA1.hexdigest(tar),
|
102
100
|
}
|
103
101
|
end
|
104
102
|
|
@@ -4,16 +4,37 @@ require 'rubygems/package_task'
|
|
4
4
|
|
5
5
|
class TestGemPackageTask < Gem::TestCase
|
6
6
|
|
7
|
+
def setup
|
8
|
+
super
|
9
|
+
|
10
|
+
Rake.application = Rake::Application.new
|
11
|
+
RakeFileUtils.verbose_flag = false
|
12
|
+
end
|
13
|
+
|
7
14
|
def test_gem_package
|
8
15
|
gem = Gem::Specification.new do |g|
|
9
16
|
g.name = "pkgr"
|
10
17
|
g.version = "1.2.3"
|
11
|
-
|
18
|
+
|
19
|
+
g.authors = %w[author]
|
20
|
+
g.files = %w[x]
|
21
|
+
g.summary = 'summary'
|
12
22
|
end
|
23
|
+
|
13
24
|
pkg = Gem::PackageTask.new(gem) do |p|
|
14
25
|
p.package_files << "y"
|
15
26
|
end
|
16
|
-
|
27
|
+
|
28
|
+
assert_equal %w[x y], pkg.package_files
|
29
|
+
|
30
|
+
Dir.chdir @tempdir do
|
31
|
+
FileUtils.touch 'x'
|
32
|
+
FileUtils.touch 'y'
|
33
|
+
|
34
|
+
Rake.application['package'].invoke
|
35
|
+
|
36
|
+
assert_path_exists 'pkg/pkgr-1.2.3.gem'
|
37
|
+
end
|
17
38
|
end
|
18
39
|
|
19
40
|
def test_gem_package_with_current_platform
|
@@ -351,6 +351,17 @@ class TestGemSecurityPolicy < Gem::TestCase
|
|
351
351
|
end
|
352
352
|
end
|
353
353
|
|
354
|
+
def test_verify_no_signatures_no_digests
|
355
|
+
Gem::Security.trust_dir.trust_cert PUBLIC_CERT
|
356
|
+
|
357
|
+
use_ui @ui do
|
358
|
+
@no.verify [PUBLIC_CERT], nil, {}, {}, 'some_gem'
|
359
|
+
end
|
360
|
+
|
361
|
+
assert_empty @ui.output
|
362
|
+
assert_empty @ui.error
|
363
|
+
end
|
364
|
+
|
354
365
|
def test_verify_not_enough_signatures
|
355
366
|
Gem::Security.trust_dir.trust_cert PUBLIC_CERT
|
356
367
|
|
@@ -84,6 +84,12 @@ class TestGemSecuritySigner < Gem::TestCase
|
|
84
84
|
assert_equal ENCRYPTED_PRIVATE_KEY.to_s, signer.key.to_s
|
85
85
|
end
|
86
86
|
|
87
|
+
def test_extract_name
|
88
|
+
signer = Gem::Security::Signer.new nil, nil
|
89
|
+
|
90
|
+
assert_equal 'child@example', signer.extract_name(CHILD_CERT)
|
91
|
+
end
|
92
|
+
|
87
93
|
def test_load_cert_chain
|
88
94
|
Gem::Security.trust_dir.trust_cert PUBLIC_CERT
|
89
95
|
|