gitnesse 0.1.3 → 0.12.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,28 +1,16 @@
1
1
  require_relative '../../test_helper'
2
2
 
3
3
  describe Gitnesse do
4
- describe "#commit_info" do
5
- let(:method) { lambda { Gitnesse.commit_info } }
4
+ describe "#generate_commit_info" do
5
+ let(:method) { lambda { Gitnesse.generate_commit_info } }
6
6
 
7
- describe "with a defined git username and email" do
8
- before do
9
- Gitnesse.expects(:read_git_config).with("user.name").returns("Bob Smith")
10
- Gitnesse.expects(:read_git_config).with("user.email").returns("bob@bobsmith.com")
11
- end
12
-
13
- it { method.call.must_equal({ :name => "Bob Smith",
14
- :email => "bob@bobsmith.com",
15
- :message => "Update features with Gitnesse" }) }
7
+ before do
8
+ Gitnesse::GitConfig.expects(:read).with("user.name").returns("Bob Martin")
9
+ Gitnesse::GitConfig.expects(:read).with("user.email").returns("bob@bobmartin.com")
16
10
  end
17
11
 
18
- describe "without a defined git username and email" do
19
- before do
20
- Gitnesse.commit_info = nil
21
- Gitnesse.expects(:read_git_config).with("user.name").returns('')
22
- Gitnesse.expects(:read_git_config).with("user.email").returns('')
23
- end
24
-
25
- it { method.must_raise RuntimeError }
26
- end
12
+ it { method.call.must_equal({ :name => "Bob Martin",
13
+ :email => "bob@bobmartin.com",
14
+ :message => "Update features with Gitnesse" }) }
27
15
  end
28
16
  end
@@ -1,13 +1,14 @@
1
1
  require_relative '../../test_helper'
2
2
 
3
- describe Gitnesse do
4
- describe ".config_to_hash" do
5
- let(:method) { lambda { Gitnesse.config_to_hash } }
3
+ describe Gitnesse::Configuration do
4
+ describe ".to_hash" do
5
+ let(:method) { lambda { Gitnesse.configuration.to_hash } }
6
+
6
7
  before do
7
- Gitnesse.config do
8
- repository_url "git://github.com/hybridgroup/gitnesse-demo.wiki.git"
9
- branch "wiki"
10
- target_directory "feature_files"
8
+ Gitnesse.configure do |config|
9
+ config.repository_url = "git://github.com/hybridgroup/gitnesse-demo.wiki.git"
10
+ config.branch = "wiki"
11
+ config.target_directory = "feature_files"
11
12
  end
12
13
  end
13
14
 
@@ -1,25 +1,24 @@
1
1
  require_relative '../../test_helper'
2
2
 
3
- describe Gitnesse do
3
+ describe Gitnesse::Configuration do
4
4
  describe "#branch" do
5
5
  describe "defaults to 'master'" do
6
- before { Gitnesse.branch nil }
7
- it { Gitnesse.branch.must_equal "master" }
6
+ it { Gitnesse.configuration.branch.must_equal "master" }
8
7
  end
9
8
 
10
9
  describe "when changed" do
11
- before { Gitnesse.branch "wiki" }
12
- it { Gitnesse.branch.must_equal "wiki" }
10
+ before { Gitnesse.configuration.branch = "wiki" }
11
+ it { Gitnesse.configuration.branch.must_equal "wiki" }
13
12
  end
14
13
 
15
- describe "when changed through #config" do
14
+ describe "when changed through #configure" do
16
15
  before do
17
- Gitnesse.config do
18
- branch "wiki"
16
+ Gitnesse.configure do |config|
17
+ config.branch = "wiki"
19
18
  end
20
19
  end
21
20
 
22
- it { Gitnesse.branch.must_equal "wiki" }
21
+ it { Gitnesse.configuration.branch.must_equal "wiki" }
23
22
  end
24
23
  end
25
24
  end
