cuki 0.0.4 → 0.0.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.
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm use 1.8.7
data/Gemfile CHANGED
@@ -8,9 +8,11 @@ group :development do
8
8
  gem "bundler", "~> 1.0.0"
9
9
  gem "jeweler", "~> 1.6.4"
10
10
  gem "rcov", ">= 0"
11
+ gem "rspec"
11
12
  end
12
13
 
13
- group :test do
14
- gem "rspec"
14
+ group :test do
15
15
  gem "cucumber"
16
+ gem "aruba"
17
+ gem "webmock"
16
18
  end
data/Gemfile.lock CHANGED
@@ -1,7 +1,19 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ addressable (2.2.6)
5
+ aruba (0.4.6)
6
+ bcat (>= 0.6.1)
7
+ childprocess (>= 0.2.0)
8
+ cucumber (>= 1.0.2)
9
+ rdiscount (>= 1.6.8)
10
+ rspec (>= 2.6.0)
11
+ bcat (0.6.2)
12
+ rack (~> 1.0)
4
13
  builder (3.0.0)
14
+ childprocess (0.2.2)
15
+ ffi (~> 1.0.6)
16
+ crack (0.3.1)
5
17
  cucumber (1.1.0)
6
18
  builder (>= 2.1.2)
7
19
  diff-lcs (>= 1.1.2)
@@ -9,6 +21,7 @@ GEM
9
21
  json (>= 1.4.6)
10
22
  term-ansicolor (>= 1.0.6)
11
23
  diff-lcs (1.1.3)
24
+ ffi (1.0.9)
12
25
  gherkin (2.5.1)
13
26
  json (>= 1.4.6)
14
27
  git (1.2.5)
@@ -19,8 +32,10 @@ GEM
19
32
  rake
20
33
  json (1.6.1)
21
34
  nokogiri (1.5.0)
35
+ rack (1.3.4)
22
36
  rake (0.9.2)
23
37
  rcov (0.9.11)
38
+ rdiscount (1.6.8)
24
39
  rspec (2.6.0)
25
40
  rspec-core (~> 2.6.0)
26
41
  rspec-expectations (~> 2.6.0)
@@ -31,11 +46,15 @@ GEM
31
46
  rspec-mocks (2.6.0)
32
47
  shoulda (2.11.3)
33
48
  term-ansicolor (1.0.6)
49
+ webmock (1.7.7)
50
+ addressable (~> 2.2, > 2.2.5)
51
+ crack (>= 0.1.7)
34
52
 
35
53
  PLATFORMS
36
54
  ruby
37
55
 
38
56
  DEPENDENCIES
57
+ aruba
39
58
  bundler (~> 1.0.0)
40
59
  cucumber
41
60
  httpclient
@@ -44,3 +63,4 @@ DEPENDENCIES
44
63
  rcov
45
64
  rspec
46
65
  shoulda
66
+ webmock
data/README.rdoc CHANGED
@@ -32,6 +32,10 @@ Run it from the command line:
32
32
  or, if using binstubs:
33
33
 
34
34
  bin/cuki pull
35
+
36
+ You can also pull a single feature:
37
+
38
+ cuki pull features/add_product.feature
35
39
 
36
40
  == Options
37
41
 
@@ -49,7 +53,7 @@ or, if using binstubs:
49
53
  == TODO
50
54
 
51
55
  * Handle links
52
- * Add tests
56
+ * Support for pushing features to Confluence (roundtrip editing)
53
57
 
54
58
  == Copyright
55
59
 
data/Rakefile CHANGED
@@ -25,22 +25,18 @@ Jeweler::Tasks.new do |gem|
25
25
  end
26
26
  Jeweler::RubygemsDotOrgTasks.new
27
27
 
28
- require 'rake/testtask'
29
- Rake::TestTask.new(:test) do |test|
30
- test.libs << 'lib' << 'test'
31
- test.pattern = 'test/**/test_*.rb'
32
- test.verbose = true
28
+ require 'rspec/core'
29
+ require 'rspec/core/rake_task'
30
+ RSpec::Core::RakeTask.new(:spec) do |spec|
31
+ spec.pattern = FileList['spec/**/*_spec.rb']
33
32
  end
34
33
 
