pik 0.2.6 → 0.2.7

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.
Files changed (47) hide show
  1. data/History.txt +20 -0
  2. data/Manifest.txt +4 -1
  3. data/README.rdoc +40 -17
  4. data/Rakefile +68 -59
  5. data/bin/pik_install +42 -14
  6. data/features/add_command.feature +8 -8
  7. data/features/config_command.feature +1 -2
  8. data/features/default_command.feature +3 -3
  9. data/features/gemsync_command.feature +1 -1
  10. data/features/info_command.feature +62 -0
  11. data/features/install_command.feature +22 -17
  12. data/features/list_command.feature +5 -5
  13. data/features/pik_install.feature +34 -2
  14. data/features/remove_command.feature +2 -2
  15. data/features/run_command.feature +6 -5
  16. data/features/step_definitions/pik_commands.rb +21 -7
  17. data/features/support/env.rb +75 -0
  18. data/features/support/proxy.ru +81 -0
  19. data/features/switch_command.feature +14 -13
  20. data/features/tag_command.feature +5 -5
  21. data/features/uninstall_command.feature +5 -6
  22. data/features/version.feature +2 -1
  23. data/lib/pik.rb +13 -6
  24. data/lib/pik/commands/add_command.rb +13 -1
  25. data/lib/pik/commands/command.rb +6 -6
  26. data/lib/pik/commands/config_command.rb +4 -2
  27. data/lib/pik/commands/devkit_command.rb +69 -0
  28. data/lib/pik/commands/gemsync_command.rb +4 -2
  29. data/lib/pik/commands/help_command.rb +1 -1
  30. data/lib/pik/commands/info_command.rb +35 -14
  31. data/lib/pik/commands/install_command.rb +6 -11
  32. data/lib/pik/commands/list_command.rb +26 -7
  33. data/lib/pik/commands/uninstall_command.rb +4 -4
  34. data/lib/pik/contrib/uri_ext.rb +1 -1
  35. data/lib/pik/core_ext/pathname.rb +2 -2
  36. data/lib/pik/implementations.rb +51 -7
  37. data/lib/pik/version_parser.rb +8 -5
  38. data/spec/html/ruby.htm +61 -15
  39. data/spec/implementations_spec.rb +4 -4
  40. data/spec/pathname_spec.rb +12 -4
  41. data/spec/version_parser_spec.rb +9 -2
  42. data/tools/pik.bat +1 -1
  43. data/tools/pik/pik_runner +1 -1
  44. data/tools/pik/pik_runner.exe +0 -0
  45. data/tools/pik/pik_runner.exy +121 -114
  46. metadata +58 -15
  47. data/features/env.rb +0 -45
@@ -5,25 +5,30 @@ Feature: install command
5
5
  So that he can download and install them
6
6
 
7
7
  Scenario: install from the intarwebs
8
- When I run "pik install ruby"
9
- Then I should see "** Downloading: http://rubyforge.org/frs/download.php/62269/ruby-1.9.1-p243-i386-mingw32.7z"
10
- And I should see " to: C:\temp\path with spaces\downloads"
11
- And I should see "** Extracting: C:\temp\path with spaces\downloads"
12
- And I should see "** Adding: 191: ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-mingw32]"
8
+ When I run "pik rm 191 -f -q"
9
+ When I run "pik install ruby 1.9.1"
10
+ Then I should see "** Downloading: http://rubyforge.org/frs/download.php/71082/ruby-1.9.1-p378-i386-mingw32-1.7z"
11
+ And I should see " to: C:\temp\path with spaces\downloads\ruby-1.9.1-p378-i386-mingw32-1.7z"
12
+ And I should see "** Extracting: C:\temp\path with spaces\downloads\ruby-1.9.1-p378-i386-mingw32-1.7z"
13
+ And I should see "** Adding: 191: ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32]"
13
14
 
14
15
 
15
16
  Scenario: install IronRuby
