subcheat 0.3.0 → 0.4.0

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.
data/.gitignore CHANGED
@@ -1,21 +1,3 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
1
  coverage
18
- rdoc
2
+ doc
19
3
  pkg
20
-
21
- ## PROJECT::SPECIFIC
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source :rubygems
2
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,43 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ subcheat (0.4.0)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ builder (3.0.0)
10
+ cucumber (1.1.0)
11
+ builder (>= 2.1.2)
12
+ diff-lcs (>= 1.1.2)
13
+ gherkin (~> 2.5.0)
14
+ json (>= 1.4.6)
15
+ term-ansicolor (>= 1.0.6)
16
+ diff-lcs (1.1.3)
17
+ gherkin (2.5.1)
18
+ json (>= 1.4.6)
19
+ json (1.6.1)
20
+ metaclass (0.0.1)
21
+ minitest (2.6.1)
22
+ mocha (0.10.0)
23
+ metaclass (~> 0.0.1)
24
+ multi_json (1.0.3)
25
+ rake (0.9.2)
26
+ rdoc (3.9.4)
27
+ simplecov (0.5.3)
28
+ multi_json (~> 1.0.3)
29
+ simplecov-html (~> 0.5.3)
30
+ simplecov-html (0.5.3)
31
+ term-ansicolor (1.0.6)
32
+
33
+ PLATFORMS
34
+ ruby
35
+
36
+ DEPENDENCIES
37
+ cucumber
38
+ minitest
39
+ mocha (>= 0.9.8)
40
+ rake
41
+ rdoc (~> 3.9)
42
+ simplecov
43
+ subcheat!
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009 Arjan van der Gaag
1
+ Copyright (c) 2009-2011 Arjan van der Gaag
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.rdoc CHANGED
@@ -19,6 +19,7 @@ Subcheat is a simple wrapper around Subversion's svn command-line client.
19
19
  * <tt>subcheat root</tt>: output the current project root folder
20
20
  * <tt>subcheat path</tt>: output the current path in the repository
21
21
  * <tt>subcheat revision</tt>: output the current revision number
22
+ * <tt>subcheat pretty-log</tt>: output friendly single-line logs
22
23
 
23
24
  Also, some existing subcommands are enhanced:
24
25
 
@@ -93,4 +94,4 @@ It might some day be made more flexible, but this works for me right now.
93
94
 
94
95
  == Copyright
95
96
 
96
- Copyright (c) 2009 Arjan van der Gaag. See LICENSE for details.
97
+ Copyright (c) 2009 Arjan van der Gaag. See LICENSE for details.
data/Rakefile CHANGED
@@ -1,66 +1,27 @@
1
- require 'rubygems'
2
- require 'rake'
1
+ require 'bundler/gem_tasks'
3
2
 
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "subcheat"
8
- gem.summary = %Q{Wrapper for Subversion CLI}
9
- gem.description = %Q{Wrap the Subversion CLI to extract some usage patterns into commands}
10
- gem.email = "arjan@arjanvandergaag.nl"
11
- gem.homepage = "http://github.com/avdgaag/subcheat"
12
- gem.authors = ["Arjan van der Gaag"]
13
- gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
14
- gem.add_development_dependency "cucumber", ">= 0"
15
- gem.add_development_dependency "mocha", ">= 0.9.8"
16
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
17
- end
18
- Jeweler::GemcutterTasks.new
19
- rescue LoadError
20
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
21
- end
3
+ task :default => :test
22
4
 
23
5
  require 'rake/testtask'
24
6
  Rake::TestTask.new(:test) do |test|
25
7
  test.libs << 'lib' << 'test'
26
- test.pattern = 'test/**/test_*.rb'
8
+ test.pattern = 'test/**/*_test.rb'
27
9
  test.verbose = true
28
10
  end
29
11
 
30
- begin
31
- require 'rcov/rcovtask'
32
- Rcov::RcovTask.new do |test|
33
- test.libs << 'test'
34
- test.pattern = 'test/**/test_*.rb'
35
- test.verbose = true
36
- end
37
- rescue LoadError
38
- task :rcov do
39
- abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
40
- end
41
- end
42
-
43
- task :test => :check_dependencies
12
+ require 'cucumber/rake/task'
13
+ Cucumber::Rake::Task.new(:features)
44
14
 
45
- begin
46
- require 'cucumber/rake/task'
47
- Cucumber::Rake::Task.new(:features)
48
-
49
- task :features => :check_dependencies
50
- rescue LoadError
51
- task :features do
52
- abort "Cucumber is not available. In order to run features, you must: sudo gem install cucumber"
53
- end
15
+ desc 'Generate code coverage report'
16
+ task :coverage do
17
+ ENV['COVERAGE'] = 'true'
18
+ Rake::Task['test'].invoke
54
19
  end