35
- require 'rcov/rcovtask'
36
- Rcov::RcovTask.new do |test|
37
- test.libs << 'test'
38
- test.pattern = 'test/**/test_*.rb'
39
- test.verbose = true
40
- test.rcov_opts << '--exclude "gems/*"'
34
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
35
+ spec.pattern = 'spec/**/*_spec.rb'
36
+ spec.rcov = true
41
37
  end
42
38
 
43
- task :default => :test
39
+ task :default => :spec
44
40
 
45
41
  require 'rake/rdoctask'
46
42
  Rake::RDocTask.new do |rdoc|
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.0.5
data/cuki.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "cuki"
8
- s.version = "0.0.4"
8
+ s.version = "0.0.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Andy Waite"]
12
- s.date = "2011-10-15"
12
+ s.date = "2011-10-16"
13
13
  s.description = ""
14
14
  s.email = "andy@andywaite.com"
15
15
  s.executables = ["cuki"]
@@ -19,6 +19,8 @@ Gem::Specification.new do |s|
19
19
  ]
20
20
  s.files = [
21
21
  ".document",
22
+ ".rspec",
23
+ ".rvmrc",
22
24
  "Gemfile",
23
25
  "Gemfile.lock",
24
26
  "LICENSE.txt",
@@ -28,9 +30,19 @@ Gem::Specification.new do |s|
28
30
  "bin/cuki",
29
31
  "cuki.gemspec",
30
32
  "cuki.yaml.sample",
33
+ "features/pull/pull.feature",
34
+ "features/pull/pull_single.feature",
35
+ "features/pull/tables.feature",
36
+ "features/pull/tags.feature",
37
+ "features/pull/textile.feature",
38
+ "features/push/push.feature",
39
+ "features/push/tables.feature",
40
+ "features/push/tags.feature",
41
+ "features/step_defs/pull_steps.rb",
42
+ "features/support/env.rb",
31
43
  "lib/cuki.rb",
32
- "test/helper.rb",
33
- "test/test_cuki.rb"
44
+ "spec/cuki_spec.rb",
45
+ "spec/spec_helper.rb"
34
46
  ]
35
47
  s.homepage = "http://github.com/andyw8/cuki"
36
48
  s.licenses = ["MIT"]
@@ -48,6 +60,7 @@ Gem::Specification.new do |s|
48
60
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
49
61
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
50
62
  s.add_development_dependency(%q<rcov>, [">= 0"])
63
+ s.add_development_dependency(%q<rspec>, [">= 0"])
51
64
  else
52
65
  s.add_dependency(%q<httpclient>, [">= 0"])
53
66
  s.add_dependency(%q<nokogiri>, [">= 0"])
@@ -55,6 +68,7 @@ Gem::Specification.new do |s|
55
68
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
56
69
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
57
70
  s.add_dependency(%q<rcov>, [">= 0"])
71
+ s.add_dependency(%q<rspec>, [">= 0"])
58
72
  end
59
73
  else
60
74
  s.add_dependency(%q<httpclient>, [">= 0"])
@@ -63,6 +77,7 @@ Gem::Specification.new do |s|
63
77
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
64
78
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
65
79
  s.add_dependency(%q<rcov>, [">= 0"])
80
+ s.add_dependency(%q<rspec>, [">= 0"])
66
81
  end
67
82
  end
68
83
 
