gatling 1.0.7 → 1.0.8

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.
@@ -3,19 +3,22 @@ require 'spec_helper'
3
3
  describe Gatling::Image do
4
4
 
5
5
  before :all do
6
- Gatling::Configuration.reference_image_path = './image_tests'
6
+ ref_path = './image_tests'
7
+ Gatling::Configuration.reference_image_path = ref_path
8
+ @expected_path = File.join ref_path, 'temp'
9
+ @expected_full_path = File.join @expected_path, 'image.png'
7
10
  end
8
11
 
9
12
  describe 'should initialize from' do
10
13
 
11
14
  it 'image file type' do
12
- File.stub(:exists?).and_return true
13
- image_mock = mock(Magick::Image)
14
- Magick::Image.should_receive(:read).with('./image_tests/image.png').and_return([image_mock])
15
+ File.stub(:exists?).and_return true
16
+ image_mock = mock(Magick::Image)
17
+ Magick::Image.should_receive(:read).with('./image_tests/image.png').and_return([image_mock])
15
18
 
16
- subject = Gatling::Image.new(:from_file, 'image.png')
17
- subject.image.should == image_mock
18
- subject.file_name.should == 'image.png'
19
+ subject = Gatling::ImageFromFile.new("image.png")
20
+ subject.image.should == image_mock
21
+ subject.file_name.should == 'image.png'
19
22
  end
20
23
 
21
24
  it 'web element type' do
@@ -25,38 +28,69 @@ describe Gatling::Image do
25
28
 
26
29
  Gatling::CaptureElement.should_receive(:new).and_return mock_capture_element
27
30
  mock_capture_element.should_receive(:capture).and_return mock_image
28
- subject = Gatling::Image.new(:from_element, 'image.png', mock_element)
31
+ subject = Gatling::ImageFromElement.new(mock_element, "image.png")
29
32
  subject.image.should == mock_image
30
33
  subject.file_name.should == 'image.png'
31
34
  end
32
35
 
33
36
  it 'diff image' do
34
- mock_image = mock(Magick::Image)
35
- subject = Gatling::Image.new(:from_diff, 'image.png', mock_image)
36
- subject.image.should == mock_image
37
- subject.file_name.should == 'image.png'
37
+ mock_image = mock(Magick::Image)
38
+ subject = Gatling::Image.new(mock_image, 'image.png')
39
+ subject.image.should == mock_image
40
+ subject.file_name.should == 'image.png'
38
41
  end
39
42
  end
40
43
 
41
- it 'should be ok with nil' do
42
- pending
43
- end
44
+ describe "Images file handling" do
44
45
 
45
- it 'should save an image to the path for the type' do
46
- mock_image = mock(Magick::Image)
47
- mock_image.should_receive(:write).with('./image_tests/temp/image.png').and_return()
48
- subject = Gatling::Image.new(:from_diff, 'image.png', mock_image)
49
- subject.image = mock_image
50
- subject.file_name = 'image.png'
51
- subject.save(:as => :temp)
52
- subject.path.should == './image_tests/temp/image.png'
53
- end
46
+ before :each do
47
+
48
+ end
49
+
50
+ it 'will save an image to the correct path for the type' do
51
+ mock_image = mock(Magick::Image)
52
+ mock_image.should_receive(:write).with('./image_tests/temp/image.png').and_return()
53
+ subject = Gatling::Image.new(mock_image, 'image.png')
54
+ subject.image = mock_image
55
+ subject.file_name = 'image.png'
56
+ subject.save(:as => :temp)
57
+ end
58
+
59
+ it 'will create directory, then save and image if directory doesnt exist' do
60
+
61
+ mock_image = stub(Magick::Image)
62
+ mock_image.should_receive(:write).with(@expected_full_path).and_return()
54
63
 
