test-harness 0.4.14 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NTM2ZTgwYmRlZDkwM2U3MjJkZjJlZjFjOTdkYjU4M2NmNmIxMzJhMQ==
5
+ data.tar.gz: !binary |-
6
+ NjJlNWM5Y2M5ZGNjZDU1OTZkZjE2ZTVjZWM5NzEzNGMyNzIzOGNkZg==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ N2EwN2VmNGQ3ODBmY2E0MTg1NzRlZGI2MGE0ZTk0NjllMDc5YWUzMGI3OTNh
10
+ YTUxMTE2YTQ4MDgzMzQwM2JmM2U1ODIzMDZkZWE3NWQzN2Y3Y2FjNjQ4Y2Rl
11
+ MjE3NjFkMmQ2NDQ2ZDdjYjQwOTdkNWIzM2VhMzAyOTlmN2M0NzQ=
12
+ data.tar.gz: !binary |-
13
+ YTMwOTZjMDQ5ODFmZDFmNDM3NDIxZDNiNGY4Yjc2MTczYWI0MTg2NjljNDM0
14
+ Yzk2ZDc4NTczOWQwNGY5MjM1MGQ3Y2ZlN2M2ZTNiMDU5MmZkYTFjM2RlOWUz
15
+ YTNlMGE3ZTkwODhkMzg3N2M0NTkxNzk5YmI4ZDcxMzg3YmE3MmM=
@@ -0,0 +1 @@
1
+ 1.9.3-p392
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 1.9.2
data/Gemfile CHANGED
@@ -3,12 +3,15 @@ source "http://rubygems.org"
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
 
6
+ gemspec
7
+
6
8
  # Add dependencies to develop your gem here.
7
9
  # Include everything needed to run rake, tests, features, etc.
8
- group :development do
10
+ group :development, :test do
9
11
  gem "rspec"
10
12
  gem "rdoc"
11
13
  gem "bundler"
12
14
  gem "jeweler"
13
15
  gem 'gemcutter'
16
+ gem 'activesupport'
14
17
  end
@@ -1,33 +1,85 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ test-harness (0.6.0)
5
+ test-harness
6
+
1
7
  GEM
2
8
  remote: http://rubygems.org/
3
9
  specs:
4
- diff-lcs (1.2.2)
10
+ activesupport (4.0.0)
11
+ i18n (~> 0.6, >= 0.6.4)
12
+ minitest (~> 4.2)
13
+ multi_json (~> 1.3)
14
+ thread_safe (~> 0.1)
15
+ tzinfo (~> 0.3.37)
16
+ addressable (2.3.5)
17
+ atomic (1.1.13)
18
+ builder (3.2.2)
19
+ diff-lcs (1.2.4)
20
+ faraday (0.8.8)
21
+ multipart-post (~> 1.2.0)
5
22
  gemcutter (0.7.1)
6
- git (1.2.5)
7
- jeweler (1.8.4)
23
+ git (1.2.6)
24
+ github_api (0.10.1)
25
+ addressable
26
+ faraday (~> 0.8.1)
27
+ hashie (>= 1.2)
28
+ multi_json (~> 1.4)
29
+ nokogiri (~> 1.5.2)
30
+ oauth2
31
+ hashie (2.0.5)
32
+ highline (1.6.19)
33
+ httpauth (0.2.0)
34
+ i18n (0.6.5)
35
+ jeweler (1.8.7)
36
+ builder
8
37
  bundler (~> 1.0)
9
38
  git (>= 1.2.5)
39
+ github_api (= 0.10.1)
40
+ highline (>= 1.6.15)
41
+ nokogiri (= 1.5.10)
10
42
  rake
11
43
  rdoc