55
20
 
56
- task :default => :test
57
-
58
- require 'rake/rdoctask'
59
- Rake::RDocTask.new do |rdoc|
60
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
61
-
62
- rdoc.rdoc_dir = 'rdoc'
63
- rdoc.title = "subcheat #{version}"
64
- rdoc.rdoc_files.include('README*')
65
- rdoc.rdoc_files.include('lib/**/*.rb')
21
+ require 'rdoc/task'
22
+ RDoc::Task.new :doc do |t|
23
+ t.title = "subcheat #{Subcheat::VERSION}"
24
+ t.main = 'README.rdoc'
25
+ t.rdoc_dir = 'doc'
26
+ t.rdoc_files.include('README.rdoc', 'lib/**/*.rb')
66
27
  end
data/lib/subcheat.rb CHANGED
@@ -1,12 +1,7 @@
1
- # Require all subcheat components
2
- %w{exceptions runner svn command}.each do |filename|
3
- require File.join(File.dirname(__FILE__), 'subcheat', filename)
4
- end
5
-
1
+ require 'subcheat/exceptions'
6
2
  module Subcheat
7
- # Report the version number from /VERSION
8
- def version
9
- File.read(File.join(File.dirname(__FILE__), *%w{.. VERSION}))
10
- end
11
- extend self
12
- end
3
+ autoload :Runner, 'subcheat/runner'
4
+ autoload :Command, 'subcheat/command'
5
+ autoload :Svn, 'subcheat/svn'
6
+ autoload :VERSION, 'subcheat/version'
7
+ end
@@ -23,6 +23,11 @@ Subcheat::Command.define('cop') do
23
23
  "svn checkout #{url} #{arguments[1..-1].join(' ')}"
24
24
  end
25
25
 
26
+ # Print pretty formatted log output
27
+ Subcheat::Command.define('pretty-log') do
28
+ %Q{svn log --stop-on-copy -q | grep -E "r[0-9]+" | tail -1 | sed 's/r\([0-9][0-9]*\).*/\1/'}
29
+ end
30
+
26
31
  # Enable exporting of tags
27
32
  #
28
33
  # > svn export REL-1.0 ~/Desktop/export
@@ -54,4 +59,4 @@ Subcheat::Command.define('switch') do
54
59
  arguments[1..-1].join(' ')
55
60
  ]
56
61
  end
57
- end
62
+ end
@@ -12,11 +12,11 @@
12
12
  Subcheat::Command.define('undo') do
13
13
  revision, url = arguments[0], arguments[1]
14
14
  revision = case revision
15
- when /^\d+$/: "#{revision}:#{revision.to_i - 1}"
16
- when /^\d+:\d+$/: revision.split(':').reverse.join(':')
15
+ when /^\d+$/ then "#{revision}:#{revision.to_i - 1}"
16
+ when /^\d+:\d+$/ then revision.split(':').reverse.join(':')
17
17
  else
18
18
  raise Subcheat::CommandException, "Bad revision: #{revision}"
19
19
  end
20
20
  url ||= attr('URL')
21
21
  "svn merge -r #{revision} #{url}"