@@ -0,0 +1,60 @@
1
+ require_relative '../../test_helper'
2
+
3
+ describe Gitnesse::Dependencies do
4
+ describe "#check_repository_url" do
5
+ let(:method) { lambda { Gitnesse::Dependencies.check_repository_url } }
6
+
7
+ describe "when repository was defined" do
8
+ before { Gitnesse.configuration.repository_url = "git://github.com/hybridgroup/gitnesse-demo.wiki" }
9
+ it { method.call.must_be_nil }
10
+ end
11
+
12
+ describe "when repository was not defined" do
13
+ before { Gitnesse.configuration.repository_url = nil }
14
+ it { method.must_raise(Gitnesse::Dependencies::NoRepositoryURLError) }
15
+ end
16
+ end
17
+
18
+ describe "#check_git" do
19
+ let(:method) { lambda { Gitnesse::Dependencies.check_git } }
20
+
21
+ describe "when git is not installed" do
22
+ before { Kernel.expects(:system).with("git --version").returns(false) }
23
+ it { method.must_raise(Gitnesse::Dependencies::NoGitError) }
24
+ end
25
+
26
+ describe "when git is installed" do
27
+ before { Kernel.expects(:system).with("git --version").returns(true) }
28
+ it { method.call.must_be_nil }
29
+ end
30
+ end
31
+
32
+ describe "#check_cucumber" do
33
+ let(:method) { lambda { Gitnesse::Dependencies.check_cucumber } }
34
+
35
+ describe "when cucumber is not installed" do
36
+ before { Kernel.expects(:system).with("cucumber --version").returns(false) }
37
+ it { method.must_raise(Gitnesse::Dependencies::NoCucumberError) }
38
+ end
39
+
40
+ describe "when cucumber is installed" do
41
+ before { Kernel.expects(:system).with("cucumber --version").returns(true) }
42
+ it { method.call.must_be_nil }
43
+ end
44
+ end
45
+
46
+ describe "#check_annotation_info" do
47
+ let(:method) { lambda { Gitnesse::Dependencies.check_annotation_info } }
48
+ before { Gitnesse.configuration.annotate_results = true }
49
+
50
+ describe "when info is defined" do
51
+ before { Gitnesse.configuration.info = "Bob Martin's workstation" }
52
+ it { method.call.must_be_nil }
53
+ end
54
+
55
+ describe "when info is not defined" do
56
+ before { Gitnesse.configuration.info = nil }
57
+ it { method.must_raise Gitnesse::Dependencies::NoAnnotationInfoError }
58
+ end
59
+ end
60
+ end
@@ -1,6 +1,6 @@
1
1
  require_relative '../../test_helper'
2
2
 
3
- describe Gitnesse do
3
+ describe Gitnesse::Wiki do
4
4
  describe ".extract_features" do
5
5
  let(:data) do
6
6
  <<-EOS
@@ -33,7 +33,7 @@ Feature: Addition
33
33
  "}
34
34
  end
35
35
 
36
- let(:method) { lambda { Gitnesse.extract_features(data) } }
36
+ let(:method) { lambda { Gitnesse::Wiki.extract_features(data) } }
37
37
 
38
38
  it { method.call.must_be_instance_of Hash }
39
39
 
@@ -1,30 +1,30 @@
1
1
  require_relative '../../test_helper'
2
2
 
3
- describe Gitnesse do
4
- describe ".gather_features" do
3
+ describe Gitnesse::Features do
4
+ describe ".gather" do
5
5
 
6
6
  describe "when several features" do
7
7
  let(:page_features) { {"test-feature" => "feature content", "another-test-feature" => "another feature content"} }
8
8
 
9
- it { Gitnesse.gather_features(page_features).must_equal "feature content" }
9
+ it { Gitnesse::Features.gather(page_features).must_equal "feature content" }
10
10
  end
11
11
 
12
12
  describe "when one single feature" do
13
13
  let(:page_features) { {"test-feature" => "feature content"} }
