gitnesse 0.12.5 → 0.12.6

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -15,3 +15,4 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ /config/gitnesse.rb
data/README.md CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  It enables a project to store Cucumber feature stories in a git-based wiki, test them against your code, and then update the wiki with the latest test results.
6
6
 
7
+ The advantage is, that the features are on a wiki, so non-programmers can see them, and edit using the wiki. Hence an awesome bi-directional testing flow between developers and non-developers on a team.
8
+
7
9
  Conceptually influenced by Fitnesse http://fitnesse.org/ thank you Uncle Bob!
8
10
 
9
11
  ## Installation
@@ -29,6 +31,17 @@ the following to it:
29
31
  config.info = "Bob Martin's development laptop"
30
32
  end
31
33
 
34
+ ## Git Config
35
+
36
+ Gitnesse depends on two values being present in your `gitconfig`: `user.name`
37
+ and `user.email`. These will be used when annotating test results, and to
38
+ identify commits you make to the feature wiki. If Gitnesse complains that you
39
+ don't have these set, you can fix this by entering the following lines in your
40
+ terminal:
41
+
42
+ $ git config --add --global user.name <your_name>
43
+ $ git config --add --global user.email <your_email>
44
+
32
45
  ## rake tasks
33
46
 
34
47
  $ rake gitnesse:pull