@@ -0,0 +1,62 @@
1
+ Feature: Pull
2
+
3
+ Scenario: Missing action
4
+ When I run `cuki`
5
+ Then it should fail with:
6
+ """
7
+ No action given
8
+ """
9
+
10
+ Scenario: Missing config
11
+ Given no file named "config/cuki.yaml" exists
12
+ When I run `cuki pull`
13
+ Then it should fail with:
14
+ """
15
+ No config file found at config/cuki.yaml
16
+ """
17
+
18
+ Scenario: Pull all features
19
+ Given a file named "config/cuki.yaml" with:
20
+ """
21
+ ---
22
+ host: http://example.com
23
+ mappings:
24
+ 123: products/add_product
25
+ 456: products/remove_product
26
+ """
27
+ And a Confluence page on "example.com" with id 123:
28
+ """
29
+ <input id="content-title" value="Add Product">
30
+ <div id="markupTextarea">
31
+ This feature describes adding a product
32
+ </div>
33
+ """
34
+ And a Confluence page on "example.com" with id 456:
35
+ """
36
+ <input id="content-title" value="Remove Product">
37
+ <div id="markupTextarea">
38
+ This feature describes removing a product
39
+ </div>
40
+ """
41
+ When I run `cuki pull`
42
+ Then the file "features/products/add_product.feature" should contain exactly:
43
+ """
44
+ Feature: Add Product
45
+
46
+ http://example.com/pages/editpage.action?pageId=123
47
+
48
+
49
+ This feature describes adding a product
50
+
51
+ """
52
+ Then the file "features/products/remove_product.feature" should contain exactly:
53
+ """
54
+ Feature: Remove Product
55
+
56
+ http://example.com/pages/editpage.action?pageId=456
57
+
58
+
59
+ This feature describes removing a product
60
+
61
+ """
62
+
@@ -0,0 +1,28 @@
1
+ Feature: Pull single
2
+
3
+ Scenario: Pull all features
4
+ Given a file named "config/cuki.yaml" with:
5
+ """
6
+ ---
7
+ host: http://example.com
8
+ mappings:
9
+ 123: products/add_product
10
+ 456: products/remove_product
11
+ """
12
+ And a Confluence page on "example.com" with id 123:
13
+ """
14
+ <input id="content-title" value="Add Product">
15
+ <div id="markupTextarea">
16
+ This feature describes adding a product
17
+ </div>
18
+ """
19
+ And a Confluence page on "example.com" with id 456:
20
+ """
21
+ <input id="content-title" value="Remove Product">
22
+ <div id="markupTextarea">
23
+ This feature describes removing a product
24
+ </div>
25
+ """
26
+ When I run `cuki pull features/products/add_product.feature`
27
+ Then a file named "features/products/add_product.feature" should exist
28
+ But the file "features/products/remove_product.feature" should not exist
@@ -0,0 +1,40 @@
1
+ # Assume no header for single column tables?
2
+ Feature: Tables
3
+
4
+ Scenario: Table with more than one column
5
+
6
+ Given a file named "config/cuki.yaml" with:
7
+ """
8
+ ---
9
+ host: http://example.com
10
+ mappings:
11
+ 123: products/add_product
12
+ """
13
+ And a Confluence page on "example.com" with id 123:
14
+ """
15
+ <input id="content-title" value="Add Product">
16
+ <div id="markupTextarea">
17
+ h5. Scenario: Foo
18
+
19
+ Given this:
20
+ || foo || bar ||
21
+ | a | 1 |
22
+ | b | 2 |
23
+ </div>
24
+ """
25
+ When I run `cuki pull`
26
+ Then the file "features/products/add_product.feature" should contain exactly:
27
+ """
28
+ Feature: Add Product
29
+
30
+ http://example.com/pages/editpage.action?pageId=123
31
+
32
+
33
+ Scenario: Foo
34
+
35
+ Given this:
36
+ | foo | bar |
37
+ | a | 1 |
38
+ | b | 2 |
39
+
40
+ """
@@ -0,0 +1,32 @@
1
+ Feature: Tags
2
+
3
+ Scenario:
4
+ Given a file named "config/cuki.yaml" with:
5
+ """
6
+ ---
7
+ host: http://example.com
8
+ tags:
9
+ draft: "{info:title=Draft version}"
10
+ signed_off: "{info:title=Signed-off}"
11
+ mappings:
12
+ 123: products/add_product
13
+ """
14
+ And a Confluence page on "example.com" with id 123:
15
+ """
16
+ <input id="content-title" value="Add Product">
17
+ <div id="markupTextarea">{info:title=Draft version}
18
+ h5. Scenario: Foo
19
+ </div>
20
+ """
21
+ When I run `cuki pull`
22
+ Then the file "features/products/add_product.feature" should contain exactly:
23
+ """
24
+ @draft
25
+ Feature: Add Product
26
+
27
+ http://example.com/pages/editpage.action?pageId=123
28
+
29
+
30
+ Scenario: Foo
31
+
32
+ """
@@ -0,0 +1,32 @@
1
+ Feature: Textile
2
+
3
+ Scenario:
4
+ Given a file named "config/cuki.yaml" with:
5
+ """
6
+ ---
7
+ host: http://example.com
8
+ mappings:
9
+ 123: products/add_product
10
+ """
11
+ And a Confluence page on "example.com" with id 123:
12
+ """
13
+ <input id="content-title" value="Add Product">
14
+ <div id="markupTextarea">
15
+ h5. Scenario: Foo
16
+
17
+ h6. Scenario Outline: Bar
18
+ </div>
19
+ """
20
+ When I run `cuki pull`
21
+ Then the file "features/products/add_product.feature" should contain exactly:
22
+ """
23
+ Feature: Add Product
24
+
25
+ http://example.com/pages/editpage.action?pageId=123
26
+
27
+
28
+ Scenario: Foo
29
+
30
+ Scenario Outline: Bar
31
+
32
+ """
@@ -0,0 +1,79 @@
1
+ @pending
2
+ Feature: Push
3
+
4
+ Background:
5
+ Given a file named "config/cuki.yaml" with:
6
+ """
7
+ ---
8
+ host: http://mywiki
9
+ mappings:
10
+ 123: products/add_product
11
+ """
12
+
13
+ Scenario: Push a feature with no scenarios
14
+ Given a file named "config/cuki.yaml" with:
15
+ """
16
+ Feature: Hello world & all
17
+
18
+ This is my feature
19
+ """
20
+ When I run `cuki push features/products/add_product.feature`
21
+ Then the feature should be pushed to "http://mywiki/pages/editpage.action?pageId=123"
22
+ And the Confluence content should be:
23
+ """
24
+ This is my feature
25
+ """
26
+ And the Confluence title should be:
27
+ """
28
+ Hello world & all
29
+ """
30
+
31
+ Scenario: Push a feature containing a scenario
32
+ Given a file named "config/cuki.yaml" with:
33
+ """
34
+ Scenario: My scenario
35
+ Given something
36
+ When something
37
+ Then something
38
+ """
39
+ When I push that feature
40
+ Then the Confluence content should include:
41
+ """
42
+ h2. My scenario
43
+
44
+ Given something
45
+ When something
46
+ Then something
47
+ """
48
+
49
+ Scenario: Push a feature containing a scenario outline
50
+
51
+ The first row of the examples table should be a header row.
52
+ Given a feature file in "features/hello_world.feature"
53
+ And that feature includes the scenario:
54
+ """
55
+ Scenario: My scenario
56
+ Given <condition>
57
+ When <action>
58
+ Then <outcome>
59
+ Examples:
60
+ | condition | action | outcome |
61
+ | a | b | c |
62
+ """
63
+ When I push that feature
64
+ Then the Confluence content should include:
65
+ """
66
+ h2. My scenario
67
+
68
+ Given <condition>
69
+ When <action>
70
+ Then <outcome>
71
+ Examples:
72
+ || condition || action || outcome ||
73
+ | a | b | c |
74
+
75
+ """
76
+
77
+ Scenario: Push a feature containing a scenario outline with multiple example
78
+ Pending
79
+
@@ -0,0 +1,3 @@
1
+ @pending
2
+ Feature: Tables
3
+
@@ -0,0 +1,25 @@
1
+ @pending
2
+ Feature: Tags
3
+
4
+ Tags on a feature or scenario should be turned into {info} macros.
5
+
6
+ Scenario: Tagged feature
7
+
8
+ Tag names should be titleised, with underscores converted to spaces.
9
+ Given the feature:
10
+ """
11
+ @pending @in_progress @some-other
12
+ Feature: Hello world
13
+
14
+ Here is the feature
15
+ """
16
+ When I push that feature to Confluence
17
+ Then the Confluence content should be:
18
+ """
19
+ {info:Pending}
20
+ {info:In Progress}
21
+ {info:Some-other}
22
+
23
+ Here is a feature
24
+ """
25
+
@@ -0,0 +1,17 @@
1
+ Given /^a Confluence page on "([^"]*)" with id (\d+):$/ do |host, id, content|
2
+
3
+ # Since the command-line app runs in a difference process, we need serialize
4
+ # the URLs to be stubbed
5
+
6
+ @stubs ||= {}
7
+ @stubs["http://#{host}/pages/editpage.action?pageId=#{id}"] = content
8
+
9
+ File.open('stubs.json', 'w') do |f|
10
+ f.write @stubs.to_json
11
+ end
12
+
13
+ end
14
+
15
+ Given /^no file named "([^"]*)" exists$/ do |file|
16
+ File.delete(file) if File.exist?(file)
17
+ end
@@ -0,0 +1,9 @@
1
+ #ENV['PATH'] = "#{File.expand_path(File.dirname(__FILE__) + '/../../bin')}#{File::PATH_SEPARATOR}#{ENV['PATH']}"
2
+
3
+ require 'aruba/cucumber'
4
+ require 'webmock/cucumber'
5
+
6
+ Before do
7
+ @dirs = ["."]
8
+ FileUtils.rm_rf 'features/products'
9
+ end
data/lib/cuki.rb CHANGED
@@ -3,6 +3,16 @@ require 'httpclient'
3
3
  require 'nokogiri'