55
- it 'should check if a file exists, with the file name and type' do
56
- mock_image = mock(Magick::Image)
57
- File.should_receive(:exists?).with './image_tests/image.png'
58
- subject = Gatling::Image.new(:from_diff, 'image.png', mock_image)
59
- subject.file_name = 'image.png'
60
- subject.exists?
64
+ File.should_receive(:exists?).with(@expected_path).and_return(false)
65
+ FileUtils.should_receive(:mkdir_p).with(@expected_path)
66
+ subject = Gatling::Image.new(mock_image, 'image.png')
67
+
68
+ subject.save(:as => :temp)
69
+ subject.path.should == @expected_full_path
70
+ end
71
+
72
+ it 'will save and image if directory exista' do
73
+ mock_image = stub(Magick::Image)
74
+ mock_image.should_receive(:write).with(@expected_full_path).and_return()
75
+
76
+ File.should_receive(:exists?).with(@expected_path).and_return(true)
77
+ FileUtils.should_not_receive(:mkdir_p)
78
+ subject = Gatling::Image.new(mock_image, 'image.png')
79
+
80
+ subject.save(:as => :temp)
81
+ subject.path.should == @expected_full_path
82
+ end
83
+
84
+ it 'should check if a file exists, with the file name and type' do
85
+ mock_image = mock(Magick::Image)
86
+ File.should_receive(:exists?).with './image_tests/image.png'
87
+ subject = Gatling::Image.new(mock_image, 'image.png')
88
+ subject.file_name = 'image.png'
89
+ subject.exists?
90
+ end
61
91
  end
92
+
93
+
62
94
  end
95
+
96
+ describe Gatling::ImageFromElement
@@ -0,0 +1,37 @@
1
+ require 'spec_helper'
2
+ include Capybara::DSL
3
+
4
+ describe 'Gatling' do
5
+
6
+ before(:all) do
7
+ @spec_support_root = spec_support_root
8
+ @black_box = 'black.png'
9
+ @red_box = 'red.png'
10
+ end
11
+
12
+ before(:each) do
13
+ @ref_path = Gatling::Configuration.reference_image_path = File.join(spec_support_root, 'ref_path')
14
+ end
15
+
16
+ after(:each) do
17
+ remove_refs(@ref_path)
18
+ Gatling::Configuration.trainer_toggle = false
19
+ end
20
+
21
+ describe 'Gatling, when no reference image exists' do
22
+
23
+ it "will notify that no reference image exists and create a candidate image" do
24
+ pending
25
+ mock_element = mock
26
+ mock_element.stub(:native).and_return(mock_element)
27
+
28
+ expected_error = "The design reference #{@black_box} does not exist, #{@ref_path}/candidate/#{@black_box} " +
29
+ "is now available to be used as a reference. " +
30
+ "Copy candidate to root reference_image_path to use as reference"
31
+
32
+ expect {Gatling.matches?(@black_box, mock_element)}.should raise_error(RuntimeError, expected_error)
33
+
34
+ File.exists?(File.join(@ref_path, 'candidate', @black_box)).should be_true
35
+ end
36
+ end
37
+ end
@@ -2,10 +2,21 @@
2
2
  "http://www.w3.org/TR/html4/loose.dtd">
3
3
  <html>
4
4
  <head>
5
+ <style type="text/css">
6
+ div.ex
7
+ {
8
+ width:220px;
9
+ padding:10px;
10
+ border:5px solid gray;
11
+ margin:0px;
12
+ }
13
+ </style>
5
14
  <title>The Smiley Site</title>
6
15
  </head>
7
16
  <body>
17
+ <div class='ex' id="box">
8
18
  <img src='./black.png' id="black"/>
9
19
  <img src='./red.png' id="red"/>
20
+ </div>
10
21
  </body>
11
22
  </html>
metadata CHANGED
@@ -1,60 +1,93 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gatling
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
- - Gabriel Rotbart, Amanda Koh
8
+ - Gabriel Rotbart, Amanda Koh, Mike Bain
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-19 00:00:00.000000000Z
12
+ date: 2012-04-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rmagick
16
- requirement: &70287958354680 !ruby/object:Gem::Requirement
16
+ requirement: &70304962876040 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: '0'
21
+ version: 2.13.1
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70287958354680
24
+ version_requirements: *70304962876040
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec-core
27
- requirement: &70287958354160 !ruby/object:Gem::Requirement
27
+ requirement: &70304962875260 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
31
31
  - !ruby/object:Gem::Version
32
- version: '0'
32
+ version: 2.8.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70287958354160
35
+ version_requirements: *70304962875260
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70287958353700 !ruby/object:Gem::Requirement
38
+ requirement: &70304962874240 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
42
42
  - !ruby/object:Gem::Version