16
- When I run "pik in ironruby"
17
- Then I should see "** Downloading: http://rubyforge.org/frs/download.php/64504/ironruby-0.9.1.zip"
18
- And I should see " to: C:\temp\path with spaces\downloads\ironruby-0.9.1.zip"
19
- And I should see "** Extracting: C:\temp\path with spaces\downloads\ironruby-0.9.1.zip"
20
- And I should see "** Adding: 091: IronRuby 0.9.1.0 on .NET 2.0.0.0"
21
- And I should see " Located at: C:\temp\path with spaces\IronRuby-091\bin"
17
+ When I run "pik rm iron 92 -f -q"
18
+ When I run "pik in ironruby 0.9.2"
19
+ Then I should see "** Downloading: http://rubyforge.org/frs/download.php/66606/ironruby-0.9.2.zip"
20
+ And I should see " to: C:\temp\path with spaces\downloads\ironruby-0.9.2.zip"
21
+ And I should see "** Extracting: C:\temp\path with spaces\downloads\ironruby-0.9.2.zip"
22
+ And I should see "** Adding: 092: IronRuby 0.9.2.0 on .NET 2.0.0.0"
23
+ And I should see " Located at: C:\temp\path with spaces\IronRuby-092\bin"
22
24
 
23
- Scenario: install Ruby 1.8.6
25
+ Scenario: install Ruby 1.8.7
26
+ When I run "pik rm 187-test -f -q"
27
+ When I run "pik rm 187 249 -f -q"
24
28
  When I run "pik in ruby 1.8"
25
- Then I should see "** Downloading: http://rubyforge.org/frs/download.php/62267/ruby-1.8.6-p383-i386-mingw32.7z"
26
- And I should see " to: C:\temp\path with spaces\downloads\ruby-1.8.6-p383-i386-mingw32.7z"
27
- And I should see "** Extracting: C:\temp\path with spaces\downloads\ruby-1.8.6-p383-i386-mingw32.7z"
28
- And I should see "** Adding: 186: ruby 1.8.6 (2009-08-04 patchlevel 383) [i386-mingw32]"
29
- And I should see " Located at: C:\temp\path with spaces\Ruby-186-p383\bin"
29
+ Then I should see "** Downloading: http://rubyforge.org/frs/download.php/71081/ruby-1.8.7-p249-i386-mingw32-1.7z"
30
+ And I should see " to: C:\temp\path with spaces\downloads\ruby-1.8.7-p249-i386-mingw32-1.7z"
31
+ And I should see "** Extracting: C:\temp\path with spaces\downloads\ruby-1.8.7-p249-i386-mingw32-1.7z"
32
+ And I should see "** Adding: 187: ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mingw32]"
33
+ And I should see " Located at: C:\temp\path with spaces\Ruby-187-p249-1\bin"
34
+
@@ -6,15 +6,15 @@ Feature: list command
6
6
 
7
7
  Scenario: list versions
8
8
  When I run "pik list"
9
- Then I should find "^\d+\: .+ruby"
9
+ Then I should find "^ \d+\: .+ruby"
10
10
 
11
11
  Scenario: Determining the current ruby version from the list
12
12
  When I run "pik list"
13
- Then I should find "^\d+\: .+\*$"
13
+ Then I should find "^\* \d+\: .+$"
14
14
 
15
15
  Scenario: list verbose output
16
16
  When I run "pik list -v"
17
- Then I should find "^\d+\: .+\*$"
17
+ Then I should find "^\* \d+\: .+$"
18
18
  And I should find "path\: C\:[\\\/].+"
19
19
 
20
20
  Scenario: list remote packages
@@ -22,6 +22,6 @@ Feature: list command
22
22
  And I should see "IronRuby:"
23
23
  And I should see "0.9.1:"
24
24
  And I should see "JRuby:"
25
- And I should see "1.4.0RC3:"
25
+ And I should see "1.4.1:"
26
26
  Then I should see "Ruby:"
27
- And I should see " 1.8.6-p383"
27
+ And I should see " 1.9.1-p378"
@@ -13,7 +13,6 @@ Feature: pik_install binary script
13
13
  And I should see "pik is installed"
14
14
  And I should see "To get help with a command"
15
15
 
16
-
17
16
  Scenario: pik_install to path with spaces
18
17
  Given I have not installed pik to C:\temp\path with spaces\bin
19
18
  And "C:\temp\path with spaces\bin" is in the system path
@@ -21,4 +20,37 @@ Feature: pik_install binary script
21
20
  And then I run "pik help"
22
21
  Then I should see "Installing to C:\temp\path with spaces\bin"
23
22
  And I should see "pik is installed"
