yarjuf 1.0.6 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d8c533296bebf8a3d390108653b7b699c32368db
4
- data.tar.gz: b435a6699876a16cc4bdd7e79c3f80165d9005d8
3
+ metadata.gz: 1ca383f472dd571a3f2fa2d8bcf1fb665cac3cfb
4
+ data.tar.gz: ddcf57f2f996f11eb45a380576c1d911b1ae36f5
5
5
  SHA512:
6
- metadata.gz: ebe9b21ce260c82d1b6db80af520f70d3a2ac5dccd36debc16ca6c7ebcc7e91f8fc9c281d83301660b001e3ca2e026f29cd178724004e57d2dd1fd41aa806d80
7
- data.tar.gz: a1170a5987d50163e3ab6e9a64e5ac22eff0bcf0798bf060ebbc4fb91fcfa24213bb695295baeca84fd19ba7c8bac3e7bec00bb76cda3722572fa2739fd02171
6
+ metadata.gz: 83c2a2dc1f687680947262ca1c48bbee1c1f03b0ff9ddf2577d29343c35caebeb6559ee98e0f1be93bf4974b0c47dc43d6e3f5ac9ec545b0f05f848fc1d6aa96
7
+ data.tar.gz: 2ad41303ff655d3b70ca08e5da64a7057a309db46718fc25bf933113c0b7150542c71931ab4a3bb2b2e8226637114018c839af845bee501b8236901698c20f18
@@ -19,3 +19,7 @@
19
19
 
20
20
  1.0.6
21
21
  - Last version that works with RSpec 2. Some internal refactoring.
22
+
23
+ 2.0.0
24
+ - Now works with rspec 3 (thanks @bsnape )
25
+
data/README.md CHANGED
@@ -97,6 +97,7 @@ in the `-o` option above.
97
97
 
98
98
  ## Acknowledgements
99
99
 