12
- json (1.7.7)
13
- rake (10.0.4)
44
+ json (1.8.0)
45
+ jwt (0.1.8)
46
+ multi_json (>= 1.5)
47
+ minitest (4.7.5)
48
+ multi_json (1.7.9)
49
+ multi_xml (0.5.5)
50
+ multipart-post (1.2.0)
51
+ nokogiri (1.5.10)
52
+ oauth2 (0.9.2)
53
+ faraday (~> 0.8)
54
+ httpauth (~> 0.2)
55
+ jwt (~> 0.1.4)
56
+ multi_json (~> 1.0)
57
+ multi_xml (~> 0.5)
58
+ rack (~> 1.2)
59
+ rack (1.5.2)
60
+ rake (10.1.0)
14
61
  rdoc (4.0.1)
15
62
  json (~> 1.4)
16
- rspec (2.13.0)
17
- rspec-core (~> 2.13.0)
18
- rspec-expectations (~> 2.13.0)
19
- rspec-mocks (~> 2.13.0)
20
- rspec-core (2.13.1)
21
- rspec-expectations (2.13.0)
63
+ rspec (2.14.1)
64
+ rspec-core (~> 2.14.0)
65
+ rspec-expectations (~> 2.14.0)
66
+ rspec-mocks (~> 2.14.0)
67
+ rspec-core (2.14.5)
68
+ rspec-expectations (2.14.2)
22
69
  diff-lcs (>= 1.1.3, < 2.0)
23
- rspec-mocks (2.13.0)
70
+ rspec-mocks (2.14.3)
71
+ thread_safe (0.1.2)
72
+ atomic
73
+ tzinfo (0.3.37)
24
74
 
25
75
  PLATFORMS
26
76
  ruby
27
77
 
28
78
  DEPENDENCIES
79
+ activesupport
29
80
  bundler
30
81
  gemcutter
31
82
  jeweler
32
83
  rdoc
33
84
  rspec
85
+ test-harness!
@@ -1,5 +1,7 @@
1
1
  # Test Harness
2
2
 
