gitnesse 0.1.3 → 0.12.5

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.
@@ -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