43
- version: '0'
43
+ version: 2.8.0
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70287958353700
46
+ version_requirements: *70304962874240
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: capybara
49
- requirement: &70287958353180 !ruby/object:Gem::Requirement
49
+ requirement: &70304962873720 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 1.1.2
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70287958353180
57
+ version_requirements: *70304962873720
58
+ - !ruby/object:Gem::Dependency
59
+ name: rake
60
+ requirement: &70304962873040 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: 0.9.2
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70304962873040
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec-instafail
71
+ requirement: &70304962872180 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: 0.1.8
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70304962872180
80
+ - !ruby/object:Gem::Dependency
81
+ name: pry
82
+ requirement: &70304962920060 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: 0.9.8.2
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *70304962920060
58
91
  description: Add visual comparison matchers for rspec
59
92
  email:
60
93
  - grotbart@gmail.com
@@ -64,7 +97,6 @@ extra_rdoc_files: []
64
97
  files:
65
98
  - .DS_Store
66
99
  - .gitignore
67
- - .rbenv-version
68
100
  - .rvmrc
69
101
  - Gemfile
70
102
  - Gemfile.lock
@@ -76,20 +108,21 @@ files:
76
108
  - lib/gatling/capture_element.rb
77
109
  - lib/gatling/comparison.rb
78
110
  - lib/gatling/config.rb
79
- - lib/gatling/file_helper.rb
80
111
  - lib/gatling/image.rb
81
112
  - lib/gatling/image_wrangler.rb
82
113
  - lib/gatling/matchers/look_like_matcher.rb
83
114
  - lib/gatling/version.rb
84
115
  - pkg/gatling-0.0.1.gem
85
116
  - reports/rspec_unit_test_output.html
117
+ - spec/acceptance/gatling_acceptance_spec.rb
118
+ - spec/acceptance/rspec_matcher_spec.rb
86
119
  - spec/capture_spec.rb
87
120
  - spec/comparison_spec.rb
88
121
  - spec/configuration_spec.rb
89
- - spec/file_helper_spec.rb
90
122
  - spec/gatling_spec.rb
91
123
  - spec/image_spec.rb
92
124
  - spec/image_wrangler_spec.rb
125
+ - spec/integration/gatling_integration_spec.rb
93
126
  - spec/rspec_matcher_spec.rb
94
127
  - spec/spec.opts
95
128
  - spec/spec_helper.rb
@@ -114,18 +147,20 @@ required_rubygems_version: !ruby/object:Gem::Requirement
114
147
  version: '0'
115
148
  requirements: []
116
149
  rubyforge_project: gatling
117
- rubygems_version: 1.8.10
150
+ rubygems_version: 1.8.11
118
151
  signing_key:
119
152
  specification_version: 3
120
153
  summary: Automated visual testing
121
154
  test_files:
155
+ - spec/acceptance/gatling_acceptance_spec.rb
156
+ - spec/acceptance/rspec_matcher_spec.rb
122
157
  - spec/capture_spec.rb
123
158
  - spec/comparison_spec.rb
124
159
  - spec/configuration_spec.rb
125
- - spec/file_helper_spec.rb
126
160
  - spec/gatling_spec.rb
127
161
  - spec/image_spec.rb
128
162
  - spec/image_wrangler_spec.rb
163
+ - spec/integration/gatling_integration_spec.rb
129
164
  - spec/rspec_matcher_spec.rb
130
165
  - spec/spec.opts
131
166
  - spec/spec_helper.rb
@@ -1 +0,0 @@
1
- 1.9.3-p125
@@ -1,17 +0,0 @@
1
- module Gatling
2
- class FileHelper
3
- class << self
4
-
5
- def make_required_directories
6
- Gatling::Configuration.paths.each { | key, directory | make_dir directory }
7
- end
8
-
9
- private
10
-
11
- def make_dir(path)
12
- FileUtils::mkdir_p(File.join(path))
13
- end
14
-
15
- end
16
- end
17
- end
@@ -1,18 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Gatling::FileHelper do
4
-
5
- describe ':make_dir' do
6
- before :all do
7
- Gatling::Configuration.reference_image_path = './gatling'
8
- end
9
-
10
- it 'should make required directories' do
11
- FileUtils.should_receive(:mkdir_p).with './gatling/candidate'
12
- FileUtils.should_receive(:mkdir_p).with './gatling/diff'
13
- FileUtils.should_receive(:mkdir_p).with './gatling'
14
- FileUtils.should_receive(:mkdir_p).with './gatling/temp'
15
- Gatling::FileHelper.make_required_directories
16
- end
17
- end
18
- end