@@ -0,0 +1,5 @@
1
+ Gitnesse.configure do |config|
2
+ config.repository_url = "git@github.com:hybridgroup/gitnesse.wiki.git"
3
+ config.annotate_results = true
4
+ config.info = "Bob Martin's development laptop"
5
+ end
@@ -0,0 +1,54 @@
1
+ Given /^there is a code repo with cucumber features defined$/ do
2
+ @repo_dir = File.join(Dir.home, ".gitnesse_repo")
3
+ end
4
+
5
+ Given /^there is a code repo without any cucumber features defined$/ do
6
+ @repo_dir = File.join(Dir.home, ".gitnesse_repo_no_features")
7
+ end
8
+
9
+ Given /^there is a git wiki with cucumber features defined$/ do
10
+ @features_dir = File.join(Dir.home, ".gitnesse_features")
11
+
12
+ config_file = File.join(@repo_dir, "gitnesse.rb")
13
+ config = File.read(config_file)
14
+ config.gsub!(/config\.repository_url.*$/, "config.repository_url = '#{@features_dir}'")
15
+ File.open(config_file, 'w') { |file| file.puts config }
16
+ end
17
+
18
+ Given /^there is a git wiki without any cucumber features defined$/ do
19
+ @features_dir = File.join(Dir.home, ".gitnesse_features_no_features")
20
+
21
+ config_file = File.join(@repo_dir, "gitnesse.rb")
22
+ config = File.read(config_file)
23
+ config.gsub!(/config\.repository_url.*$/, "config.repository_url = '#{@features_dir}'")
24
+ File.open(config_file, 'w') { |file| file.puts config }
25
+ end
26
+
27
+ When /^developer pulls feature stories from the wiki$/ do
28
+ Dir.chdir(@repo_dir) do
29
+ `bundle exec rake gitnesse:pull &> /dev/null`
30
+ assert_equal $?, 0
31
+ end
32
+ end
33
+
34
+ When /^developer pushes feature stories to the wiki$/ do
35
+ Dir.chdir(@repo_dir) do
36
+ `bundle exec rake gitnesse:push &> /dev/null`
37
+ assert_equal $?, 0
38
+ end
39
+ end
40
+
41
+ Then /^the feature stories within the code should match the wiki$/ do
42
+ assert_dir = File.join(Dir.home, ".gitnesse_features_for_assert")
43
+
44
+ `git clone #{@features_dir} #{assert_dir} &> /dev/null`
45
+
46
+ repo_features = Dir.glob("#{@repo_dir}/features/*.feature").map { |file| File.basename(file, ".feature") }
47
+ wiki_files = Dir.glob("#{assert_dir}/*.md").map { |file| File.basename(file, ".md") }
48
+
49
+ FileUtils.rm_rf(assert_dir)
50
+
51
+ repo_features.each do |feature|
52
+ assert(wiki_files.include?(feature) || wiki_files.include?("#{feature}.feature"))
53
+ end
54
+ end
@@ -0,0 +1,65 @@
1
+ require 'test/unit/assertions'
2
+ World(Test::Unit::Assertions)
3
+
4
+ puts " Setting up Gitnesse for testing..."
5
+
6
+ @features_dir = File.join(Dir.home, ".gitnesse_features")
7
+ @features_dir_no_features = File.join(Dir.home, ".gitnesse_features_no_features")
8
+ @repo_dir = File.join(Dir.home, ".gitnesse_repo")
9
+ @repo_dir_no_features = File.join(Dir.home, ".gitnesse_repo_no_features")
10
+
11
+ Dir.mkdir @features_dir
12
+ Dir.mkdir @repo_dir
13
+ Dir.mkdir @features_dir_no_features
14
+ Dir.mkdir @repo_dir_no_features
15
+
16
+ Dir.chdir(@features_dir) do
17
+ system('git clone --bare https://github.com/hybridgroup/gitnesse-demo.wiki.git . &> /dev/null')
18
+ if $? == 0
19
+ puts " Cloned demo features to #{@features_dir}."
20
+ else
21
+ abort " Failed to clone demo features to #{@features_dir}."
22
+ end
23
+ end
24
+
25
+ Dir.chdir(@features_dir_no_features) do
26
+ system('git init --bare &> /dev/null')
27
+ if $? == 0
28
+ puts " Created demo wiki without features in #{@features_dir_no_features}."
29
+ else
30
+ abort " Failed to create demo wiki without features in #{@features_dir_no_features}."
31
+ end
32
+ end
33
+
34
+ Dir.chdir(@repo_dir) do
35
+ system('git clone https://github.com/hybridgroup/gitnesse-example-sinatra.git . &> /dev/null')
36
+ if $? == 0
37
+ puts " Cloned demo repo to #{@repo_dir}."
38
+ else
39
+ abort " Failed to clone demo repo to #{@repo_dir}."
40
+ end
41
+
42
+ system('bundle install --path vendor/bundle &> /dev/null')
43
+ if $? == 0
44
+ puts " Installed gems for demo wiki."
45
+ else
46
+ abort " Failed to install gems for demo wiki."
47
+ end
48
+ end
49
+
50
+ Dir.chdir(@repo_dir_no_features) do
51
+ FileUtils.cp_r("#{@repo_dir}/.", @repo_dir_no_features)
52
+ Dir.glob("#{@repo_dir_no_features}/**/*.feature") do |file|
53
+ File.unlink(file)
54
+ end
55
+ puts " Created demo repo without features."
56
+ end
57
+
58
+ puts " Finished setting up Gitnesse for testing. Running features.", ""
59
+
60
+ at_exit do
61
+ FileUtils.rm_rf(@features_dir)
62
+ FileUtils.rm_rf(@repo_dir)
63
+ FileUtils.rm_rf(@features_dir_no_features)
64
+ FileUtils.rm_rf(@repo_dir_no_features)
65
+ end
@@ -0,0 +1,29 @@
1
+ Feature:
2
+ In order to build software that provides the best fitting solution to a user problem
3
+ As a developer
4
+ I want to be able to test feature stories in my code
5
+ And also store the feature stories in a wiki so users can easily view or edit them
6
+
7
+ Scenario: Features already exist in wiki but not in code
8
+ Given there is a code repo without any cucumber features defined
9
+ And there is a git wiki with cucumber features defined
10
+ When developer pulls feature stories from the wiki
11
+ Then the feature stories within the code should match the wiki
12
+
13
+ Scenario: Features already exist in code but not in wiki
14
+ Given there is a code repo with cucumber features defined
15
+ And there is a git wiki without any cucumber features defined
16
+ When developer pushes feature stories to the wiki
17
+ Then the feature stories within the code should match the wiki
18
+
19
+ Scenario: Features pushes features from code to existing wiki
20
+ Given there is a code repo with cucumber features defined
21
+ And there is a git wiki with cucumber features defined
22
+ When developer pushes feature stories to the wiki
23
+ Then the feature stories within the code should match the wiki
24
+
25
+ Scenario: Features pulls features from wiki to existing code
26
+ Given there is a code repo with cucumber features defined
27
+ And there is a git wiki with cucumber features defined
28
+ When developer pulls feature stories from the wiki
29
+ Then the feature stories within the code should match the wiki
data/lib/gitnesse.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'bundler/setup'
2
2
  require 'gollum'