3
+ [![Build Status](https://travis-ci.org/projectdx/test_harness.png)](https://travis-ci.org/projectdx/test_harness)
4
+
3
5
  Test Harness is a testing framework which allows for clean separation of test responsibilities.
4
6
 
5
7
  ## Installation
@@ -103,9 +105,14 @@ can assign any attributes to the component block which will be available in the
103
105
 
104
106
  The **path, within** attributes are special:
105
107
 
106
- 1. **path**: is used by the uid#show method to automatically show that path. You can have symbols within this string,
107
- e.g., c.path = "/application/:group/:id". The :group and :id symbols will be replaced from the special **mm.subject**
108
- object, and hence, the **mm.subject** must respond to mm.subject.id, and mm.subject.group.
108
+ 1. **path**: is used by the uid#show method to construct the url that it navigates to. You have few options:
109
+ a. *String*: ```component.path = 'widgets/:widget_id'```, TestHarness will look for :widget_id in few places as follows:
110
+ * mm.subject.widget_id,
111
+ * mm.subject[:widget_id] *(if mm.subject is a Hash)*
112
+ * mm.widget_id,
113
+ * mm.widget.id
114
+
115
+ b. *Proc*: ```component.path = lambda {|mm| 'widges/are/%s' % mm.whatever}```
109
116
 
110
117
  2. **within**: is used to limit the search for any CSS elements to the children of this css identifier.
111
118
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.14
1
+ 0.6.0
@@ -6,12 +6,10 @@ class TestHarness
6
6
  end
7
7
 
8
8
  def self.autoload
9
- Dir.glob(File.join(TestHarness.autoload_path, 'given/*.rb')).each do |file|
10
- component = File.basename(file, '.rb')
11
- require File.join(TestHarness.autoload_path, 'given', component)
9
+ TestHarness::Utilities.register_components('given') do |component|
12
10
  klass = TestHarness::Utilities.constantize("%s::Given::%s" % [
13
11
  TestHarness.namespace,
14
- TestHarness::Utilities.camelize(File.basename(file, '.rb'))
12
+ TestHarness::Utilities.camelize(component)
15
13
  ])
16
14
  include klass
17
15
  end
@@ -53,7 +53,7 @@ class TestHarness
53
53
  def register_instance_option(scope, option_name, instance)
54
54
  return if registered_components.any? { |c| c.is_a? instance.class }
55
55
  registered_components << instance
56
- scope.send(:define_method, option_name) do
56
+ scope.send(:define_method, option_name.gsub('/', '_')) do
57
57
  instance
58
58
  end
59
59
  end
@@ -7,7 +7,8 @@ class TestHarness
7
7
  end
8
8
 
9
9
  def component
10
- self.class.parent.component
10
+ parent_class = TestHarness::Utilities.get_parent_class(self.class)
11
+ parent_class ? parent_class.component : nil
11
12
  end
12
13
 
13
14
  def reset
@@ -49,7 +50,7 @@ class TestHarness
49
50
  until page.evaluate_script('jQuery.isReady&&jQuery.active==0') or (start_time + ajax_timeout) < Time.now do
50
51
  sleep 1
51
52
  end
52
-
53
+
53
54
  return unless block_given?
54
55
 
55
56
  # Now try to get the list of data few times until we either fail or timeout (2 seconds)
@@ -65,7 +66,7 @@ class TestHarness
65
66
 
66
67
  # Since Kernel#select is defined, we have to override it specifically here.
67
68
  def select(*args, &block)
68
- if component.within
69
+ if component.within
69
70
  browser.within(component.within) do
70
71
  browser.select(*args, &block)
71
72
  end
@@ -122,7 +123,18 @@ class TestHarness
122
123
  case path = component.path
123
124
  when Proc then path.call(mm)
124
125
  else
125
- path.gsub(/:\w+/) {|match| mm.subject.send(match.tr(':',''))}
126
+ path.gsub(/:\w+/) do |match|
127
+ token = match.tr(':', '')
128
+ if mm.subject.is_a?(Hash) && (field_value = mm.subject.with_indifferent_access[token])
129
+ field_value
130
+ elsif mm.subject.respond_to? token.to_sym
131
+ mm.subject.send(token)
132
+ elsif mm.respond_to? token.to_sym
133
+ mm.send(token)
134
+ elsif mm.respond_to? token.tr('_id', '')
135
+ mm.send(token.tr('_id', '')).id
136
+ end
137
+ end
126
138
  end
127
139
  end
128
140
 
@@ -1,9 +1,7 @@
1
1
  class TestHarness
2
2
  class UIHelper
3
3
  def self.autoload
4
- Dir.glob(File.join(TestHarness.autoload_path, 'ui/*.rb')).each do |file|
5
- component = File.basename(file, '.rb')
6
- require File.join(TestHarness.autoload_path, 'ui', component)
4
+ TestHarness::Utilities.register_components('ui') do |component|
7
5
  klass = TestHarness::Utilities.constantize("%s::%s::%s" % [
8
6
  TestHarness.namespace,
9
7
  TestHarness::Utilities.camelize(component),
@@ -14,4 +12,4 @@ class TestHarness
14
12
  end
15
13
  end
16
14
  end
17
- end
15
+ end
@@ -17,5 +17,18 @@ class TestHarness
17
17
  end
18
18
  constant
19
19
  end
20
+
21
+ def get_parent_class(klass)
22
+ parent_class_name = klass.name =~ /::[^:]+\Z/ ? $`.freeze : nil
23
+ parent_class_name ? constantize(parent_class_name) : Object
24
+ end
25
+
26
+ def register_components(component_type)
27
+ Dir.glob(File.join(TestHarness.autoload_path, "#{component_type}/**/**.rb")).each do |file|
28
+ component = file.sub(TestHarness.autoload_path, '').sub(/^\/?#{component_type}\//, '').sub(/\.rb$/, '')
29
+ require file
30
+ yield component if block_given?
31
+ end
32
+ end
20
33
  end
21
- end
34
+ end
@@ -0,0 +1,11 @@
1
+ class FakeHarness
2
+ class Given
3
+ class Dandylions
4
+ module GivenTest
5
+ def a_boring_test
6
+ :a_fancy_and_inspiring_result
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,17 @@
1
+ class FakeHarness
2
+ class Dandylions
3
+ class UiTest < TestHarness::UIComponent
4
+ class UIView
5
+ def lookies
6
+ :lovely_landscapes
7
+ end
8
+ end
9
+
10
+ class UIDriver
11
+ def dainty_gloves
12
+ :handy_holders
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -14,9 +14,12 @@ describe TestHarness do
14
14
  TestHarness.autoload
15
15
 
16
16
  defined?(FakeHarness::Given::GivenTest).should be_true
17
- [FakeHarness::UiTest::UIView, FakeHarness::UiTest::UIDriver].each do |kl|
17
+ defined?(FakeHarness::Given::Dandylions::GivenTest).should be_true
18
+ [FakeHarness::UiTest::UIView, FakeHarness::UiTest::UIDriver,
19
+ FakeHarness::Dandylions::UiTest::UIView,
20
+ FakeHarness::Dandylions::UiTest::UIDriver].each do |kl|
18
21
  TestHarness.registered_components.map(&:class).should include(kl)
19
22
  end
20
23
  end
21
24
  end
22
- end
25
+ end
@@ -1,4 +1,5 @@
1
1
  require 'spec_helper'
2
+ require 'active_support/core_ext/hash/indifferent_access'
2
3
 
3
4
  describe "UIComponentHelper" do
4
5
  describe "#browser" do
@@ -13,4 +14,76 @@ describe "UIComponentHelper" do
13
14
  FakeHarness::UiTest::UIView.new.browser.should == :whatever
14
15
  end
15
16
  end
17
+
18
+ describe '#component_path' do
19
+ before :each do
20
+ TestHarness.reset
21
+ end
22
+ context 'string' do
23
+
24
+ context 'mm.subject is a string' do
25
+ before :each do
26
+ TestHarness.autoload
27
+ FakeHarness::UiTest.component.path = 'cows/:cow_id'
28
+ @view = FakeHarness::UiTest::UIView.new
29
+ end
30
+
31
+ it 'returns the path with the tokens substituted from the mm.subject' do
32
+ TestHarness.mm.subject = OpenStruct.new(:cow_id => 23)
33
+ @view.send(:component_path).should == 'cows/23'
34
+ end
35
+
36
+ it 'handles multiple tokens' do
37
+ FakeHarness::UiTest.component.path = 'cows/:cow_id/:cat_id'
38
+ TestHarness.mm.subject = OpenStruct.new(:cow_id => 23, :cat_id => 33)
39
+ @view.send(:component_path).should == 'cows/23/33'
40
+ end
41
+
42
+ it 'returns the path with the tokens substituted off the mm.subject hash' do
43
+ TestHarness.mm.subject = {'cow_id' => 33}
44
+ @view.send(:component_path).should == 'cows/33'
45
+
46
+ TestHarness.mm.subject = {:cow_id => 33}
47
+ @view.send(:component_path).should == 'cows/33'
48
+ end
49
+
50
+ it 'returns the path with the tokens substituted off the mm.subject hash' do
51
+ FakeHarness::UiTest.component.path = 'cows/:cow_id/:cat_id'
52
+ TestHarness.mm.subject = {'cow_id' => 33, :cat_id => 55}
53
+ @view.send(:component_path).should == 'cows/33/55'
54
+ end
55
+ end
56
+ end
57
+
58
+ context 'Proc' do
59
+ before :each do
60
+ TestHarness.autoload
61
+ FakeHarness::UiTest.component.path = lambda{|mm| 'cows/%s' % mm.cow_id }
62
+ @view = FakeHarness::UiTest::UIView.new
63
+ end
64
+
65
+ it 'calls the proc to construct the path' do
66
+ TestHarness.mm.cow_id = 23
67
+ @view.send(:component_path).should == 'cows/23'
68
+ end
69
+ end
70
+
71
+ context ':something_id' do
72
+ before :each do
73
+ TestHarness.autoload
74
+ FakeHarness::UiTest.component.path = "cows/:cow_id"
75
+ @view = FakeHarness::UiTest::UIView.new
76
+ end
77
+
78
+ it 'substitutes the something_id with mm.something_id' do
79
+ TestHarness.mm.cow_id = 23
80
+ @view.send(:component_path).should == 'cows/23'
81
+ end
82
+
83
+ it 'substitutes the something_id with mm.something.id' do
84
+ TestHarness.mm.cow = OpenStruct.new(:id => 23)
85
+ @view.send(:component_path).should == 'cows/23'
86
+ end
87
+ end
88
+ end
16
89
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "test-harness"
8
- s.version = "0.4.14"
8
+ s.version = "0.6.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Maher Hawash"]
12
- s.date = "2013-04-28"
12
+ s.date = "2013-08-24"
13
13
  s.description = "A test harness for rspec and cucumber which allows for separating responsibility between setting up the context and interacting with the browser, and cleaning up the step definition files."
14
14
  s.email = "gmhawash@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -19,6 +19,8 @@ Gem::Specification.new do |s|
19
19
  s.files = [
20
20
  ".document",
21
21
  ".rspec",
22
+ ".ruby-version",
23
+ ".travis.yml",
22
24
  ".watchr",
23
25
  "Gemfile",
24
26
  "Gemfile.lock",
@@ -38,7 +40,9 @@ Gem::Specification.new do |s|
38
40
  "lib/ui_helper.rb",
39
41
  "lib/ui_view.rb",
40
42
  "lib/utilities.rb",
43
+ "spec/fake_harness/given/dandylions/given_test.rb",
41
44
  "spec/fake_harness/given/given_test.rb",
45
+ "spec/fake_harness/ui/dandylions/ui_test.rb",
42
46
  "spec/fake_harness/ui/ui_test.rb",
43
47
  "spec/lib/given_spec.rb",
44
48
  "spec/lib/test_harness_spec.rb",
@@ -51,31 +55,91 @@ Gem::Specification.new do |s|
51
55
  s.homepage = "http://github.com/gmhawash/test_harness"
52
56
  s.licenses = ["MIT"]
53
57
  s.require_paths = ["lib"]
54
- s.rubygems_version = "1.8.23"
58
+ s.rubygems_version = "2.0.6"
55
59
  s.summary = "Mini test harness for rspec and cucumber"
56
60
 
57
61
  if s.respond_to? :specification_version then
58
- s.specification_version = 3
62
+ s.specification_version = 4
59
63
 
60
64
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
65
+ s.add_runtime_dependency(%q<test-harness>, [">= 0"])
61
66
  s.add_development_dependency(%q<rspec>, [">= 0"])
62
67
  s.add_development_dependency(%q<rdoc>, [">= 0"])
63
68
  s.add_development_dependency(%q<bundler>, [">= 0"])
64
69
  s.add_development_dependency(%q<jeweler>, [">= 0"])
65
70
  s.add_development_dependency(%q<gemcutter>, [">= 0"])
71
+ s.add_development_dependency(%q<activesupport>, [">= 0"])
72
+ s.add_development_dependency(%q<rspec>, [">= 0"])
73
+ s.add_development_dependency(%q<rdoc>, [">= 0"])
74
+ s.add_development_dependency(%q<bundler>, [">= 0"])
75
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
76
+ s.add_development_dependency(%q<gemcutter>, [">= 0"])
77
+ s.add_development_dependency(%q<activesupport>, [">= 0"])
78
+ s.add_development_dependency(%q<rspec>, [">= 0"])
79
+ s.add_development_dependency(%q<rdoc>, [">= 0"])
80
+ s.add_development_dependency(%q<bundler>, [">= 0"])
81
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
82
+ s.add_development_dependency(%q<gemcutter>, [">= 0"])
83
+ s.add_development_dependency(%q<activesupport>, [">= 0"])
84
+ s.add_development_dependency(%q<rspec>, [">= 0"])
85
+ s.add_development_dependency(%q<rdoc>, [">= 0"])
86
+ s.add_development_dependency(%q<bundler>, [">= 0"])
87
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
88
+ s.add_development_dependency(%q<gemcutter>, [">= 0"])
89
+ s.add_development_dependency(%q<activesupport>, [">= 0"])
66
90
  else
91
+ s.add_dependency(%q<test-harness>, [">= 0"])
67
92
  s.add_dependency(%q<rspec>, [">= 0"])
68
93
  s.add_dependency(%q<rdoc>, [">= 0"])
69
94
  s.add_dependency(%q<bundler>, [">= 0"])
70
95
  s.add_dependency(%q<jeweler>, [">= 0"])
71
96
  s.add_dependency(%q<gemcutter>, [">= 0"])
97
+ s.add_dependency(%q<activesupport>, [">= 0"])
98
+ s.add_dependency(%q<rspec>, [">= 0"])
99
+ s.add_dependency(%q<rdoc>, [">= 0"])
100
+ s.add_dependency(%q<bundler>, [">= 0"])
101
+ s.add_dependency(%q<jeweler>, [">= 0"])
102
+ s.add_dependency(%q<gemcutter>, [">= 0"])
103
+ s.add_dependency(%q<activesupport>, [">= 0"])
104
+ s.add_dependency(%q<rspec>, [">= 0"])
105
+ s.add_dependency(%q<rdoc>, [">= 0"])
106
+ s.add_dependency(%q<bundler>, [">= 0"])
107
+ s.add_dependency(%q<jeweler>, [">= 0"])
108
+ s.add_dependency(%q<gemcutter>, [">= 0"])
109
+ s.add_dependency(%q<activesupport>, [">= 0"])
110
+ s.add_dependency(%q<rspec>, [">= 0"])
111
+ s.add_dependency(%q<rdoc>, [">= 0"])
112
+ s.add_dependency(%q<bundler>, [">= 0"])
113
+ s.add_dependency(%q<jeweler>, [">= 0"])
114
+ s.add_dependency(%q<gemcutter>, [">= 0"])
115
+ s.add_dependency(%q<activesupport>, [">= 0"])
72
116
  end
73
117
  else
118
+ s.add_dependency(%q<test-harness>, [">= 0"])
119
+ s.add_dependency(%q<rspec>, [">= 0"])
120
+ s.add_dependency(%q<rdoc>, [">= 0"])
121
+ s.add_dependency(%q<bundler>, [">= 0"])
122
+ s.add_dependency(%q<jeweler>, [">= 0"])
123
+ s.add_dependency(%q<gemcutter>, [">= 0"])
124
+ s.add_dependency(%q<activesupport>, [">= 0"])
125
+ s.add_dependency(%q<rspec>, [">= 0"])
126
+ s.add_dependency(%q<rdoc>, [">= 0"])
127
+ s.add_dependency(%q<bundler>, [">= 0"])
128
+ s.add_dependency(%q<jeweler>, [">= 0"])
129
+ s.add_dependency(%q<gemcutter>, [">= 0"])
130
+ s.add_dependency(%q<activesupport>, [">= 0"])
131
+ s.add_dependency(%q<rspec>, [">= 0"])
132
+ s.add_dependency(%q<rdoc>, [">= 0"])
133
+ s.add_dependency(%q<bundler>, [">= 0"])
134
+ s.add_dependency(%q<jeweler>, [">= 0"])
135
+ s.add_dependency(%q<gemcutter>, [">= 0"])
136
+ s.add_dependency(%q<activesupport>, [">= 0"])
74
137
  s.add_dependency(%q<rspec>, [">= 0"])
75
138
  s.add_dependency(%q<rdoc>, [">= 0"])
76
139
  s.add_dependency(%q<bundler>, [">= 0"])
77
140
  s.add_dependency(%q<jeweler>, [">= 0"])
78
141
  s.add_dependency(%q<gemcutter>, [">= 0"])
142
+ s.add_dependency(%q<activesupport>, [">= 0"])
79
143
  end
80
144
  end
81
145
 
metadata CHANGED
@@ -1,20 +1,200 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test-harness
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.14
5
- prerelease:
4
+ version: 0.6.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Maher Hawash
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-04-28 00:00:00.000000000 Z
11
+ date: 2013-08-24 00:00:00.000000000 Z
13
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: test-harness
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ! '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rdoc
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ! '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: jeweler
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ! '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ! '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: gemcutter
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ! '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: activesupport
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ! '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rspec
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ! '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rdoc
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ! '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: bundler
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ! '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ! '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: jeweler
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: gemcutter
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ! '>='
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: activesupport
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ! '>='
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ! '>='
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
14
195
  - !ruby/object:Gem::Dependency
15
196
  name: rspec
16
197
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
198
  requirements:
19
199
  - - ! '>='
20
200
  - !ruby/object:Gem::Version
@@ -22,7 +202,6 @@ dependencies:
22
202
  type: :development
23
203
  prerelease: false
24
204
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
205
  requirements:
27
206
  - - ! '>='
28
207
  - !ruby/object:Gem::Version
@@ -30,7 +209,6 @@ dependencies:
30
209
  - !ruby/object:Gem::Dependency
31
210
  name: rdoc
32
211
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
212
  requirements:
35
213
  - - ! '>='
36
214
  - !ruby/object:Gem::Version
@@ -38,7 +216,6 @@ dependencies:
38
216
  type: :development
39
217
  prerelease: false
40
218
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
219
  requirements:
43
220
  - - ! '>='
44
221
  - !ruby/object:Gem::Version
@@ -46,7 +223,6 @@ dependencies:
46
223
  - !ruby/object:Gem::Dependency
47
224
  name: bundler
48
225
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
226
  requirements:
51
227
  - - ! '>='
52
228
  - !ruby/object:Gem::Version
@@ -54,7 +230,6 @@ dependencies:
54
230
  type: :development
55
231
  prerelease: false
56
232
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
233
  requirements:
59
234
  - - ! '>='
60
235
  - !ruby/object:Gem::Version
@@ -62,7 +237,6 @@ dependencies:
62
237
  - !ruby/object:Gem::Dependency
63
238
  name: jeweler
64
239
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
240
  requirements:
67
241
  - - ! '>='
68
242
  - !ruby/object:Gem::Version
@@ -70,7 +244,6 @@ dependencies:
70
244
  type: :development
71
245
  prerelease: false
72
246
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
247
  requirements:
75
248
  - - ! '>='
76
249
  - !ruby/object:Gem::Version
@@ -78,7 +251,6 @@ dependencies:
78
251
  - !ruby/object:Gem::Dependency
79
252
  name: gemcutter
80
253
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
254
  requirements:
83
255
  - - ! '>='
84
256
  - !ruby/object:Gem::Version
@@ -86,7 +258,104 @@ dependencies:
86
258
  type: :development
87
259
  prerelease: false
88
260
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
261
+ requirements:
262
+ - - ! '>='
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: activesupport
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ! '>='
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ! '>='
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
279
+ - !ruby/object:Gem::Dependency
280
+ name: rspec
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ! '>='
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ! '>='
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ - !ruby/object:Gem::Dependency
294
+ name: rdoc
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - ! '>='
298
+ - !ruby/object:Gem::Version
299
+ version: '0'
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - ! '>='
305
+ - !ruby/object:Gem::Version
306
+ version: '0'
307
+ - !ruby/object:Gem::Dependency
308
+ name: bundler
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - ! '>='
312
+ - !ruby/object:Gem::Version
313
+ version: '0'
314
+ type: :development
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - ! '>='
319
+ - !ruby/object:Gem::Version
320
+ version: '0'
321
+ - !ruby/object:Gem::Dependency
322
+ name: jeweler
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - ! '>='
326
+ - !ruby/object:Gem::Version
327
+ version: '0'
328
+ type: :development
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - ! '>='
333
+ - !ruby/object:Gem::Version
334
+ version: '0'
335
+ - !ruby/object:Gem::Dependency
336
+ name: gemcutter
337
+ requirement: !ruby/object:Gem::Requirement
338
+ requirements:
339
+ - - ! '>='
340
+ - !ruby/object:Gem::Version
341
+ version: '0'
342
+ type: :development
343
+ prerelease: false
344
+ version_requirements: !ruby/object:Gem::Requirement
345
+ requirements:
346
+ - - ! '>='
347
+ - !ruby/object:Gem::Version
348
+ version: '0'
349
+ - !ruby/object:Gem::Dependency
350
+ name: activesupport
351
+ requirement: !ruby/object:Gem::Requirement
352
+ requirements:
353
+ - - ! '>='
354
+ - !ruby/object:Gem::Version
355
+ version: '0'
356
+ type: :development
357
+ prerelease: false
358
+ version_requirements: !ruby/object:Gem::Requirement
90
359
  requirements:
91
360
  - - ! '>='
92
361
  - !ruby/object:Gem::Version
@@ -103,6 +372,8 @@ extra_rdoc_files:
103
372
  files:
104
373
  - .document
105
374
  - .rspec
375
+ - .ruby-version
376
+ - .travis.yml
106
377
  - .watchr
107
378
  - Gemfile
108
379
  - Gemfile.lock
@@ -122,7 +393,9 @@ files:
122
393
  - lib/ui_helper.rb
123
394
  - lib/ui_view.rb
124
395
  - lib/utilities.rb
396
+ - spec/fake_harness/given/dandylions/given_test.rb
125
397
  - spec/fake_harness/given/given_test.rb
398
+ - spec/fake_harness/ui/dandylions/ui_test.rb
126
399
  - spec/fake_harness/ui/ui_test.rb
127
400
  - spec/lib/given_spec.rb
128
401
  - spec/lib/test_harness_spec.rb
@@ -134,29 +407,25 @@ files:
134
407
  homepage: http://github.com/gmhawash/test_harness
135
408
  licenses:
136
409
  - MIT
410
+ metadata: {}
137
411
  post_install_message:
138
412
  rdoc_options: []
139
413
  require_paths:
140
414
  - lib
141
415
  required_ruby_version: !ruby/object:Gem::Requirement
142
- none: false
143
416
  requirements:
144
417
  - - ! '>='
145
418
  - !ruby/object:Gem::Version
146
419
  version: '0'
147
- segments:
148
- - 0
149
- hash: -2887427416671466432
150
420
  required_rubygems_version: !ruby/object:Gem::Requirement
151
- none: false
152
421
  requirements:
153
422
  - - ! '>='
154
423
  - !ruby/object:Gem::Version
155
424
  version: '0'
156
425
  requirements: []
157
426
  rubyforge_project:
158
- rubygems_version: 1.8.23
427
+ rubygems_version: 2.0.6
159
428
  signing_key:
160
- specification_version: 3
429
+ specification_version: 4
161
430
  summary: Mini test harness for rspec and cucumber
162
431
  test_files: []