22
- end
22
+ end
@@ -0,0 +1,4 @@
1
+ module Subcheat
2
+ VERSION = '0.4.0'
3
+ end
4
+
data/subcheat.gemspec ADDED
@@ -0,0 +1,25 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "subcheat/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = 'subcheat'
7
+ s.version = Subcheat::VERSION
8
+ s.authors = ['Arjan van der Gaag']
9
+ s.email = ['arjan@arjanvandergaag.nl']
10
+ s.homepage = 'http://github.com/avdgaag/subcheat'
11
+ s.summary = 'Wrapper for Subversion CLI'
12
+ s.description = 'Wrap the Subversion CLI to extract some usage patterns into commands'
13
+
14
+ s.files = `git ls-files`.split("\n")
15
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
+ s.require_paths = ["lib"]
18
+
19
+ s.add_development_dependency 'rake'
20
+ s.add_development_dependency 'minitest'
21
+ s.add_development_dependency 'cucumber'
22
+ s.add_development_dependency 'mocha', '>= 0.9.8'
23
+ s.add_development_dependency 'simplecov'
24
+ s.add_development_dependency 'rdoc', '~> 3.9'
25
+ end
@@ -0,0 +1,17 @@
1
+ require 'test_helper'
2
+
3
+ describe Subcheat::Command do
4
+ it 'should create a command' do
5
+ old_count = Subcheat::Command.commands.size
6
+ Subcheat::Command.define('name') { puts 'foo' }
7
+ Subcheat::Command.commands.size.must_equal old_count + 1
8
+ end
9
+
10
+ it 'should find a command by name' do
11
+ Subcheat::Command.on('undo').must_be_instance_of Subcheat::Command
12
+ end
13
+
14
+ it 'should raise when loading non-exstant commands' do
15
+ lambda { Subcheat::Command.on('foo') }.must_raise(Subcheat::NoSuchCommand)
16
+ end
17
+ end
@@ -0,0 +1,39 @@
1
+ require 'test_helper'
2
+
3
+ describe Subcheat::Runner do
4
+ before do
5
+ Subcheat::Runner.output = StringIO.new
6
+ Subcheat::Runner.perform_run = false
7
+ end
8
+
9
+ def subcheat_output
10
+ Subcheat::Runner.output.string.chomp
11
+ end
12
+
13
+ describe 'No arguments' do
14
+ it 'should run help by default' do
15
+ Subcheat::Runner.new
16
+ subcheat_output.must_equal 'svn help'
17
+ end
18
+ end
19
+
20
+ describe 'unwrapped commands' do
21
+ it 'should pass through commands' do
22
+ Subcheat::Runner.new('status')
23
+ subcheat_output.must_equal 'svn status'
24
+ end
25
+
26
+ it 'should pass through arguments' do
27
+ Subcheat::Runner.new('status --ignore-externals')
28
+ subcheat_output.must_equal 'svn status --ignore-externals'
29
+ end
30
+ end
31
+
32
+ describe 'wrapped commands' do
33
+ it 'should find and call associated command' do
34
+ Subcheat::Command.expects(:on).with('undo').returns(stub(:call => 'foo'))
35
+ Subcheat::Runner.new('undo', '55')
36
+ subcheat_output.must_equal 'foo'
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ describe Subcheat do
4
+ it 'should report version number' do
5
+ Subcheat::VERSION.must_be_instance_of String
6
+ end
7
+ end
data/test/svn_test.rb ADDED
@@ -0,0 +1,30 @@
1
+ require 'test_helper'
2
+
3
+ describe Subcheat::Svn do
4
+ before do
5
+ @info = <<-EOS
6
+ Path: .
7
+ URL: https://some-kind-of-svn.com/svn/project_name/branches/languages
8
+ Repository Root: https://some-kind-of-svn.com/svn
9
+ Repository UUID: 11af7ba9-5ee7-4c51-9542-47637e3bfceb
10
+ Revision: 8049
11
+ Node Kind: directory
12
+ Schedule: normal
13
+ Last Changed Author: Andy
14
+ Last Changed Rev: 5019
15
+ Last Changed Date: 2009-12-11 15:12:57 +0100 (vr, 11 dec 2009)
16
+
17
+ EOS
18
+ @svn = Subcheat::Svn.new([])
19
+ @svn.stubs(:info).returns(@info)
20
+ end
21
+
22
+ it 'should read attributes' do
23
+ @svn.attr('URL').must_equal 'https://some-kind-of-svn.com/svn/project_name/branches/languages'
24
+ @svn.attr('Revision').must_equal '8049'
25
+ end
26
+
27
+ it 'find project base URL' do
28
+ @svn.base_url.must_equal 'https://some-kind-of-svn.com/svn/project_name/'
29
+ end
30
+ end
@@ -0,0 +1,7 @@
1
+ if ENV['COVERAGE']
2
+ require 'simplecov'
3
+ SimpleCov.start
4
+ end
5
+ require 'minitest/autorun'
6
+ require 'mocha'
7
+ require 'subcheat'
metadata CHANGED
@@ -1,76 +1,97 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: subcheat
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 3
8
- - 0
9
- version: 0.3.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.0
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Arjan van der Gaag
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2010-03-10 00:00:00 +01:00
18
- default_executable: subcheat
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- name: thoughtbot-shoulda
12
+ date: 2011-10-02 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: &70188927126540 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
22
23
  prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- segments:
28
- - 0
29
- version: "0"
24
+ version_requirements: *70188927126540
25
+ - !ruby/object:Gem::Dependency
26
+ name: minitest
27
+ requirement: &70188927117000 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
30
33
  type: :development
31
- version_requirements: *id001
32
- - !ruby/object:Gem::Dependency
33
- name: cucumber
34
34
  prerelease: false