3
3
  require 'fileutils'
4
+ require 'pathname'
4
5
  require 'tmpdir'
5
6
  require 'gitnesse/configuration'
6
7
  require 'gitnesse/git_config'
@@ -31,7 +32,7 @@ module Gitnesse
31
32
  def run
32
33
  if pull
33
34
  Hooks.create
34
- puts "Now going to run cucumber..."
35
+ puts "\n Now going to run Cucumber."
35
36
  exec("cucumber #{Gitnesse.configuration.target_directory}/*.feature")
36
37
  end
37
38
  end
@@ -39,7 +40,7 @@ module Gitnesse
39
40
  def push_results
40
41
  if push
41
42
  Hooks.create
42
- puts "Now going to run cucumber..."
43
+ puts "\n Now going to run Cucumber."
43
44
  exec("cucumber #{Gitnesse.configuration.target_directory}/*.feature")
44
45
  end
45
46
  end
@@ -48,7 +49,9 @@ module Gitnesse
48
49
  def pull
49
50
  Dependencies.check
50
51
 
51
- puts "Pulling features into #{Gitnesse.configuration.target_directory} from #{Gitnesse.configuration.repository_url}..."
52
+ relative_path = Pathname.new(Gitnesse.configuration.target_directory).relative_path_from(Pathname.new(Dir.pwd))
53
+
54
+ puts " Pulling features into ./#{relative_path} from #{Gitnesse.configuration.repository_url}."
52
55
  Dir.mktmpdir do |tmp_dir|
53
56
  if clone_feature_repo(tmp_dir)
54
57
  FileUtils.mkdir(Gitnesse.configuration.target_directory) unless File.exists?(Gitnesse.configuration.target_directory)
@@ -62,7 +65,7 @@ module Gitnesse
62
65
  end
63
66
  end
64
67
  end
65
- puts " Done pulling features."
68
+ puts " \e[32mDone pulling features.\e[0m"
66
69
  true
67
70
  end
68
71
 
@@ -71,7 +74,9 @@ module Gitnesse
71
74
  Dependencies.check
72
75
  generate_commit_info
73
76
 
74
- puts "Pushing features from #{Gitnesse.configuration.target_directory} to #{Gitnesse.configuration.repository_url}..."
77
+ relative_path = Pathname.new(Gitnesse.configuration.target_directory).relative_path_from(Pathname.new(Dir.pwd))
78
+
79
+ puts " Pushing features from ./#{relative_path} to #{Gitnesse.configuration.repository_url}."
75
80
  Dir.mktmpdir do |tmp_dir|
76
81
  if clone_feature_repo(tmp_dir)
77
82
  feature_files = Dir.glob("#{Gitnesse.configuration.target_directory}/*.feature")
@@ -79,17 +84,16 @@ module Gitnesse
79
84
 
80
85
  # push the changes to the remote git
81
86
  Dir.chdir(tmp_dir) do
82
- puts `git push origin master`
87
+ `git push origin master &> /dev/null`
83
88
  end
84
89
  end
85
90
  end
86
- puts " Done pushing features."
91
+ puts " \e[32mDone pushing features.\e[0m"
87
92
  true
88
93
  end
89
94
 
90
95
  def clone_feature_repo(dir)