24
- And I should see "To get help with a command"
23
+ And I should see "To get help with a command"
24
+
25
+ Scenario: pik_install with no arguments
26
+ Given I have not installed pik to C:\temp\path with spaces\bin
27
+ When I run "pik_install"
28
+ Then I should see
29
+ """
30
+ Usage: pik_install path\to\install
31
+
32
+ You should install to a directory that is in your system path,
33
+ or add the directory to your system path. Do not install to
34
+ your ruby's bin directory because pik will remove it from the
35
+ path when switching versions.
36
+
37
+ Example:
38
+
39
+ C:\>path
40
+
41
+ PATH=C:\tools;C:\ruby\Ruby-186-p383\bin;C:\WINDOWS\system32;...
42
+
43
+ C:\>pik_install C:\tools
44
+
45
+ """
46
+
47
+ Scenario: pik_install to dir not in system path
48
+ Given I have not installed pik to C:\temp\path with spaces\bin
49
+ When I run "pik_install "C:\temp\path with spaces\bin""
50
+ Then I should see
51
+ """
52
+ The directory you installed to is not in the sytem path.
53
+ C:\temp\path with spaces\bin
54
+
55
+ You will need to add it.
56
+ """
@@ -5,7 +5,7 @@ Feature: remove command
5
5
  So that she can remove versions.
6
6
 
7
7
  Scenario: remove a version from the config
8
- Given I have already added "ruby 1.8.6 (2009-08-04 patchlevel 383) [i386-mingw32]"
9
- When I run "pik remove 186 383 -f"
8
+ Given I have already added "ruby 1.8.6 (2010-02-04 patchlevel 398) [i386-mingw32]"
9
+ When I run "pik remove 186 398 -f"
10
10
  Then I should see "removed"
11
11
  And the version should be removed.
@@ -6,22 +6,23 @@ Feature: run command
6
6
 
7
7
  Scenario: run code
8
8
  When I run "pik run "path""
9
- Then I should find "PATH=" 4 times
9
+ Then I should find "PATH=" 6 times
10
10
  And I should see each version's path listed
11
11
  And I should see each version listed.
12
12
 
13
13
  Scenario: ruby command
14
14
  When I run "pik ruby -e "puts 'hello world!'" "
15
- Then I should find "hello world!" 4 times
15
+ Then I should find "hello world!" 6 times
16
16
  And I should see each version listed.
17
17
 
18
18
  Scenario: gem command
19
19
  When I run "pik gem -v"
20
- Then I should find "\n\d\.\d\.\d\n" 4 times
20
+ #Then I should find "\n\d\.\d\.\d\n" 6 times
21
21
  And I should see each version listed.
22
22
 
23
23
  Scenario: rake command
24
24
  When I run "pik rake -V"
25
- Then I should find "rake, version \d\.\d\.\d\n" 4 times
25
+ Then I should find "rake, version \d\.\d\.\d\n" 6 times
26
26
  And I should see each version listed.
27
-
27
+
28
+
@@ -54,18 +54,22 @@ Given /^there is no ruby version in the path$/ do
54
54
  ENV['PATH'] = SearchPath.new(REAL_PATH).remove(Which::Ruby.find).join
55
55
  end
56
56
 
57
- Given /^I have not installed pik to (.+)$/ do |path|
58
- FileUtils.rm_rf path if File.exist? path
59
- FileUtils.mkdir_p path
60
- Dir[path + "\\pik.bat"].should be_empty
57
+ Given /^there is more than one ruby version in the path$/ do
58
+ Given "\"#{OTHER_RUBY}\" is in the system path"
61
59
  end
62
60
 
63
61
  Given /^"(.*)" is in the system path$/ do |arg1|
64
62
  ENV['PATH'] = [arg1, ENV['PATH']].join(';')
65
63
  end
66
64
 