100
+ * Thanks to [@bsnape](https://github.com/bsnape) for the rspec 3 compatibility patch
100
101
  * Thanks to [@adeoke](https://github.com/adeoke) for suggesting a slightly less sucky gem name than the
101
102
  one I originally came up with
102
103
  * Thanks to [@dchamb84](https://github.com/dchamb84) for helping me debug the original hack
@@ -8,7 +8,7 @@ Feature: Basic use of Yarjuf
8
8
  """
9
9
  describe "basic usage" do
10
10
  it "should work" do
11
- true.should be_true
11
+ expect(true).to be true
12
12
  end
13
13
  end
14
14
  """
@@ -8,7 +8,7 @@ Feature: Individual suites
8
8
  """
9
9
  describe "suite one" do
10
10
  it "should contain one test" do
11
- 1.should == 1
11
+ expect(1).to eq 1
12
12
  end
13
13
  end
14
14
  """
@@ -16,7 +16,7 @@ Feature: Individual suites
16
16
  """
17
17
  describe "suite two" do
18
18
  it "should also contain one test" do
19
- 1.should == 1
19
+ expect(1).to eq 1
20
20
  end
21
21
  end
22
22
  """
@@ -29,19 +29,20 @@ Feature: Individual suites
29
29
  """
30
30
  describe "suite one" do
31
31
  it "should contain one passing test" do
32
- 1.should == 1
32
+ expect(1).to eq 1
33
33
  end
34
34
 
35
35
  it "should contain one of two failing tests" do
36
- 1.should == 2
36
+ expect(1).to eq 2
37
37
  end
38
38
 
39
39
  it "should contain two of two failing tests" do
40
- 1.should == 2
40
+ expect(1).to eq 2
41
41
  end
42
42
 
43
43
  it "should contain 1 pending test" do
44
44
  pending
45
+ fail
45
46
  end
46
47
  end
47
48
  """
@@ -49,27 +50,29 @@ Feature: Individual suites
49
50
  """
50
51
  describe "suite two" do
51
52
  it "should contain one of 3 passing tests" do
52
- 1.should == 1
53
+ expect(1).to eq 1
53
54
  end
54
55
 
55
56
  it "should contain two of 3 passing tests" do
56
- 1.should == 1
57
+ expect(1).to eq 1
57
58
  end
58
59
 
59
60
  it "should contain three of 3 passing tests" do
60
- 1.should == 1
61
+ expect(1).to eq 1
61
62
  end
62
63
 
63
64
  it "should contain one failing test" do
64
- 1.should == 2
65
+ expect(1).to eq 2
65
66
  end
66
67
 
67
68
  it "should contain one of two pending tests" do
68
69
  pending
70
+ fail
69
71
  end
70
72
 
71
73
  it "should contain two of two pending tests" do
72
74
  pending
75
+ fail
73
76
  end
74
77
  end
75
78
  """
@@ -8,7 +8,7 @@ Feature: Individual Tests
8
8
  """
9
9
  describe "suite one" do
10
10
  it "simple name" do
11
- 1.should == 1
11
+ expect(1).to eq 1
12
12
  end
13
13
  end
14
14
  """
@@ -24,7 +24,7 @@ Feature: Individual Tests
24
24
  context "really" do
25
25
  context "deep" do
26
26
  it "should still be displayed nicely" do
27
- 1.should == 1
27
+ expect(1).to eq 1
28
28
  end
29
29
  end
30
30
  end
@@ -40,7 +40,7 @@ Feature: Individual Tests
40
40
  """
41
41
  describe "suite one" do
42
42
  it "should do something" do
43
- 1.should == 1
43
+ expect(1).to eq 1
44
44
  end
45
45
  end
46
46
  """
@@ -53,6 +53,7 @@ Feature: Individual Tests
53
53
  describe "suite one" do
54
54
  it "should be pending" do
55
55
  pending
56
+ fail
56
57
  end
57
58
  end
58
59
  """
@@ -64,7 +65,7 @@ Feature: Individual Tests
64
65
  """
65
66
  describe "suite one" do
66
67
  it "should be failing" do
67
- 1.should == 2
68
+ expect(1).to eq 2
68
69
  end
69
70
  end
70
71
  """
@@ -1,24 +1,24 @@
1
1
  Then /^the junit output file contains two testsuite elements named 'suite one' and 'suite two'$/ do
2
2
  step 'I parse the junit results file'
3
- @results.xpath("/testsuites/testsuite").size.should == 2
4
- @results.xpath("/testsuites/testsuite/@name").map(&:text).sort.should == ["suite one", "suite two"]
3
+ expect(@results.xpath("/testsuites/testsuite").size).to eq 2
4
+ expect(@results.xpath("/testsuites/testsuite/@name").map(&:text).sort).to match_array ["suite one", "suite two"]
5
5
  end
6
6
 
7
7
  Then /^the junit output file has one test against each suite$/ do
8
8
  step 'I parse the junit results file'
9
- @results.xpath("/testsuites/testsuite/@tests").map(&:text).should == ["1", "1"]
9
+ expect(@results.xpath("/testsuites/testsuite/@tests").map(&:text)).to match_array ["1", "1"]
10
10
  end
11
11
 
12
12
  Then /^the junit output file has the correct test counts against each suite$/ do
13
13
  step 'I parse the junit results file'
14
14
  #suite one
15
- @results.at_xpath("/testsuites/testsuite[@name='suite one']/@tests").value.should == "4"
16
- @results.at_xpath("/testsuites/testsuite[@name='suite one']/@failures").value.should == "2"
17
- @results.at_xpath("/testsuites/testsuite[@name='suite one']/@skipped").value.should == "1"
15
+ expect(@results.at_xpath("/testsuites/testsuite[@name='suite one']/@tests").value).to eq "4"
16
+ expect(@results.at_xpath("/testsuites/testsuite[@name='suite one']/@failures").value).to eq "2"
17
+ expect(@results.at_xpath("/testsuites/testsuite[@name='suite one']/@skipped").value).to eq "1"
18
18
 
19
19
  #suite two
20
- @results.at_xpath("/testsuites/testsuite[@name='suite two']/@tests").value.should == "6"
21
- @results.at_xpath("/testsuites/testsuite[@name='suite two']/@failures").value.should == "1"
22
- @results.at_xpath("/testsuites/testsuite[@name='suite two']/@skipped").value.should == "2"
20
+ expect(@results.at_xpath("/testsuites/testsuite[@name='suite two']/@tests").value).to eq "6"
21
+ expect(@results.at_xpath("/testsuites/testsuite[@name='suite two']/@failures").value).to eq "1"
22
+ expect(@results.at_xpath("/testsuites/testsuite[@name='suite two']/@skipped").value).to eq "2"
23
23
  end
24
24
 
@@ -1,28 +1,28 @@
1
1
  Then /^the junit output file contains a test result with a simple name$/ do
2
2
  step 'I parse the junit results file'
3
- @results.at_xpath("/testsuites/testsuite[@name='suite one']/testcase/@name").value.should == "suite one simple name"
3
+ expect(@results.at_xpath("/testsuites/testsuite[@name='suite one']/testcase/@name").value).to eq "suite one simple name"
4
4
  end
5
5
 
6
6
  Then /^the junit output file has a nicely rendered nested test name$/ do
7
7
  step 'I parse the junit results file'
8
- @results.at_xpath("/testsuites/testsuite/testcase/@name").value.should == "something that is really deep should still be displayed nicely"
8
+ expect(@results.at_xpath("/testsuites/testsuite/testcase/@name").value).to eq "something that is really deep should still be displayed nicely"
9
9
  end
10
10
 
11
11
  Then /^the junit output file contains a test with a duration$/ do
12
12
  step 'I parse the junit results file'
13
- @results.at_xpath("/testsuites/testsuite/testcase/@time").value.should match /[.0-9]+/
13
+ expect(@results.at_xpath("/testsuites/testsuite/testcase/@time").value).to match /[.0-9]+/
14
14
  end
15
15
 
16
16
  Then /^the junit output file contains a pending test$/ do
17
17
  step 'I parse the junit results file'
18
- @results.at_xpath("/testsuites/testsuite/testcase/skipped").should_not be_nil
18
+ expect(@results.at_xpath("/testsuites/testsuite/testcase/skipped")).to_not be_nil
19
19
  end
20
20
 
21
21
  Then /^the junit output file contains a failing test$/ do
22
22
  step 'I parse the junit results file'
23
- @results.at_xpath("/testsuites/testsuite/testcase/failure").should_not be_nil
24
- @results.at_xpath("/testsuites/testsuite/testcase/failure/@message").value.should == "failed suite one should be failing"
25
- @results.at_xpath("/testsuites/testsuite/testcase/failure/@type").value.should == "failed"
26
- @results.at_xpath("/testsuites/testsuite/testcase/failure").text.should match /expected.*2.*got.*1.*using.*==.*spec\/failing_test_spec\.rb:3/m
23
+ expect(@results.at_xpath("/testsuites/testsuite/testcase/failure")).to_not be_nil
24
+ expect(@results.at_xpath("/testsuites/testsuite/testcase/failure/@message").value).to eq "failed suite one should be failing"
25
+ expect(@results.at_xpath("/testsuites/testsuite/testcase/failure/@type").value).to eq "failed"
26
+ expect(@results.at_xpath("/testsuites/testsuite/testcase/failure").text).to match /expected.*2.*got.*1.*using.*==.*spec\/failing_test_spec\.rb:3/m
27
27
  end
28
28
 
@@ -1,6 +1,6 @@
1
1
  When /^I parse the junit results file$/ do
2
2
  results_file = 'tmp/aruba/results.xml'
3
- File.should exist results_file
3
+ expect(File).to exist results_file
4
4
  @results ||= Nokogiri::XML File.open(results_file)
5
5
  end
6
6
 
@@ -1,39 +1,39 @@
1
1
  Then /^the junit output contains the testsuite element$/ do
2
2
  step 'I parse the junit results file'
3
- @results.xpath("/testsuites").size.should == 1
3
+ expect(@results.xpath("/testsuites").size).to eq 1
4
4
  end
5
5
 
6
6
  Then /^the junit output reports one passing test$/ do
7
7
  step 'I parse the junit results file'
8
- @results.at_xpath("/testsuites/@errors").value.should == "0"
9
- @results.at_xpath("/testsuites/@failures").value.should == "0"
10
- @results.at_xpath("/testsuites/@skipped").value.should == "0"
11
- @results.at_xpath("/testsuites/@tests").value.should == "1"
8
+ expect(@results.at_xpath("/testsuites/@errors").value).to eq "0"
9
+ expect(@results.at_xpath("/testsuites/@failures").value).to eq "0"
10
+ expect(@results.at_xpath("/testsuites/@skipped").value).to eq "0"
11
+ expect(@results.at_xpath("/testsuites/@tests").value).to eq "1"
12
12
  end
13
13
 
14
14
  Then /^the junit output reports one failing test$/ do
15
15
  step 'I parse the junit results file'
16
- @results.at_xpath("/testsuites/@errors").value.should == "0"
17
- @results.at_xpath("/testsuites/@failures").value.should == "1"
18
- @results.at_xpath("/testsuites/@skipped").value.should == "0"
19
- @results.at_xpath("/testsuites/@tests").value.should == "1"
16
+ expect(@results.at_xpath("/testsuites/@errors").value).to eq "0"
17
+ expect(@results.at_xpath("/testsuites/@failures").value).to eq "1"
18
+ expect(@results.at_xpath("/testsuites/@skipped").value).to eq "0"
19
+ expect(@results.at_xpath("/testsuites/@tests").value).to eq "1"
20
20
  end
21
21
 
22
22
  Then /^the junit output reports one pending test$/ do
23
23
  step 'I parse the junit results file'
24
- @results.at_xpath("/testsuites/@errors").value.should == "0"
25
- @results.at_xpath("/testsuites/@failures").value.should == "0"
26
- @results.at_xpath("/testsuites/@skipped").value.should == "1"
27
- @results.at_xpath("/testsuites/@tests").value.should == "1"
24
+ expect(@results.at_xpath("/testsuites/@errors").value).to eq "0"
25
+ expect(@results.at_xpath("/testsuites/@failures").value).to eq "0"
26
+ expect(@results.at_xpath("/testsuites/@skipped").value).to eq "1"
27
+ expect(@results.at_xpath("/testsuites/@tests").value).to eq "1"
28
28
  end
29
29
 
30
30
  Then /^the junit output testsuite element contains a duration$/ do
31
31
  step 'I parse the junit results file'
32
- @results.at_xpath("/testsuites/@time").value.should match /[.0-9]+/
32
+ expect(@results.at_xpath("/testsuites/@time").value).to match /[.0-9]+/
33
33
  end
34
34
 
35
35
  Then /^the junit output testsuite element contains a timestamp$/ do
36
36
  step 'I parse the junit results file'
37
- @results.at_xpath("/testsuites/@timestamp").value.should match /\d{4}-\d{2}-\d{2}T\d+:\d+:\d+\+\d+:\d+/
37
+ expect(@results.at_xpath("/testsuites/@timestamp").value).to match /\d{4}-\d{2}-\d{2}T\d+:\d+:\d+\+\d+:\d+/
38
38
  end
39
39
 
@@ -8,7 +8,7 @@ Feature: Suite Summary
8
8
  """
9
9
  describe "suite element" do
10
10
  it "should be present" do
11
- 1.should == 1
11
+ expect(1).to eq 1
12
12
  end
13
13
  end
14
14
  """
@@ -20,7 +20,7 @@ Feature: Suite Summary
20
20
  """
21
21
  describe "suite level details for 1 passing test" do
22
22
  it "should pass" do
23
- 1.should == 1
23
+ expect(1).to eq 1
24
24
  end
25
25
  end
26
26
  """
@@ -32,7 +32,7 @@ Feature: Suite Summary
32
32
  """
33
33
  describe "suite level details for 1 failing test" do
34
34
  it "should fail" do
35
- 1.should == 2
35
+ expect(1).to eq 2
36
36
  end
37
37
  end
38
38
  """
@@ -45,6 +45,7 @@ Feature: Suite Summary
45
45
  describe "suite level details for 1 pending test" do
46
46
  it "should be pending" do
47
47
  pending
48
+ fail
48
49
  end
49
50
  end
50
51
  """
@@ -56,7 +57,7 @@ Feature: Suite Summary
56
57
  """
57
58
  describe "suite element duration" do
58
59
  it "should contain a duration" do
59
- 1.should == 1
60
+ expect(1).to eq 1
60
61
  end
61
62
  end
62
63
  """
@@ -68,7 +69,7 @@ Feature: Suite Summary
68
69
  """
69
70
  describe "suite element timestamp" do
70
71
  it "should contain a timestamp" do
71
- 1.should == 1
72
+ expect(1).to eq 1
72
73
  end
73
74
  end
74
75
  """
@@ -1,7 +1,8 @@
1
1
  # external dependencies
2
2
  require 'time'
3
3
  require 'builder'
4
- require 'rspec/core/formatters/base_formatter'
4
+ require 'rspec/core'
5
+ require 'rspec/core/formatters'
5
6
 
6
7
  # internal dependencies
7
8
  require 'yarjuf/j_unit'
@@ -1,80 +1,85 @@
1
- #An RSpec formatter for generating results in JUnit format
2
- class JUnit < RSpec::Core::Formatters::BaseFormatter
3
-
4
- #rspec formatter methods we care about
1
+ # An RSpec formatter for generating results in JUnit format
2
+ class JUnit
3
+ RSpec::Core::Formatters.register self, :example_passed, :example_failed, :example_pending, :dump_summary
5
4
 
6
5
  def initialize(output)
7
- super output
6
+ @output = output
8
7
  @test_suite_results = {}
9
- @builder = Builder::XmlMarkup.new :indent => 2
8
+ @builder = Builder::XmlMarkup.new :indent => 2
10
9
  end
11
10
 
12
- def example_passed(example)
13
- add_to_test_suite_results example
11
+ def example_passed(example_notification)
12
+ add_to_test_suite_results example_notification
14
13
  end
15
14
 
16
- def example_failed(example)
17
- add_to_test_suite_results example
15
+ def example_failed(example_notification)
16
+ add_to_test_suite_results example_notification
18
17
  end
19
18
 
20
- def example_pending(example)
21
- add_to_test_suite_results example
19
+ def example_pending(example_notification)
20
+ add_to_test_suite_results example_notification
22
21
  end
23
22
 
24
- def dump_summary(duration, example_count, failure_count, pending_count)
25
- build_results duration, example_count, failure_count, pending_count
26
- output.puts @builder.target!
23
+ def dump_summary(summary)
24
+ build_results(summary.duration, summary.examples.size, summary.failed_examples.size, summary.pending_examples.size)
25
+ @output.puts @builder.target!
27
26
  end
28
27
 
29
28
  protected
30
29
 
31
- def add_to_test_suite_results(example)
32
- suite_name = JUnit.root_group_name_for example
30
+ def add_to_test_suite_results(example_notification)
31
+ suite_name = JUnit.root_group_name_for example_notification
33
32
  @test_suite_results[suite_name] = [] unless @test_suite_results.keys.include? suite_name
34
- @test_suite_results[suite_name] << example
33
+ @test_suite_results[suite_name] << example_notification.example
35
34
  end
36
35
 
37
36
  def failure_details_for(example)
38
- exception = example.metadata[:execution_result][:exception]
39
- exception.nil? ? "" : "#{exception.message}\n#{format_backtrace(exception.backtrace, example).join("\n")}"
37
+ exception = example.exception
38
+ formatted_backtrace = RSpec::Core::BacktraceFormatter.new.format_backtrace exception.backtrace
39
+ exception.nil? ? '' : "#{exception.message}\n#{formatted_backtrace}"
40
40
  end
41
41
 
42
- #utility methods
42
+ # utility methods
43
43
 
44
44
  def self.count_in_suite_of_type(suite, test_case_result_type)
45
- suite.select {|example| example.metadata[:execution_result][:status] == test_case_result_type}.size
45
+ suite.select { |example| example.metadata[:execution_result].status == test_case_result_type }.size
46
46
  end
47
47
 
48
- def self.root_group_name_for(example)
49
- group_hierarchy = []
50
- current_example_group = example.metadata[:example_group]
51
- until current_example_group.nil? do
52
- group_hierarchy.unshift current_example_group
53
- current_example_group = current_example_group[:example_group]
54
- end
55
- group_hierarchy.first[:description]
48
+ def self.root_group_name_for(example_notification)
49
+ example_notification.example.metadata[:example_group][:description]
56
50
  end
57
51
 
58
- #methods to build the xml for test suites and individual tests
52
+ # methods to build the xml for test suites and individual tests
59
53
 
60
54
  def build_results(duration, example_count, failure_count, pending_count)
61
55
  @builder.instruct! :xml, :version => "1.0", :encoding => "UTF-8"
62
- @builder.testsuites :errors => 0, :failures => failure_count, :skipped => pending_count, :tests => example_count, :time => duration, :timestamp => Time.now.iso8601 do
56
+ @builder.testsuites(
57
+ :errors => 0,
58
+ :failures => failure_count,
59
+ :skipped => pending_count,
60
+ :tests => example_count,
61
+ :time => duration,
62
+ :timestamp => Time.now.iso8601) do
63
63
  build_all_suites
64
64
  end
65
65
  end
66
66
 
67
67
  def build_all_suites
68
68
  @test_suite_results.each do |suite_name, tests|
69
- build_test_suite suite_name, tests
69
+ build_test_suite(suite_name, tests)
70
70
  end
71
71
  end
72
72
 
73
73
  def build_test_suite(suite_name, tests)
74
- failure_count = JUnit.count_in_suite_of_type tests, "failed"
75
- skipped_count = JUnit.count_in_suite_of_type tests, "pending"
76
-
77
- @builder.testsuite :name => suite_name, :tests => tests.size, :errors => 0, :failures => failure_count, :skipped => skipped_count do
74
+ failure_count = JUnit.count_in_suite_of_type(tests, :failed)
75
+ skipped_count = JUnit.count_in_suite_of_type(tests, :pending)
76
+
77
+ @builder.testsuite(
78
+ :name => suite_name,
79
+ :tests => tests.size,
80
+ :errors => 0,
81
+ :failures => failure_count,
82
+ :skipped => skipped_count) do
78
83
  @builder.properties
79
84
  build_all_tests tests
80
85
  end
@@ -87,14 +92,16 @@ class JUnit < RSpec::Core::Formatters::BaseFormatter
87
92
  end
88
93
 
89
94
  def build_test(test)
90
- test_name = test.metadata[:full_description]
91
- execution_time = test.metadata[:execution_result][:run_time]
92
- test_status = test.metadata[:execution_result][:status]
95
+ test_name = test.metadata[:full_description]
96
+ execution_time = test.metadata[:execution_result].run_time
97
+ test_status = test.metadata[:execution_result].status
93
98
 
94
- @builder.testcase :name => test_name, :time => execution_time do
99
+ @builder.testcase(:name => test_name, :time => execution_time) do
95
100
  case test_status
96
- when "pending" then @builder.skipped
97
- when "failed" then build_failed_test test
101
+ when :pending
102
+ @builder.skipped
103
+ when :failed
104
+ build_failed_test test
98
105
  end
99
106
  end
100
107
  end
@@ -102,9 +109,9 @@ class JUnit < RSpec::Core::Formatters::BaseFormatter
102
109
  def build_failed_test(test)
103
110
  failure_message = "failed #{test.metadata[:full_description]}"
104
111
 
105
- @builder.failure :message => failure_message, :type => "failed" do
106
- @builder.cdata! failure_details_for test
112
+ @builder.failure(:message => failure_message, :type => 'failed') do
113
+ @builder.cdata!(failure_details_for(test))
107
114
  end
108
115
  end
109
- end
110
116
 
117
+ end
@@ -1,3 +1,3 @@
1
1
  module Yarjuf
2
- VERSION = '1.0.6'
2
+ VERSION = '2.0.0'
3
3
  end
@@ -7,7 +7,7 @@ Gem::Specification.new do |gem|
7
7
  gem.name = 'yarjuf'
8
8
  gem.version = Yarjuf::VERSION
9
9
  gem.platform = Gem::Platform::RUBY
10
- gem.authors = ['Nat Ritmeyer']
10
+ gem.authors = ['Nat Ritmeyer', 'Ben Snape']
11
11
  gem.email = ['nat@natontesting.com']
12
12
  gem.homepage = 'http://github.com/natritmeyer/yarjuf'
13
13
  gem.summary = 'Yet Another RSpec JUnit Formatter (for Hudson/Jenkins)'
@@ -18,14 +18,14 @@ Gem::Specification.new do |gem|
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ['lib']
20
20
 
21
- gem.add_runtime_dependency('rspec', '~> 2.12')
21
+ gem.add_runtime_dependency('rspec', '~> 3')
22
22
  gem.add_runtime_dependency('builder')
23
23
 
24
24
  gem.add_development_dependency('nokogiri', '~> 1.5.10') # for Ruby 1.8.7
25
- gem.add_development_dependency('rake')
26
- gem.add_development_dependency('cucumber')
27
- gem.add_development_dependency('aruba')
28
- gem.add_development_dependency('simplecov')
25
+ gem.add_development_dependency('rake', '~> 10.3.2')
26
+ gem.add_development_dependency('cucumber', '~> 1.3.16')
27
+ gem.add_development_dependency('aruba', '~> 0.6.0')
28
+ gem.add_development_dependency('simplecov', '~> 0.8.2') # for Ruby 1.8.7
29
29
  gem.add_development_dependency('reek', ['= 1.3.7']) # for Ruby 1.8.7
30
30
  gem.add_development_dependency('rainbow', '~> 1.99.2') # for Ruby 1.8.7
31
31
  end
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yarjuf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nat Ritmeyer
8
+ - Ben Snape
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-07-28 00:00:00.000000000 Z
12
+ date: 2014-08-06 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: rspec
@@ -16,14 +17,14 @@ dependencies:
16
17
  requirements:
17
18
  - - "~>"
18
19
  - !ruby/object:Gem::Version
19
- version: '2.12'
20
+ version: '3'
20
21
  type: :runtime
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
25
  - - "~>"
25
26
  - !ruby/object:Gem::Version
26
- version: '2.12'
27
+ version: '3'
27
28
  - !ruby/object:Gem::Dependency
28
29
  name: builder
29
30
  requirement: !ruby/object:Gem::Requirement
@@ -56,58 +57,58 @@ dependencies:
56
57
  name: rake
57
58
  requirement: !ruby/object:Gem::Requirement
58
59
  requirements:
59
- - - ">="
60
+ - - "~>"
60
61
  - !ruby/object:Gem::Version
61
- version: '0'
62
+ version: 10.3.2
62
63
  type: :development
63
64
  prerelease: false
64
65
  version_requirements: !ruby/object:Gem::Requirement
65
66
  requirements:
66
- - - ">="
67
+ - - "~>"
67
68
  - !ruby/object:Gem::Version
68
- version: '0'
69
+ version: 10.3.2
69
70
  - !ruby/object:Gem::Dependency
70
71
  name: cucumber
71
72
  requirement: !ruby/object:Gem::Requirement
72
73
  requirements:
73
- - - ">="
74
+ - - "~>"
74
75
  - !ruby/object:Gem::Version
75
- version: '0'
76
+ version: 1.3.16
76
77
  type: :development
77
78
  prerelease: false
78
79
  version_requirements: !ruby/object:Gem::Requirement
79
80
  requirements:
80
- - - ">="
81
+ - - "~>"
81
82
  - !ruby/object:Gem::Version
82
- version: '0'
83
+ version: 1.3.16
83
84
  - !ruby/object:Gem::Dependency
84
85
  name: aruba
85
86
  requirement: !ruby/object:Gem::Requirement
86
87
  requirements:
87
- - - ">="
88
+ - - "~>"
88
89
  - !ruby/object:Gem::Version
89
- version: '0'
90
+ version: 0.6.0
90
91
  type: :development
91
92
  prerelease: false
92
93
  version_requirements: !ruby/object:Gem::Requirement
93
94
  requirements:
94
- - - ">="
95
+ - - "~>"
95
96
  - !ruby/object:Gem::Version
96
- version: '0'
97
+ version: 0.6.0
97
98
  - !ruby/object:Gem::Dependency
98
99
  name: simplecov
99
100
  requirement: !ruby/object:Gem::Requirement
100
101
  requirements:
101
- - - ">="
102
+ - - "~>"
102
103
  - !ruby/object:Gem::Version
103
- version: '0'
104
+ version: 0.8.2
104
105
  type: :development
105
106
  prerelease: false
106
107
  version_requirements: !ruby/object:Gem::Requirement
107
108
  requirements:
108
- - - ">="
109
+ - - "~>"
109
110
  - !ruby/object:Gem::Version
110
- version: '0'
111
+ version: 0.8.2
111
112
  - !ruby/object:Gem::Dependency
112
113
  name: reek
113
114
  requirement: !ruby/object:Gem::Requirement