sapphire 0.5.8 → 0.5.9

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.
@@ -141,7 +141,7 @@ module Sapphire
141
141
 
142
142
  end if array.is_a? Array
143
143
 
144
- x = self.FindElement array.keys.first, array.fetch(hash.keys.first) if array.is_a? Hash
144
+ x = self.FindElement array.keys.first, array.fetch(array.keys.first) if array.is_a? Hash
145
145
  return x if x != nil
146
146
  }
147
147
  return element if element != nil
@@ -158,18 +158,19 @@ module Sapphire
158
158
  if item.is_a? Hash
159
159
  begin
160
160
  x = self.FindElements item.keys.first, item.fetch(item.keys.first)
161
+ x = nil if x.is_a? Array and x.empty?
161
162
  rescue
162
163
  #do nothing, let it keep looping
163
164
  end
164
165
  end
165
166
 
166
167
  x = self.FindElements item[0], item[1] if item.is_a? Array
167
-
168
+ x = nil if x.is_a? Array and x.empty?
168
169
  return x if x != nil
169
170
 
170
171
  end if array.is_a? Array
171
172
 
172
- x = self.FindElement array.keys.first, array.fetch(hash.keys.first) if array.is_a? Hash
173
+ x = self.FindElement array.keys.first, array.fetch(array.keys.first) if array.is_a? Hash
173
174
  return x if x != nil
174
175
  }
175
176
  return element if element != nil
@@ -1,7 +1,20 @@
1
1
  module Sapphire
2
2
  module Testing
3
3
  module Coverage
4
- def Covers(token)
4
+ def Covers(hash)
5
+ token = hash.keys.first
6
+ target = hash[hash.keys.first]
7
+
8
+ if(token == :feature)
9
+ $current_feature = target
10
+ elsif(token == :requirement)
11
+ $current_rule = target
12
+ elsif(token == :test)
13
+ feature = $features.select { |f| f.token == $current_feature }[0]
14
+ requirement = feature.requirements.select { |r| r.token == $current_rule }[0]
15
+ test = requirement.tests.select { |t| t.token == target }[0]
16
+ test.is_covered = true
17
+ end
5
18
 
6
19
  end
7
20
  end
@@ -9,24 +9,23 @@ module Sapphire
9
9
 
10
10
  class Feature
11
11
 
12
- attr_reader :business_rules
12
+ attr_reader :requirements
13
13
  attr_reader :token
14
14
 
15
15
  def initialize(token)
16
16
  @token = token
17
- @business_rules = []
17
+ @requirements = []
18
18
  end
19
19
 
20
- def AddRule(business_rule)
21
- @business_rules << business_rule
20
+ def AddRequirement(requirement)
21
+ @requirements << requirement
22
22
  end
23
23
 
24
24
  def AddTest(test)
25
- @business_rules.last().AddTest test
25
+ @requirements.last().AddTest test
26
26
  end
27
27
 
28
28
  end
29
-
30
29
  end
31
30
  end
32
31
  end
@@ -1,21 +1,21 @@
1
1
  module Sapphire
2
2
  module Testing
3
3
  module Coverage
4
- def BusinessRule(hash, &block)
5
- $features.last.AddRule(BusinessRule.new(hash, block))
4
+ def Requirement(hash, &block)
5
+ $features.last.AddRequirement(Requirement.new(hash))
6
+ block.call
6
7
  end
7
8
 
8
- class BusinessRule
9
+ class Requirement
9
10
 
10
11
  attr_reader :token
11
12
  attr_reader :priority
12
13
  attr_reader :tests
13
14
 
14
- def initialize(hash, block)
15
+ def initialize(hash)
15
16
  @token = hash.keys.first
16
17
  @priority = hash[hash.keys.first]
17
18
  @tests = []
18
- block.call
19
19
  end
20
20
 
21
21
  def AddTest(test)
@@ -7,8 +7,10 @@ module Sapphire
7
7
 
8
8
  class Test
9
9
 
10
- attr_reader :token
11
- attr_reader :type
10
+ attr_reader :token
11
+ attr_reader :type
12
+ attr_accessor :is_covered
13
+ attr_accessor :covered_by
12
14
 
13
15
  def initialize(token, hash)
14
16
  @token = token
@@ -1,3 +1,3 @@
1
1
  module Sapphire
2
- VERSION = "0.5.8"
2
+ VERSION = "0.5.9"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sapphire
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.8
4
+ version: 0.5.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-18 00:00:00.000000000Z
12
+ date: 2011-11-19 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: selenium-webdriver
16
- requirement: &10100448 !ruby/object:Gem::Requirement
16
+ requirement: &10066392 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *10100448
24
+ version_requirements: *10066392
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: colorize
27
- requirement: &10100196 !ruby/object:Gem::Requirement
27
+ requirement: &10066140 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *10100196
35
+ version_requirements: *10066140
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: Platform
38
- requirement: &10099944 !ruby/object:Gem::Requirement
38
+ requirement: &10065888 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *10099944
46
+ version_requirements: *10065888
47
47
  description: An automated web acceptance test framework for non-technical resources
48
48
  using selenium-wedriver.
49
49
  email:
@@ -146,9 +146,9 @@ files:
146
146
  - lib/sapphire/TeamCity/TeamCityReporter.rb
147
147
  - lib/sapphire/TeamCity.rb
148
148
  - lib/sapphire/Testing/ConsoleReporter.rb
149
- - lib/sapphire/Testing/Coverage/BusinessRule.rb
150
149
  - lib/sapphire/Testing/Coverage/Covers.rb
151
150
  - lib/sapphire/Testing/Coverage/Feature.rb
151
+ - lib/sapphire/Testing/Coverage/Requirement.rb
152
152
  - lib/sapphire/Testing/Coverage/Test.rb
153
153
  - lib/sapphire/Testing/Executable.rb
154
154
  - lib/sapphire/Testing/ExpectationException.rb