67
- When /^I run "pik_install (.+)"$/ do |args|
68
- %x[ruby bin/pik_install #{args} > #{PIK_LOG} 2>&1 ]
65
+ Given /^I have not installed pik to (.+)$/ do |path|
66
+ FileUtils.rm_rf path if File.exist? path
67
+ FileUtils.mkdir_p path
68
+ Dir[path + "\\pik.bat"].should be_empty
69
+ end
70
+
71
+ When /^I run "pik_install(.*)"$/ do |args|
72
+ %x[ruby bin/pik_install#{args} > #{PIK_LOG} 2>&1 ]
69
73
  end
70
74
 
71
75
  When /^I run "pik (.+?)" and "pik (.+)",$/ do |args1, args2|
@@ -94,7 +98,12 @@ Then /^I should see the Pik::VERSION$/ do
94
98
  stdout = File.read(PIK_LOG)
95
99
  stdout.should match(Regexp.new(Regexp.escape(Pik::VERSION)))
96
100
  end
97
-
101
+
102
+ Then /^I should not see "([^\"]*)"$/ do |arg1|
103
+ stdout = File.read(PIK_LOG)
104
+ stdout.should_not match(Regexp.new(Regexp.escape(arg1)))
105
+ end
106
+
98
107
  Then /^I should find "(.*)"$/ do |regexp|
99
108
  stdout = File.read(PIK_LOG)
100
109
  stdout.should match(Regexp.new(regexp))
@@ -168,4 +177,9 @@ Then /^a gem_home option should be added to the config\.$/ do
168
177
  @current_config = YAML.load(File.read(@config_file))
169
178
  @ver = @current_config.keys.grep(@version_reg){|k| @current_config[k] }
170
179
  @ver[0][:gem_home].should_not be_nil
180
+ end
181
+
182
+ Then /^I should see$/ do |string|
183
+ stdout = File.read(PIK_LOG)
184
+ stdout.should include(string)
171
185
  end
@@ -0,0 +1,75 @@
1
+ config=<<CONFIG
2
+ ---
3
+ "092: IronRuby 0.9.2.0 on .NET 2.0.0.0":
4
+ :path: !ruby/object:Pathname
5
+ path: C:/temp/more spaces in path/ruby/IronRuby-092/bin
6
+ "151: jruby 1.5.1 (ruby 1.8.7 patchlevel 249) (2010-06-06 f3a3480) (Java HotSpot(TM) Client VM 1.6.0_18) [x86-java]":
7
+ :path: !ruby/object:Pathname
8
+ path: C:/temp/more spaces in path/ruby/JRuby-151/bin
9
+ "186: ruby 1.8.6 (2010-02-04 patchlevel 398) [i386-mingw32]":
10
+ :path: !ruby/object:Pathname
11
+ path: C:/temp/more spaces in path/ruby/Ruby-186-p398-2/bin
12
+ "187-test: ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mingw32]":
13
+ :path: !ruby/object:Pathname
14
+ path: C:/temp/more spaces in path/ruby/Ruby-187-p249-1/bin
15
+ "187: ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mingw32]":
16
+ :path: !ruby/object:Pathname
17
+ path: C:/Ruby/ruby-187-p249/bin
18
+ "191: ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32]":
19
+ :path: !ruby/object:Pathname
20
+ path: C:/temp/more spaces in path/ruby/Ruby-191-p378-1/bin
21
+ ---
22
+ :download_dir: !ruby/object:Pathname
23
+ path: C:\\temp\\path with spaces\\downloads
24
+ :install_dir: !ruby/object:Pathname
25
+ path: C:\\temp\\path with spaces
26
+ CONFIG
27
+
28
+ require 'yaml'
29
+ require 'pathname'
30
+ require 'fileutils'
31
+ require 'lib/pik'
32
+ require 'rbconfig'
33
+ require 'win32/process'
34
+
35
+ REAL_PATH = SearchPath.new(ENV['PATH']).replace(RbConfig::CONFIG['bindir'], 'C:\temp\more spaces in path\ruby\Ruby-186-p398-2\bin').join
36
+ OTHER_RUBY = 'c:\\temp\\more spaces in path\\ruby\\Ruby-191-p378-1\\bin'
37
+
38
+ ENV['HOME'] = "C:\\temp\\path with spaces"
39
+ ENV['http_proxy'] = "http://localhost:9292"
40
+
41
+ PIK_LOG = 'log\\output.log'
42
+ TEST_PIK_HOME = Pathname.new( ENV['HOME'] || ENV['USERPROFILE'] ) + '.pik'
43
+ FAKE_PIK_HOME = 'c:/temp/path with spaces/.pik'
44
+ PID_FILE = 'c:/temp/proxy/proxy.pid'
45
+
46
+
47
+ def start_proxy
48
+ proxy = Pathname.new( File.dirname(__FILE__)) + 'proxy.ru'
49
+ log = File.new("c:/temp/proxy/proxy.log", 'w+')
50
+ Process.create(:app_name => "rackup.bat #{proxy} -s webrick --pid \"#{PID_FILE}\"", :startup_info => {:stdout => log.fileno, :stderr => log.fileno})
51
+ end
52
+
53
+
54
+ def stop_proxy
55
+ if File.exist?(PID_FILE)
56
+ pid = File.read(PID_FILE).to_i
57
+ Process.kill(3,pid)
58
+ FileUtils.rm(PID_FILE)
59
+ end
60
+ end
61
+
62
+ start_proxy
63
+
64
+ at_exit do
65
+ stop_proxy
66
+ end
67
+
68
+
69
+ Before do
70
+ ENV['PATH'] = REAL_PATH
71
+ FileUtils.rm_rf FAKE_PIK_HOME
72
+ FileUtils.mkdir_p FAKE_PIK_HOME
73
+ File.open(File.join(FAKE_PIK_HOME, 'config.yml'), 'w'){|f| f.puts config }
74
+ end
75
+
@@ -0,0 +1,81 @@
1
+ # require "net/http"
2
+
3
+ # Example Usage:
4
+
5
+ # use Rack::Proxy do |req|
6
+ # if req.path =~ %r{^/remote/service.php$}
7
+ # URI.parse("http://remote-service-provider.com/service-end-point.php?#{req.query}")
8
+ # end
9
+ # end
10
+ #
11
+ # run proc{|env| [200, {"Content-Type" => "text/plain"}, ["Ha ha ha"]] }
12
+ #
13
+
14
+ require 'rack/cache'
15
+ require 'logger'
16
+
17
+ module Rack::Cache
18
+ class Request < Rack::Request
19
+ # True when the Cache-Control/no-cache directive is present or the
20
+ # Pragma header is set to no-cache.
21
+ def no_cache?
22
+ false
23
+ end
24
+ end
25
+
26
+ class Response
27
+ # Determine if the response is "fresh". Fresh responses may be served from
28
+ # cache without any interaction with the origin. A response is considered
29
+ # fresh when it includes a Cache-Control/max-age indicator or Expiration
30
+ # header and the calculated age is less than the freshness lifetime.
31
+ def fresh?
32
+ true
33
+ end
34
+ end
35
+ end
36
+
37
+ use Rack::Cache,
38
+ :verbose => false,
39
+ :metastore => 'file:C:/temp/proxy/meta',
40
+ :entitystore => 'file:C:/temp/proxy/entity'
41
+
42
+ class Rack::Proxy
43
+ def initialize(app, &block)
44
+ self.class.send(:define_method, :uri_for, &block)
45
+ @app = app
46
+ end
47
+
48
+ def call(env)
49
+ req = Rack::Request.new(env)
50
+ method = req.request_method.downcase
51
+ method[0..0] = method[0..0].upcase
52
+ return @app.call(env) unless uri = uri_for(req)
53
+ # env['rack.errors'].write(uri.query)
54
+ sub_request = Net::HTTP.const_get(method).new("#{uri.path}#{"?" if uri.query}#{uri.query}")
55
+
56
+ if sub_request.request_body_permitted? and req.body
57
+ sub_request.body_stream = req.body
58
+ sub_request.content_length = req.content_length
59
+ sub_request.content_type = req.content_type
60
+ end
61
+
62
+ sub_request["X-Forwarded-For"] = (req.env["X-Forwarded-For"].to_s.split(/, +/) + [req.env['REMOTE_ADDR']]).join(", ")
63
+ sub_request["Accept-Encoding"] = req.accept_encoding
64
+ sub_request["Referer"] = req.referer
65
+
66
+ sub_response = Net::HTTP.start(uri.host, uri.port) do |http|
67
+ http.request(sub_request)
68
+ end
69
+
70
+ headers = {}
71
+ sub_response.each_header do |k,v|
72
+ headers[k] = v unless k.to_s =~ /status|cookie|content-length|transfer-encoding/i
73
+ end
74
+
75
+ [sub_response.code.to_i, headers, [sub_response.read_body]]
76
+ end
77
+ end
78
+
79
+ proxy = use(Rack::Proxy){ |req| URI.parse(req.url) }
80
+
81
+ run proxy
@@ -13,10 +13,10 @@ Feature: switch command
13
13
 
14
14
  Examples:
15
15
  | version | patterns |
16
- | IronRuby 0.9.1.0 on .NET 2.0.0.0 | Ir 91 |
17
- | jruby 1.4.0RC2 (ruby 1.8.7 patchlevel 174) | jruby 1.4 |
18
- | ruby 1.8.6 (2009-08-04 patchlevel 383) [i386-mingw32] | 186 383 |
19
- | ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-mingw32] | 191 p2 |
16
+ | IronRuby 0.9.2.0 on .NET 2.0.0.0 | iron 92 |
17
+ | jruby 1.5.1 (ruby 1.8.7 patchlevel 249) | jruby 1.5 |
18
+ | ruby 1.8.6 (2010-02-04 patchlevel 398) [i386-mingw32] | 186 398 |
19
+ | ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32] | 191 p3 |
20
20
 