4
4
  require 'yaml'
5
5
  require 'CGI'
6
+ require 'webmock'
7
+ require 'json'
8
+
9
+ include WebMock::API
10
+ if File.exist?('stubs.json')
11
+ stubs = JSON.parse(File.open('stubs.json').read)
12
+ stubs.each_pair do |url, body|
13
+ stub_request(:get, url).to_return(:status => 200, :body => body, :headers => {})
14
+ end
15
+ end
6
16
 
7
17
  class Cuki
8
18
 
@@ -13,21 +23,35 @@ class Cuki
13
23
  end
14
24
 
15
25
  def initialize(args)
16
- raise "No command given" if args.empty?
26
+ if args.empty?
27
+ puts "No action given"
28
+ exit(1)
29
+ end
17
30
  parse_config_file
18
- command = args.first
19
- if 'pull' == command
31
+ action = args.first
32
+ if 'pull' == action
20
33
  verify_project
21
34
  configure_http_client
22
- @config['mappings'].each { |id, filepath| process_feature id, filepath }
23
- autoformat
24
- elsif 'push' == command
35
+ file = args[1]
36
+ if file
37
+ puts "got file: #{file}"
38
+ key = file.gsub('features/', '').gsub('.feature', '')
39
+ puts "key: #{key}"
40
+ id = @config['mappings'].invert[key]
41
+ filepath = key
42
+ process_feature id, filepath
43
+ else
44
+ @config['mappings'].each { |id, filepath| process_feature id, filepath }
45
+ end
46
+ #autoformat
47
+ elsif 'push' == action
25
48
  feature_to_be_pushed = args[1] # e.g. features/products/add_product.feature