91
- output = `git clone #{Gitnesse.configuration.repository_url} #{dir} 2>&1`
92
- puts output
96
+ output = `git clone #{Gitnesse.configuration.repository_url} #{dir} &> /dev/null`
93
97
  $?.success?
94
98
  end
95
99
 
@@ -11,16 +11,17 @@ module Gitnesse
11
11
  check_git
12
12
  check_cucumber
13
13
  check_repository_url
14
+ check_annotation_info
14
15
  end
15
16
 
16
17
  protected
17
18
 
18
19
  def self.check_git
19
- raise NoGitError, "git not found or not working." unless Kernel.system("git --version")
20
+ raise NoGitError, "git not found or not working." unless Kernel.system("git --version &> /dev/null")
20
21
  end
21
22
 
22
23
  def self.check_cucumber
23
- raise NoCucumberError, "cucumber not found or not working." unless Kernel.system("cucumber --version")
24
+ raise NoCucumberError, "cucumber not found or not working." unless Kernel.system("cucumber --version &> /dev/null")
24
25
  end
25
26
 
26
27
  def self.check_repository_url
@@ -25,11 +25,11 @@ module Gitnesse
25
25
  features = ''
26
26
 
27
27
  name, content = page_features.shift
28
- puts " # Pulling Feature: #{name}"
28
+ puts " \e[32m\e[1mPulling Feature: \e[0m#{name}"
29
29
  features += content
30
30
 
31
31
  page_features.each do |name, feature|
32
- puts " # WARNING! Discarding Feature: #{name}"
32
+ puts " \e[33m\e[1mDiscarding Feature: \e[0m#{name}"
33
33
  end
34
34
 
35
35
  features
@@ -9,7 +9,7 @@ module Gitnesse
9
9
  Gitnesse::Configuration.load_using_search
10
10
  FileUtils.rm_rf(@dir) if File.directory?(@dir)
11
11
  Dir.mkdir(@dir)
12
- `git clone #{Gitnesse.configuration.repository_url} #{@dir}`
12
+ `git clone #{Gitnesse.configuration.repository_url} #{@dir} &> /dev/null`
13
13
  Wiki.new(@dir).remove_past_results
14
14
  end
15
15
 
@@ -17,12 +17,14 @@ module Gitnesse
17
17
  #
18
18
  # Returns nothing
19
19
  def self.teardown
20
+ puts " Pushing Cucumber results to wiki."
20
21
  Dir.chdir(@dir) do
21
- `git push origin master`
22
+ `git push origin master &> /dev/null`
22
23
  end
23
24
 
24
25
  FileUtils.rm_rf(@dir)
25
26
  FileUtils.rm(File.absolute_path("#{Gitnesse.configuration.target_directory}/support/gitnesse_hooks.rb"))
27
+ puts " Done."
26
28
  end
27
29
 
28
30
  # Public: Adds hooks into Cucumber
@@ -21,7 +21,7 @@ namespace :gitnesse do
21
21
  end
22
22
 
23
23
  desc "Push features to remote git wiki repository, run cucumber, and push results to wiki"
24
- task :push => :environment do
24
+ task :push_results => :environment do
25
25
  Gitnesse::Configuration.load_using_search
26
26
  Gitnesse.push_results
27
27
  end
@@ -1,3 +1,3 @@
1
1
  module Gitnesse
2
- VERSION = "0.12.5"
2
+ VERSION = "0.12.6"
3
3
  end
data/lib/gitnesse/wiki.rb CHANGED
@@ -108,7 +108,7 @@ module Gitnesse
108
108
  def strip_results(content)
109
109
  if content.match(/\u0060{3}gherkin.*\u0060{3}(.*)/m)[1]
110
110
  [ "FAILED", "PASSED", "PENDING", "UNDEFINED" ].each do |type|