21
21
  Scenario Outline: Switching versions with pattern only
22
22
  Given I have added "<version>" to pik
@@ -26,11 +26,11 @@ Feature: switch command
26
26
 
27
27
  Examples:
28
28
  | version | patterns |
29
- | IronRuby 0.9.1.0 on .NET 2.0.0.0 | Ir 91 |
30
- | jruby 1.4.0RC2 (ruby 1.8.7 patchlevel 174) | jruby 1.4 |
31
- | ruby 1.8.6 (2009-08-04 patchlevel 383) [i386-mingw32] | 186 383 |
32
- | ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-mingw32] | 191 p2 |
33
-
29
+ | IronRuby 0.9.2.0 on .NET 2.0.0.0 | iron 92 |
30
+ | jruby 1.5.1 (ruby 1.8.7 patchlevel 249) | jruby 1.5 |
31
+ | ruby 1.8.6 (2010-02-04 patchlevel 398) [i386-mingw32] | 186 398 |
32
+ | ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32] | 191 p3 |
33
+
34
34
  Scenario Outline: Switching versions with no ruby in the path
35
35
  Given I have added "<version>" to pik
36
36
  And there is no ruby version in the path
@@ -40,7 +40,8 @@ Feature: switch command
40
40
 
41
41
  Examples:
42
42
  | version | patterns |
43
- | IronRuby 0.9.1.0 on .NET 2.0.0.0 | Ir 91 |
44
- | jruby 1.4.0RC2 (ruby 1.8.7 patchlevel 174) | jruby 1.4 |
45
- | ruby 1.8.6 (2009-08-04 patchlevel 383) [i386-mingw32] | 186 383 |
46
- | ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-mingw32] | 191 p2 |
43
+ | IronRuby 0.9.2.0 on .NET 2.0.0.0 | iron 92 |
44
+ | jruby 1.5.1 (ruby 1.8.7 patchlevel 249) | jruby 1.5 |
45
+ | ruby 1.8.6 (2010-02-04 patchlevel 398) [i386-mingw32] | 186 398 |
46
+ | ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32] | 191 p3 |
47
+
@@ -5,17 +5,17 @@ Feature: tag command
5
5
  So that he can tag versions that pik is aware of
6
6
 
7
7
  Scenario: tag version
8
- When I run "pik Ir 91" and "pik tag iron",
8
+ When I run "pik Ir 92" and "pik tag iron",
9
9
  And I run "pik config list"
10
10
  Then I should find "tags: \n iron:"
11
- And I should see " - 091: IronRuby 0.9.1.0 on .NET 2.0.0.0"
11
+ And I should see " - 092: IronRuby 0.9.2.0 on .NET 2.0.0.0"
12
12
 
13
13
  Scenario: run tagged versions
14
14
  When I run "pik 191" and "pik tag mingw",
15
- And I run "pik 186 383" and "pik tag mingw",
15
+ And I run "pik 186" and "pik tag mingw",
16
16
  And I run "pik tags mingw run echo."
17
- Then I should see "ruby 1.8.6 (2009-08-04 patchlevel 383) [i386-mingw32]"
18
- And I should see "ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-mingw32]"
17
+ Then I should see "ruby 1.8.6 (2010-02-04 patchlevel 398) [i386-mingw32]"
18
+ And I should see "ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32]"
19
19
 
20
20
  Scenario: run tags with no options
21
21
  When I run "pik tags"
@@ -5,9 +5,8 @@ Feature: uninstall command
5
5
  So that he can download and uninstall older ruby versions
6
6
 
7
7
  Scenario: uninstall IronRuby
8
- When I run "pik rm Ir 91 -f -q"
9
- And I run "pik add "C:\temp\path with spaces\IronRuby-091\bin""
10
- And I run "pik unin Ir 91 -f"
11
- Then I should see "** Deleting C:\temp\path with spaces\IronRuby-091"
12
- And I should see "091: IronRuby 0.9.1.0 on .NET 2.0.0.0 has been uninstalled."
13
-
8
+ When I run "pik rm iron 92 -f -q"
9
+ And I run "pik install ironruby 0.9.2"
10
+ And I run "pik unin iron 92 -f"
11
+ Then I should see "** Deleting C:\temp\path with spaces\IronRuby-092"
12
+ And I should see "092: IronRuby 0.9.2.0 on .NET 2.0.0.0 has been uninstalled."