14
14
 
15
- it { Gitnesse.gather_features(page_features).must_equal "feature content" }
15
+ it { Gitnesse::Features.gather(page_features).must_equal "feature content" }
16
16
  end
17
17
 
18
18
  describe "when no features" do
19
19
  let(:page_features) { Hash.new }
20
20
 
21
- it { Gitnesse.gather_features(page_features).must_equal "" }
21
+ it { Gitnesse::Features.gather(page_features).must_equal "" }
22
22
  end
23
23
 
24
24
  describe "when nil" do
25
25
  let(:page_features) { nil }
26
26
 
27
- it { Gitnesse.gather_features(page_features).must_equal "" }
27
+ it { Gitnesse::Features.gather(page_features).must_equal "" }
28
28
  end
29
29
  end
30
30
  end
@@ -26,7 +26,7 @@ Feature: Addition
26
26
  file.write(feature)
27
27
  end
28
28
 
29
- Dir.expects(:glob).with("#{Gitnesse.target_directory}/*.feature").returns(:feature_file_dir)
29
+ Dir.expects(:glob).with("#{Gitnesse.configuration.target_directory}/*.feature").returns(:feature_file_dir)
30
30
  wiki.expects(:page).with("testing").returns(wiki_page)
31
31
  Gitnesse.expects(:update_wiki_page).with(wiki_page, "testing", "blarg")
32
32
  end
@@ -1,23 +1,21 @@
1
1
  require_relative '../../test_helper'
2
2
 
3
- describe Gitnesse do
4
- describe "#read_git_config" do
5
- let(:method) { lambda { Gitnesse.read_git_config("user.email") } }
3
+ describe Gitnesse::GitConfig do
4
+ describe "#read" do
5
+ let(:method) { lambda { Gitnesse::GitConfig.read("user.email") } }
6
6
 
7
7
  describe "when a gitconfig value is not set" do
8
8
  before do
9
- $?.stubs(:success?).returns(false)
10
- Gitnesse.stubs(:`).with("git config --get user.email").returns("")
11
- Gitnesse.stubs(:`).with("git config --get --global user.email").returns("")
9
+ Gitnesse::GitConfig.stubs(:`).with("git config --get user.email").returns("")
10
+ Gitnesse::GitConfig.stubs(:`).with("git config --get --global user.email").returns("")
12
11
  end
13
12
 
14
- it { method.call.must_equal "" }
13
+ it { method.must_raise(Gitnesse::GitConfig::NoValueSetError) }
15
14
  end
16
15
 
17
16
  describe "when a gitconfig value is set" do
18
17
  before do
19
- $?.stubs(:success?).returns(true)
20
- Gitnesse.stubs(:`).with("git config --get user.email").returns("bob@bobsmith.com\n")
18
+ Gitnesse::GitConfig.stubs(:`).with("git config --get user.email").returns("bob@bobsmith.com\n")
21
19
  end
22
20
 
23
21
  it { method.call.must_equal "bob@bobsmith.com" }
@@ -25,8 +23,8 @@ describe Gitnesse do
25
23
 
26
24
  describe "when a gitconfig value is set globally" do
27
25
  before do
28
- Gitnesse.stubs(:`).with("git config --get user.email").returns("")
29
- Gitnesse.stubs(:`).with("git config --get --global user.email").returns("bob@bobsmith.com\n")
26
+ Gitnesse::GitConfig.stubs(:`).with('git config --get user.email').returns('')
27
+ Gitnesse::GitConfig.stubs(:`).with('git config --get --global user.email').returns("bob@bobsmith.com\n")
30
28
  end
31
29
 
32
30
  it { method.call.must_equal "bob@bobsmith.com" }