111
- content.gsub!(/\n*\`Last result was #{type}: .*\n*/, '')
111
+ content.gsub!(/\n*\!\[\]\(.*\) \`Last result was #{type}: .*\n*/, '')
112
112
  end
113
113
  end
114
114
  content
@@ -118,20 +118,29 @@ module Gitnesse
118
118
  #
119
119
  # scenario - Cucumber scenario from After hook
120
120
  #
121
- # Returns nothing
121
+ # Returns a string containing the scenario result
122
122
  def append_results(scenario)
123
- pages = @wiki.pages
124
123
  filename = File.basename(scenario.feature.file, ".feature")
125
124
  @commit_info[:message] = Gitnesse.configuration.info
126
125
 
127
- pages.each do |page|
126
+ self.pages.each do |page|
128
127
  if page.name == filename || page.name == "#{filename}.feature"
129
128
  if page.text_data.include? scenario.name
130
129
  content = page.raw_data
131
- string = "\n\`Last result was #{scenario.status.to_s.upcase}: #{scenario.name} (#{Time.now.to_s} - #{Gitnesse.configuration.info})\`\n"
130
+
131
+ case scenario.status
132
+ when :undefined then image = "![](https://s3.amazonaws.com/gitnesse/github/undefined.png)"
133
+ when :passed then image = "![](https://s3.amazonaws.com/gitnesse/github/passing.png)"
134
+ when :failed then image = "![](https://s3.amazonaws.com/gitnesse/github/failing.png)"
135
+ when :pending then image = "![](https://s3.amazonaws.com/gitnesse/github/pending.png)"
136
+ else image = "![](https://s3.amazonaws.com/gitnesse/github/undefined.png)"
137
+ end
138
+
139
+ string = "\n#{image} \`Last result was #{scenario.status.to_s.upcase}: #{scenario.name} (#{Time.now.to_s} - #{Gitnesse.configuration.info})\`\n"
132
140
  content.gsub(string, '')
133
141
  content << string
134
142
  @wiki.update_page(page, page.name, :markdown, content, @commit_info)
143
+ return string
135
144
  end
136
145
  end
137
146
  end
@@ -148,7 +157,7 @@ module Gitnesse
148
157
  def create_wiki_page(name, content)
149
158
  new_page_content = build_page_content(content)
150
159
  @wiki.write_page(name, :markdown, new_page_content, @commit_info)
151
- puts " # Created Page: #{name}"
160
+ puts " \e[32mCreated page \e[0m#{name}."
152
161
  end
153
162
 
154
163
  # Private: Updates a wiki page with the provided name and content
@@ -163,10 +172,10 @@ module Gitnesse
163
172
  new_page_content = build_page_content(feature_content, wiki_page_content)
164
173
 
165
174
  if new_page_content == wiki_page_content
166
- puts " # Page #{page_name} didn't change"
175
+ puts " \e[32mPage \e[0m#{page_name} \e[32mdidn't change\e[0m."
167
176
  else
168
177
  @wiki.update_page(wiki_page, page_name, :markdown, new_page_content, @commit_info)
169
- puts " # Updated Page: #{page_name}"
178
+ puts " \e[33mUpdated page \e[0m#{page_name}."
170
179
  end
171
180
  end
172
181
  end
@@ -0,0 +1,11 @@
1
+ require_relative '../../test_helper'
2
+
3
+ describe Gitnesse::Configuration do
4
+ describe "defaults" do
5
+ subject { Gitnesse::Configuration.new }
6
+ it { subject.branch.must_equal "master" }
7
+ it { subject.annotate_results.must_equal false }
8
+ it { subject.info.must_be_nil }
9
+ it { subject.target_directory.must_equal File.join(Dir.pwd, "features") }
10
+ end
11
+ end
@@ -1,6 +1,19 @@
1
1
  require_relative '../../test_helper'
2
2
 
3
3
  describe Gitnesse::Dependencies do
4
+ describe "#check" do
5
+ before do
6
+ Gitnesse::Dependencies.expects(:check_git)
7
+ Gitnesse::Dependencies.expects(:check_cucumber)
8
+ Gitnesse::Dependencies.expects(:check_repository_url)
9
+ Gitnesse::Dependencies.expects(:check_annotation_info)
10
+ end
11
+
12
+ it "calls the other check functions" do
13
+ Gitnesse::Dependencies.check
14
+ end
15
+ end
16
+
4
17
  describe "#check_repository_url" do
5
18
  let(:method) { lambda { Gitnesse::Dependencies.check_repository_url } }
6
19
 
@@ -19,12 +32,12 @@ describe Gitnesse::Dependencies do
19
32
  let(:method) { lambda { Gitnesse::Dependencies.check_git } }
20
33
 
21
34
  describe "when git is not installed" do
22
- before { Kernel.expects(:system).with("git --version").returns(false) }
35
+ before { Kernel.expects(:system).with("git --version &> /dev/null").returns(false) }
23
36
  it { method.must_raise(Gitnesse::Dependencies::NoGitError) }
24
37
  end
25
38
 
26
39
  describe "when git is installed" do
27
- before { Kernel.expects(:system).with("git --version").returns(true) }
40
+ before { Kernel.expects(:system).with("git --version &> /dev/null").returns(true) }
28
41
  it { method.call.must_be_nil }
29
42
  end
30
43
  end
@@ -33,12 +46,12 @@ describe Gitnesse::Dependencies do
33
46
  let(:method) { lambda { Gitnesse::Dependencies.check_cucumber } }
34
47
 
35
48
  describe "when cucumber is not installed" do
36
- before { Kernel.expects(:system).with("cucumber --version").returns(false) }
49
+ before { Kernel.expects(:system).with("cucumber --version &> /dev/null").returns(false) }
37
50
  it { method.must_raise(Gitnesse::Dependencies::NoCucumberError) }
38
51
  end
39
52
 
40
53
  describe "when cucumber is installed" do
41
- before { Kernel.expects(:system).with("cucumber --version").returns(true) }
54
+ before { Kernel.expects(:system).with("cucumber --version &> /dev/null").returns(true) }
42
55
  it { method.call.must_be_nil }
43
56
  end
44
57
  end
@@ -16,13 +16,13 @@ Feature: Division
16
16
  When I divide
17
17
  Then the result should be 3
18
18
  ```
19
- `Last result was UNDEFINED: Divide two numbers`
19
+ ![](http://path-to-image) `Last result was UNDEFINED: Divide two numbers`
20
20
 
21
- `Last result was PENDING: Divide two numbers`
21
+ ![](http://path-to-image) `Last result was PENDING: Divide two numbers`
22
22
 
23
- `Last result was FAILED: Divide two numbers`
23
+ ![](http://path-to-image) `Last result was FAILED: Divide two numbers`
24
24
 
25
- `Last result was PASSED: Divide two numbers`
25
+ ![](http://path-to-image) `Last result was PASSED: Divide two numbers`
26
26
  EOS
27
27
  end
28
28
 
@@ -0,0 +1,50 @@
1
+ require_relative '../../test_helper'
2
+
3
+ describe Gitnesse::Wiki do
4
+ describe "#append_results" do
5
+ let(:dir) { Dir.mktmpdir }
6
+ let(:wiki) { mock }
7
+ let(:feature_file) do
8
+ <<-EOS
9
+ ```gherkin
10
+ Feature: Addition
11
+ In order to avoid silly mistakes
12
+ I want to be told the sum of two numbers
13
+
14
+ Scenario: Add two single digit numbers
15
+ Given I have entered 7 into the calculator
16
+ And I have entered 5 into the calculator
17
+ When I add
18
+ Then the result should be 12 on the screen
19
+ ```
20
+ EOS
21
+ end
22
+ let(:pages) do
23
+ [
24
+ stub(
25
+ :name => "addition",
26
+ :text_data => feature_file,
27
+ :raw_data => feature_file
28
+ )
29
+ ]
30
+ end
31
+ let(:cucumber_scenario) do
32
+ stub(
33
+ :name => "Add two single digit numbers",
34
+ :status => :passed,
35
+ :feature => stub(:file => "addition.feature")
36
+ )
37
+ end
38
+
39
+ let(:method) { lambda { Gitnesse::Wiki.new(dir).append_results(cucumber_scenario) } }
40
+
41
+ before do
42
+ Gollum::Wiki.expects(:new).returns(wiki)
43
+ wiki.expects(:pages).returns(pages)
44
+ wiki.expects(:update_page).returns(true)
45
+ File.expects(:basename).returns("addition")
46
+ end
47
+
48
+ it { puts method.call.must_include "Last result was PASSED: Add two single digit numbers" }
49
+ end
50
+ 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.12.5
4
+ version: 0.12.6
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-12-05 00:00:00.000000000 Z
12
+ date: 2012-12-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -121,6 +121,10 @@ files:
121
121
  - README.md
122
122
  - Rakefile
123
123
  - bin/gitnesse
124
+ - config/gitnesse.rb.example
125
+ - features/step_definitions/gitnesse_steps.rb
126
+ - features/support/env.rb
127
+ - features/sync_wiki_features_to_code.feature
124
128
  - gitnesse.gemspec
125
129
  - lib/gitnesse.rb
126
130
  - lib/gitnesse/configuration.rb
@@ -136,6 +140,7 @@ files:
136
140
  - lib/gitnesse/wiki.rb
137
141
  - test/lib/gitnesse/build_page_content_test.rb
138
142
  - test/lib/gitnesse/commit_info_test.rb
143
+ - test/lib/gitnesse/configuration_defaults_test.rb
139
144
  - test/lib/gitnesse/configuration_to_hash_test.rb
140
145
  - test/lib/gitnesse/custom_branch_test.rb
141
146
  - test/lib/gitnesse/dependencies_check_test.rb
@@ -145,6 +150,7 @@ files:
145
150
  - test/lib/gitnesse/read_git_config_test.rb
146
151
  - test/lib/gitnesse/strip_results_test.rb
147
152
  - test/lib/gitnesse/version_test.rb
153
+ - test/lib/gitnesse/wiki_append_results_test.rb
148
154
  - test/lib/gitnesse/write_file_test.rb
149
155
  - test/test_helper.rb
150
156
  - test/wiki_test_helper.rb
@@ -162,7 +168,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
162
168
  version: '0'
163
169
  segments:
164
170
  - 0
165
- hash: 3810986427098166554
171
+ hash: 3165279517982023743
166
172
  required_rubygems_version: !ruby/object:Gem::Requirement
167
173
  none: false
168
174
  requirements:
@@ -171,7 +177,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
171
177
  version: '0'
172
178
  segments:
173
179
  - 0
174
- hash: 3810986427098166554
180
+ hash: 3165279517982023743
175
181
  requirements: []
176
182
  rubyforge_project:
177
183
  rubygems_version: 1.8.24
@@ -179,8 +185,12 @@ signing_key:
179
185
  specification_version: 3
180
186
  summary: Features on git-based Wiki!
181
187
  test_files:
188
+ - features/step_definitions/gitnesse_steps.rb
189
+ - features/support/env.rb
190
+ - features/sync_wiki_features_to_code.feature
182
191
  - test/lib/gitnesse/build_page_content_test.rb
183
192
  - test/lib/gitnesse/commit_info_test.rb
193
+ - test/lib/gitnesse/configuration_defaults_test.rb
184
194
  - test/lib/gitnesse/configuration_to_hash_test.rb
185
195
  - test/lib/gitnesse/custom_branch_test.rb
186
196
  - test/lib/gitnesse/dependencies_check_test.rb
@@ -190,6 +200,7 @@ test_files:
190
200
  - test/lib/gitnesse/read_git_config_test.rb
191
201
  - test/lib/gitnesse/strip_results_test.rb
192
202
  - test/lib/gitnesse/version_test.rb
203
+ - test/lib/gitnesse/wiki_append_results_test.rb
193
204
  - test/lib/gitnesse/write_file_test.rb
194
205
  - test/test_helper.rb
195
206
  - test/wiki_test_helper.rb