26
49
  feature_as_in_yaml = feature_to_be_pushed.gsub('features/', '').gsub('.feature', '')
27
50
  id = @config['mappings'].invert[feature_as_in_yaml]
28
51
  raise "No mapping found for #{feature_as_in_yaml}" unless id
29
52
  else
30
- raise "Unknown command '#{command}"
53
+ puts "Unknown action '#{action}"
54
+ exit(1)
31
55
  end
32
56
  end
33
57
 
@@ -36,10 +60,14 @@ class Cuki
36
60
  def verify_project
37
61
  # check features folder exists
38
62
  raise "features folder not found" unless File.exists?('features')
39
- autoformat
63
+ #autoformat
40
64
  end
41
65
 
42
66
  def parse_config_file
67
+ unless File.exist?(CONFIG_PATH)
68
+ puts "No config file found at #{CONFIG_PATH}"
69
+ exit(1)
70
+ end
43
71
  @config = YAML::load( File.open( CONFIG_PATH ) )
44
72
  raise "Host not found in #{CONFIG_PATH}" unless @config["host"]
45
73
  raise "Mappings not found in #{CONFIG_PATH}" unless @config["mappings"]
@@ -58,13 +86,20 @@ class Cuki
58
86
  response = @client.get wiki_link
59
87
  doc = Nokogiri(response.body)
60
88
 
61
- process_tags
89
+ unless doc.at('#content-title')
90
+ puts "Not a valid confluence page:"
91
+ puts doc.to_s
92
+ exit(1)
93
+ end
62
94
 
63
95
  @content += "Feature: " + doc.at('#content-title')[:value] + "\n\n"
64
96
  @content += "#{wiki_link}\n\n"
65
97
  @content += CGI.unescapeHTML(doc.css('#markupTextarea').text)
66
98
 
67
99
  clean
100
+
101
+ process_tags
102
+
68
103
  save_file filepath
69
104
  end
70
105
 
@@ -85,20 +120,24 @@ class Cuki
85
120
  @content.gsub!('\\', '')
86
121
 
87
122
  # remove any unwanted headers
