sapphire 0.0.11 → 0.1.0

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.
@@ -17,6 +17,7 @@ Dir[File.dirname(__FILE__) + '/sapphire/DSL/Browser/*.rb'].each {|file| require
17
17
  Dir[File.dirname(__FILE__) + '/sapphire/DSL/Configuration/*.rb'].each {|file| require file }
18
18
  Dir[File.dirname(__FILE__) + '/sapphire/DSL/Data/*.rb'].each {|file| require file }
19
19
  Dir[File.dirname(__FILE__) + '/sapphire/DSL/Scenarios/*.rb'].each {|file| require file }
20
+ Dir[File.dirname(__FILE__) + '/sapphire/DSL/TestPlans/*.rb'].each {|file| require file }
20
21
 
21
22
  module Sapphire
22
23
  module Sapphire
@@ -24,6 +25,7 @@ module Sapphire
24
25
  include DSL::Browser
25
26
  include DSL::Configuration
26
27
  include DSL::Data
28
+ include DSL::TestPlans
27
29
  include Configuration::AttrMethods
28
30
  include Configuration
29
31
  include DataAbstractions
@@ -7,8 +7,8 @@ module Sapphire
7
7
  x.each do |item|
8
8
  return true if item.text == value
9
9
  end
10
+ return false
10
11
  end
11
-
12
12
  end
13
13
  end
14
14
  end
@@ -3,6 +3,7 @@ module Sapphire
3
3
  module Scenarios
4
4
  class Runner
5
5
  attr_accessor :scenarios
6
+ attr_accessor :test_plans
6
7
 
7
8
  def self.create
8
9
  @@instance ||= Runner.new
@@ -14,6 +15,7 @@ module Sapphire
14
15
 
15
16
  def initialize
16
17
  @scenarios = []
18
+ @test_plans = []
17
19
  end
18
20
 
19
21
  def add_scenario(scenario)
@@ -23,6 +25,14 @@ module Sapphire
23
25
  def last_scenario
24
26
  @scenarios.last
25
27
  end
28
+
29
+ def add_test_plan(test_plan)
30
+ @test_plans << test_plan
31
+ end
32
+
33
+ def last_test_plan
34
+ @test_plans.last
35
+ end
26
36
  end
27
37
  end
28
38
  end
@@ -0,0 +1,9 @@
1
+ module Sapphire
2
+ module DSL
3
+ module TestPlans
4
+ def Covers(item)
5
+ Runner.instance.last_test_plan.Cover(item)
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,12 @@
1
+ module Sapphire
2
+ module DSL
3
+ module TestPlans
4
+ class FileHandler
5
+ def Handle(item)
6
+ x = AppConfig.Current.SpecsPath || ""
7
+ require File.expand_path(x + item, __FILE__)
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ module Sapphire
2
+ module DSL
3
+ module TestPlans
4
+ class PathHandler
5
+ def Handle(item)
6
+ x = AppConfig.Current.SpecsPath || ""
7
+ Dir[x + item + '*.rb'].each do |file| require file end
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,9 @@
1
+ module Sapphire
2
+ module DSL
3
+ module TestPlans
4
+ def Run(item)
5
+ Runner.instance.last_test_plan.Add(item)
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,59 @@
1
+ module Sapphire
2
+ module DSL
3
+ module TestPlans
4
+
5
+ def TestPlan(text, &block)
6
+ Runner.instance.add_test_plan(TestPlan.new(text, &block))
7
+ Runner.instance.last_test_plan.execute
8
+ end
9
+
10
+ class TestPlan
11
+
12
+ attr_reader :block
13
+ attr_reader :value
14
+ attr_reader :text
15
+
16
+ def initialize(text, &block)
17
+ @value = text
18
+ @text = text.to_s
19
+ @block = block
20
+
21
+ @items = []
22
+ @handlers = []
23
+ @coverage = []
24
+
25
+ AddHandler :file => FileHandler.new
26
+ AddHandler :path => PathHandler.new
27
+ end
28
+
29
+ def Cover(item)
30
+ @coverage << item
31
+ end
32
+
33
+ def Add(item)
34
+ @items << item
35
+ end
36
+
37
+ def AddHandler(handler)
38
+ @handlers << handler
39
+ end
40
+
41
+ def execute
42
+ @block.call
43
+ @items.each do |item|
44
+ item.keys.each do |key|
45
+ @handlers.each do |handler|
46
+ handler.keys.each do |handler_key|
47
+ if(handler_key == key)
48
+ handler[handler_key].Handle item[key]
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+
57
+ end
58
+ end
59
+ end
@@ -1,3 +1,3 @@
1
1
  module Sapphire
2
- VERSION = "0.0.11"
2
+ VERSION = "0.1.0"
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.0.11
4
+ version: 0.1.0
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-08-23 00:00:00.000000000Z
12
+ date: 2011-08-29 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: albacore
16
- requirement: &9560040 !ruby/object:Gem::Requirement
16
+ requirement: &9396936 !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: *9560040
24
+ version_requirements: *9396936
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: selenium-webdriver
27
- requirement: &9559584 !ruby/object:Gem::Requirement
27
+ requirement: &9396672 !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: *9559584
35
+ version_requirements: *9396672
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: activesupport
38
- requirement: &9559212 !ruby/object:Gem::Requirement
38
+ requirement: &9396372 !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: *9559212
46
+ version_requirements: *9396372
47
47
  description: An automated web acceptance test framework for non-technical resources
48
48
  using selenium-wedriver.
49
49
  email:
@@ -109,6 +109,11 @@ files:
109
109
  - lib/sapphire/DSL/Scenarios/scenario.rb
110
110
  - lib/sapphire/DSL/Scenarios/then.rb
111
111
  - lib/sapphire/DSL/Scenarios/when.rb
112
+ - lib/sapphire/DSL/TestPlans/Covers.rb
113
+ - lib/sapphire/DSL/TestPlans/FileHandler.rb
114
+ - lib/sapphire/DSL/TestPlans/PathHandler.rb
115
+ - lib/sapphire/DSL/TestPlans/Run.rb
116
+ - lib/sapphire/DSL/TestPlans/TestPlan.rb
112
117
  - lib/sapphire/Testing/Executable.rb
113
118
  - lib/sapphire/Testing/RakeTask.rb
114
119
  - lib/sapphire/Testing/ResultList.rb