35
- requirement: &id002 !ruby/object:Gem::Requirement
36
- requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- segments:
40
- - 0
41
- version: "0"
35
+ version_requirements: *70188927117000
36
+ - !ruby/object:Gem::Dependency
37
+ name: cucumber
38
+ requirement: &70188927115080 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
42
44
  type: :development
43
- version_requirements: *id002
44
- - !ruby/object:Gem::Dependency
45
- name: mocha
46
45
  prerelease: false
47
- requirement: &id003 !ruby/object:Gem::Requirement
48
- requirements:
49
- - - ">="
50
- - !ruby/object:Gem::Version
51
- segments:
52
- - 0
53
- - 9
54
- - 8
46
+ version_requirements: *70188927115080
47
+ - !ruby/object:Gem::Dependency
48
+ name: mocha
49
+ requirement: &70188927113220 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
55
54
  version: 0.9.8
56
55
  type: :development
57
- version_requirements: *id003
56
+ prerelease: false
57
+ version_requirements: *70188927113220
58
+ - !ruby/object:Gem::Dependency
59
+ name: simplecov
60
+ requirement: &70188927111720 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70188927111720
69
+ - !ruby/object:Gem::Dependency
70
+ name: rdoc
71
+ requirement: &70188927109880 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: '3.9'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70188927109880
58
80
  description: Wrap the Subversion CLI to extract some usage patterns into commands
59
- email: arjan@arjanvandergaag.nl
60
- executables:
81
+ email:
82
+ - arjan@arjanvandergaag.nl
83
+ executables:
61
84
  - subcheat
62
85
  extensions: []
63
-
64
- extra_rdoc_files:
65
- - LICENSE
66
- - README.rdoc
67
- files:
86
+ extra_rdoc_files: []
87
+ files:
68
88
  - .document
69
89
  - .gitignore
90
+ - Gemfile
91
+ - Gemfile.lock
70
92
  - LICENSE
71
93
  - README.rdoc
72
94
  - Rakefile
73
- - VERSION
74
95
  - bin/subcheat
75
96
  - features/shortcuts.feature
76
97
  - features/step_definitions/wrapper_steps.rb
@@ -87,44 +108,51 @@ files:
87
108
  - lib/subcheat/exceptions.rb
88
109
  - lib/subcheat/runner.rb
89
110
  - lib/subcheat/svn.rb
90
- - test/helper.rb
91
- - test/test_command.rb
92
- - test/test_runner.rb
93
- - test/test_subcheat.rb
94
- - test/test_svn.rb
95
- has_rdoc: true
111
+ - lib/subcheat/version.rb
112
+ - subcheat.gemspec
113
+ - test/command_test.rb
114
+ - test/runner_test.rb
115
+ - test/subcheat_test.rb
116
+ - test/svn_test.rb
117
+ - test/test_helper.rb
96
118
  homepage: http://github.com/avdgaag/subcheat
97
119
  licenses: []
98
-
99
120
  post_install_message:
100
- rdoc_options:
101
- - --charset=UTF-8
102
- require_paths:
121
+ rdoc_options: []
122
+ require_paths:
103
123
  - lib
104
- required_ruby_version: !ruby/object:Gem::Requirement
105
- requirements:
106
- - - ">="
107
- - !ruby/object:Gem::Version
108
- segments:
124
+ required_ruby_version: !ruby/object:Gem::Requirement
125
+ none: false
126
+ requirements:
127
+ - - ! '>='
128
+ - !ruby/object:Gem::Version
129
+ version: '0'
130
+ segments:
109
131
  - 0
110
- version: "0"
111
- required_rubygems_version: !ruby/object:Gem::Requirement
112
- requirements:
113
- - - ">="
114
- - !ruby/object:Gem::Version
115
- segments:
132
+ hash: 4452813104064210158
133
+ required_rubygems_version: !ruby/object:Gem::Requirement
134
+ none: false
135
+ requirements:
136
+ - - ! '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ segments:
116
140
  - 0
117
- version: "0"
141
+ hash: 4452813104064210158
118
142
  requirements: []
119
-
120
143
  rubyforge_project:
121
- rubygems_version: 1.3.6
144
+ rubygems_version: 1.8.6
122
145
  signing_key:
123
146
  specification_version: 3
124
147
  summary: Wrapper for Subversion CLI