88
- @content.gsub!(/h\d\. /, '')
123
+ @content.gsub!(/h\d\. (Scenario: .*)/, '\1')
124
+ @content.gsub!(/h\d\. (Scenario Outline: .*)/, '\1')
89
125
 
90
- # remove any other confluence markup
91
- @content.gsub!(/\{.*\}/, '')
92
126
  end
93
127
 
94
128
  def process_tags
95
129
  tags = []
96
130
  if @config['tags']
97
- @config['tags'].each do |tag, snippet|
98
- tags << "@#{tag}" if @content.include?(snippet)
131
+ @config['tags'].each_pair do |tag, snippet|
132
+ tags << "@#{tag}" if @content.include?(snippet)
133
+ end
134
+ end
135
+ unless tags.empty?
136
+ @content = tags.join(' ') + "\n" + @content
137
+ tags.each do |tag|
138
+ @content.gsub!(@config['tags'][tag.gsub('@', '')], '')
99
139
  end
100
140
  end
101
- @content += tags.join(' ') + "\n" unless tags.empty?
102
141
  end
103
142
 
104
143
  def save_file(filepath)
data/spec/cuki_spec.rb ADDED
@@ -0,0 +1,7 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "Cuki" do
4
+ it "fails" do
5
+ fail "hey buddy, you should probably rename this file and start specing for real"
6
+ end
7
+ end
@@ -0,0 +1,12 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'cuki'
5
+
6
+ # Requires supporting files with custom matchers and macros, etc,
7
+ # in ./support/ and its subdirectories.
8
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
+
10
+ RSpec.configure do |config|
11
+
12
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cuki
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 21
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 4
10
- version: 0.0.4
9
+ - 5
10
+ version: 0.0.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Andy Waite
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-10-15 00:00:00 Z
18
+ date: 2011-10-16 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  requirement: &id001 !ruby/object:Gem::Requirement
@@ -105,6 +105,20 @@ dependencies:
105
105
  name: rcov
106
106
  prerelease: false
107
107
  type: :development
108
+ - !ruby/object:Gem::Dependency
109
+ requirement: &id007 !ruby/object:Gem::Requirement
110
+ none: false
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ hash: 3
115
+ segments:
116
+ - 0
117
+ version: "0"
118
+ version_requirements: *id007
119
+ name: rspec
120
+ prerelease: false
121
+ type: :development
108
122
  description: ""
109
123
  email: andy@andywaite.com
110
124
  executables:
@@ -116,6 +130,8 @@ extra_rdoc_files:
116
130
  - README.rdoc
117
131
  files:
118
132
  - .document
133
+ - .rspec
134
+ - .rvmrc
119
135
  - Gemfile
120
136
  - Gemfile.lock
121
137
  - LICENSE.txt
@@ -125,9 +141,19 @@ files:
125
141
  - bin/cuki
126
142
  - cuki.gemspec
127
143
  - cuki.yaml.sample
144
+ - features/pull/pull.feature
145
+ - features/pull/pull_single.feature
146
+ - features/pull/tables.feature
147
+ - features/pull/tags.feature
148
+ - features/pull/textile.feature
149
+ - features/push/push.feature
150
+ - features/push/tables.feature
151
+ - features/push/tags.feature
152
+ - features/step_defs/pull_steps.rb
153
+ - features/support/env.rb
128
154
  - lib/cuki.rb
129
- - test/helper.rb
130
- - test/test_cuki.rb
155
+ - spec/cuki_spec.rb
156
+ - spec/spec_helper.rb
131
157
  homepage: http://github.com/andyw8/cuki
132
158
  licenses:
133
159
  - MIT
data/test/helper.rb DELETED
@@ -1,18 +0,0 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
8
- exit e.status_code
9
- end
10
- require 'test/unit'
11
- require 'shoulda'
12
-
13
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
- $LOAD_PATH.unshift(File.dirname(__FILE__))
15
- require 'cuki'
16
-
17
- class Test::Unit::TestCase
18
- end
data/test/test_cuki.rb DELETED
@@ -1,7 +0,0 @@
1
- require 'helper'
2
-
3
- class TestCuki < Test::Unit::TestCase
4
- should "probably rename this file and start testing for real" do
5
- flunk "hey buddy, you should probably rename this file and start testing for real"
6
- end
7
- end