@@ -0,0 +1,52 @@
1
+ require_relative "../../test_helper"
2
+
3
+ describe Gitnesse::Wiki do
4
+ describe "#strip_results" do
5
+ let(:wiki_page) do
6
+ <<-EOS
7
+ ```gherkin
8
+ Feature: Division
9
+ In order to avoid silly mistakes
10
+ As a math idiot
11
+ I want to be told the quotient of 2 numbers
12
+
13
+ Scenario: Divide two numbers
14
+ Given I have entered 6 into the calculator
15
+ And I have entered 2 into the calculator
16
+ When I divide
17
+ Then the result should be 3
18
+ ```
19
+ `Last result was UNDEFINED: Divide two numbers`
20
+
21
+ `Last result was PENDING: Divide two numbers`
22
+
23
+ `Last result was FAILED: Divide two numbers`
24
+
25
+ `Last result was PASSED: Divide two numbers`
26
+ EOS
27
+ end
28
+
29
+ let(:expected_result) do
30
+ "```gherkin
31
+ Feature: Division
32
+ In order to avoid silly mistakes
33
+ As a math idiot
34
+ I want to be told the quotient of 2 numbers
35
+
36
+ Scenario: Divide two numbers
37
+ Given I have entered 6 into the calculator
38
+ And I have entered 2 into the calculator
39
+ When I divide
40
+ Then the result should be 3
41
+ ```"
42
+ end
43
+
44
+ before do
45
+ Gollum::Wiki.expects(:new).returns(mock)
46
+ end
47
+
48
+ it "strips old results from the page" do
49
+ Gitnesse::Wiki.new(Dir.mktmpdir).strip_results(wiki_page).must_equal expected_result
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,18 @@
1
+ require_relative '../../test_helper'
2
+
3
+ describe Gitnesse::Features do
4
+ describe ".write_file" do
5
+ let(:file) { StringIO.new }
6
+ let(:file_path) { "#{Gitnesse.configuration.target_directory}/test.feature" }
7
+
8
+ before do
9
+ File.expects(:open).with(file_path, "w").yields(file)
10
+ Gitnesse::Features.expects(:gather).with({ "test-feature" => "feature content" }).returns("feature content")
11
+ end
12
+
13
+ it "writes to the file" do
14
+ Gitnesse::Features.write_file(file_path, { "test-feature" => "feature content" })
15
+ file.string.must_equal "feature content"
16
+ end
17
+ end
18
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitnesse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.12.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-20 00:00:00.000000000 Z
12
+ date: 2012-12-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -123,21 +123,29 @@ files:
123
123
  - bin/gitnesse
124
124
  - gitnesse.gemspec
125
125
  - lib/gitnesse.rb
126
+ - lib/gitnesse/configuration.rb
127
+ - lib/gitnesse/dependencies.rb
128
+ - lib/gitnesse/features.rb
129
+ - lib/gitnesse/git_config.rb
130
+ - lib/gitnesse/hooks.rb
126
131
  - lib/gitnesse/railtie.rb
132
+ - lib/gitnesse/support/hook.rb
127
133
  - lib/gitnesse/tasks.rake
128
134
  - lib/gitnesse/tasks.rb
129
135
  - lib/gitnesse/version.rb
136
+ - lib/gitnesse/wiki.rb
130
137
  - test/lib/gitnesse/build_page_content_test.rb
131
- - test/lib/gitnesse/check_dependencies_test.rb
132
138
  - test/lib/gitnesse/commit_info_test.rb
133
- - test/lib/gitnesse/config_to_hash_test.rb
139
+ - test/lib/gitnesse/configuration_to_hash_test.rb
134
140
  - test/lib/gitnesse/custom_branch_test.rb
141
+ - test/lib/gitnesse/dependencies_check_test.rb
135
142
  - test/lib/gitnesse/extract_features_test.rb
136
- - test/lib/gitnesse/gather_features_test.rb
143
+ - test/lib/gitnesse/gather_test.rb
137
144
  - test/lib/gitnesse/load_feature_files_into_wiki_test.rb
138
145
  - test/lib/gitnesse/read_git_config_test.rb
146
+ - test/lib/gitnesse/strip_results_test.rb
139
147
  - test/lib/gitnesse/version_test.rb
140
- - test/lib/gitnesse/write_feature_file_test.rb
148
+ - test/lib/gitnesse/write_file_test.rb
141
149
  - test/test_helper.rb
142
150
  - test/wiki_test_helper.rb
143
151
  homepage: https://github.com/hybridgroup/gitnesse
@@ -154,7 +162,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
154
162
  version: '0'
155
163
  segments:
156
164
  - 0
157
- hash: -842557645323661909
165
+ hash: 3810986427098166554
158
166
  required_rubygems_version: !ruby/object:Gem::Requirement
159
167
  none: false
160
168
  requirements:
@@ -163,7 +171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
163
171
  version: '0'
164
172
  segments:
165
173
  - 0
166
- hash: -842557645323661909
174
+ hash: 3810986427098166554
167
175
  requirements: []
168
176
  rubyforge_project:
169
177
  rubygems_version: 1.8.24
@@ -172,15 +180,16 @@ specification_version: 3
172
180
  summary: Features on git-based Wiki!
173
181
  test_files:
174
182
  - test/lib/gitnesse/build_page_content_test.rb
175
- - test/lib/gitnesse/check_dependencies_test.rb
176
183
  - test/lib/gitnesse/commit_info_test.rb
177
- - test/lib/gitnesse/config_to_hash_test.rb
184
+ - test/lib/gitnesse/configuration_to_hash_test.rb
178
185
  - test/lib/gitnesse/custom_branch_test.rb
186
+ - test/lib/gitnesse/dependencies_check_test.rb
179
187
  - test/lib/gitnesse/extract_features_test.rb
180
- - test/lib/gitnesse/gather_features_test.rb
188
+ - test/lib/gitnesse/gather_test.rb
181
189
  - test/lib/gitnesse/load_feature_files_into_wiki_test.rb
182
190
  - test/lib/gitnesse/read_git_config_test.rb
191
+ - test/lib/gitnesse/strip_results_test.rb
183
192
  - test/lib/gitnesse/version_test.rb
184
- - test/lib/gitnesse/write_feature_file_test.rb
193
+ - test/lib/gitnesse/write_file_test.rb
185
194
  - test/test_helper.rb
186
195
  - test/wiki_test_helper.rb
@@ -1,45 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- describe Gitnesse do
4
- describe "#ensure_repository" do
5
- let(:method) { lambda { Gitnesse.ensure_repository } }
6
-
7
- describe "when repository was defined" do
8
- before { Gitnesse.repository_url("git://github.com/hybridgroup/gitnesse-demo.wiki") }
9
- it { method.call.must_be_nil }
10
- end
11
-
12
- describe "when repository was not defined" do
13
- before { Gitnesse.repository_url(nil) }
14
- it { method.must_raise(RuntimeError) }
15
- end
16
- end
17
-
18
- describe "#ensure_git_available" do
19
- let(:method) { lambda { Gitnesse.ensure_git_available } }
20
-
21
- describe "when git is not installed" do
22
- before { Kernel.expects(:system).with("git --version").returns(false) }
23
- it { method.must_raise(RuntimeError) }
24
- end
25
-
26
- describe "when git is installed" do
27
- before { Kernel.expects(:system).with("git --version").returns(true) }
28
- it { method.call.must_be_nil }
29
- end
30
- end
31
-
32
- describe "#ensure_cucumber_available" do
33
- let(:method) { lambda { Gitnesse.ensure_cucumber_available } }
34
-
35
- describe "when cucumber is not installed" do
36
- before { Kernel.expects(:system).with("cucumber --version").returns(false) }
37
- it { method.must_raise(RuntimeError) }
38
- end
39
-
40
- describe "when cucumber is installed" do
41
- before { Kernel.expects(:system).with("cucumber --version").returns(true) }
42
- it { method.call.must_be_nil }
43
- end
44
- end
45
- end