125
- test_files:
126
- - test/helper.rb
127
- - test/test_command.rb
128
- - test/test_runner.rb
129
- - test/test_subcheat.rb
130
- - test/test_svn.rb
148
+ test_files:
149
+ - features/shortcuts.feature
150
+ - features/step_definitions/wrapper_steps.rb
151
+ - features/subcommands.feature
152
+ - features/support/env.rb
153
+ - features/wrapper.feature
154
+ - test/command_test.rb
155
+ - test/runner_test.rb
156
+ - test/subcheat_test.rb
157
+ - test/svn_test.rb
158
+ - test/test_helper.rb
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.3.0
data/test/helper.rb DELETED
@@ -1,19 +0,0 @@
1
- require 'rubygems'
2
- require 'test/unit'
3
- require 'shoulda'
4
- require 'mocha'
5
-
6
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
7
- $LOAD_PATH.unshift(File.dirname(__FILE__))
8
- require 'subcheat'
9
-
10
- class Test::Unit::TestCase
11
- def disable_running_of_commands
12
- Subcheat::Runner.output = StringIO.new
13
- Subcheat::Runner.perform_run = false
14
- end
15
-
16
- def subcheat_output
17
- Subcheat::Runner.output.string.chomp
18
- end
19
- end
data/test/test_command.rb DELETED
@@ -1,21 +0,0 @@
1
- require 'helper'
2
-
3
- class TestRunner < Test::Unit::TestCase
4
- context "creating a command" do
5
- should "create a command" do
6
- old_count = Subcheat::Command.commands.size
7
- Subcheat::Command.define('name') { puts 'foo' }
8
- assert_equal(old_count + 1, Subcheat::Command.commands.size)
9
- end
10
- end
11
-
12
- context 'finding commands' do
13
- should 'return a command for a name' do
14
- assert_instance_of(Subcheat::Command, Subcheat::Command.on('undo'))
15
- end
16
-
17
- should 'raise when loading non-exstant commands' do
18
- assert_raise(Subcheat::NoSuchCommand) { Subcheat::Command.on('foo') }
19
- end
20
- end
21
- end
data/test/test_runner.rb DELETED
@@ -1,42 +0,0 @@
1
- require 'helper'
2
-
3
- class TestRunner < Test::Unit::TestCase
4
- context 'No arguments' do
5
- setup do
6
- disable_running_of_commands
7
- end
8
-
9
- should 'run help by default' do
10
- Subcheat::Runner.new
11
- assert_equal('svn help', subcheat_output)
12
- end
13
- end
14
-
15
- context 'unwrapped commands' do
16
- setup do
17
- disable_running_of_commands
18
- end
19
-
20
- should 'pass through commands' do
21
- Subcheat::Runner.new('status')
22
- assert_equal('svn status', subcheat_output)
23
- end
24
-
25
- should 'pass through arguments' do
26
- Subcheat::Runner.new('status --ignore-externals')
27
- assert_equal('svn status --ignore-externals', subcheat_output)
28
- end
29
- end
30
-
31
- context 'wrapped commands' do
32
- setup do
33
- disable_running_of_commands
34
- end
35
-
36
- should 'find and call associated command' do
37
- Subcheat::Command.expects(:on).with('undo').returns(stub(:call => 'foo'))
38
- Subcheat::Runner.new('undo', '55')
39
- assert_equal('foo', subcheat_output)
40
- end
41
- end
42
- end
@@ -1,8 +0,0 @@
1
- require 'helper'
2
-
3
- class TestSubcheat < Test::Unit::TestCase
4
- should 'report version number' do
5
- File.expects(:read).returns('foo')
6
- assert_equal 'foo', Subcheat.version
7
- end
8
- end
data/test/test_svn.rb DELETED
@@ -1,32 +0,0 @@
1
- require 'helper'
2
-
3
- class TestRunner < Test::Unit::TestCase
4
- context 'a working copy' do
5
- setup do
6
- @info = <<-EOS
7
- Path: .
8
- URL: https://some-kind-of-svn.com/svn/project_name/branches/languages
9
- Repository Root: https://some-kind-of-svn.com/svn
10
- Repository UUID: 11af7ba9-5ee7-4c51-9542-47637e3bfceb
11
- Revision: 8049
12
- Node Kind: directory
13
- Schedule: normal
14
- Last Changed Author: Andy
15
- Last Changed Rev: 5019
16
- Last Changed Date: 2009-12-11 15:12:57 +0100 (vr, 11 dec 2009)
17
-
18
- EOS
19
- @svn = Subcheat::Svn.new([])
20
- @svn.stubs(:info).returns(@info)
21
- end
22
-
23
- should "read attributes" do
24
- assert_equal('https://some-kind-of-svn.com/svn/project_name/branches/languages', @svn.attr('URL'))
25
- assert_equal('8049', @svn.attr('Revision'))
26
- end
27
-
28
- should 'find project base URL' do
29
- assert_equal('https://some-kind-of-svn.com/svn/project_name/', @svn.base_url)
30
- end
31
- end
32
- end