dom_glancy 0.1.0 → 1.0.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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +1 -3
- data/CHANGELOG.md +5 -0
- data/Gemfile +1 -2
- data/README.md +69 -2
- data/app/assets/javascripts/application.js +7 -1
- data/app/assets/stylesheets/dom_glancy.css +19 -3
- data/app/controllers/dom_glancy_controller.rb +15 -15
- data/app/views/dom_glancy/index.html.erb +15 -10
- data/app/views/dom_glancy/path_config.html.erb +3 -3
- data/app/views/dom_glancy/show.html.erb +4 -4
- data/app/views/layouts/dom_glancy.html.erb +7 -7
- data/dom_glancy.gemspec +2 -2
- data/lib/dom_glancy/analysis.rb +108 -108
- data/lib/dom_glancy/configuration.rb +22 -0
- data/lib/dom_glancy/dom_glancy.rb +110 -96
- data/lib/dom_glancy/engine.rb +4 -0
- data/lib/dom_glancy/locations.rb +10 -43
- data/lib/dom_glancy/svg.rb +45 -43
- data/lib/dom_glancy/version.rb +1 -1
- data/lib/dom_glancy.rb +5 -1
- data/test/selenium/mapping_test.rb +14 -14
- data/test/selenium/viewer_test.rb +4 -9
- data/test/selenium_test_helper.rb +86 -85
- data/test/test_app/Gemfile +0 -2
- data/test/test_app/Rakefile +3 -0
- data/test/test_app/app/views/layouts/local.html.erb +2 -3
- data/test/test_app/config/application.rb +29 -0
- data/test/test_app/config/boot.rb +6 -0
- data/test/test_app/config/environment.rb +2 -0
- data/test/test_app/config/initializers/dom_glancy_initializer.rb +8 -4
- data/test/test_app/config.ru +2 -29
- data/test/test_app/script/rails +6 -0
- data/test/test_helper.rb +5 -7
- data/test/test_helpers/location_helpers.rb +23 -21
- data/test/test_objects/test_objects.rb +40 -42
- data/test/unit/analysis_test.rb +9 -10
- data/test/unit/{kracker_test.rb → dom_glancy_test.rb} +20 -21
- data/test/unit/element_test.rb +8 -8
- data/test/unit/location_test.rb +8 -7
- metadata +25 -13
- data/lib/dom_glancy/rails/engine.rb +0 -7
- data/test/test_app/config/database.yml +0 -13
- data/test/test_app/test_app.rb +0 -30
- data/test/test_helpers/kracker_class_for_stubbing.rb +0 -3
@@ -15,9 +15,12 @@ rescue Bundler::BundlerError => e
|
|
15
15
|
exit e.status_code
|
16
16
|
end
|
17
17
|
|
18
|
-
require '
|
19
|
-
require '
|
20
|
-
require '
|
18
|
+
require 'action_controller/railtie'
|
19
|
+
require 'action_mailer/railtie'
|
20
|
+
require 'sprockets/railtie'
|
21
|
+
require 'rails/test_unit/railtie'
|
22
|
+
|
23
|
+
require File.expand_path('../test_app/config/environment', __FILE__)
|
21
24
|
|
22
25
|
require 'minitest/autorun'
|
23
26
|
|
@@ -38,110 +41,108 @@ Dir[test_helper_location].each { |f| require f }
|
|
38
41
|
|
39
42
|
Capybara.default_driver = :selenium
|
40
43
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
include DomGlancy::TestObjects
|
45
|
-
include DomGlancy::TestHelpers::Location
|
46
|
-
|
47
|
-
include Capybara::DSL
|
44
|
+
class SeleniumTestCase < Minitest::Test
|
45
|
+
include TestObjects
|
46
|
+
include TestHelpers::Location
|
48
47
|
|
49
|
-
|
50
|
-
delete_contents_from_dom_glancy_locations
|
51
|
-
initialize_browser_size_for_test
|
52
|
-
end
|
48
|
+
include Capybara::DSL
|
53
49
|
|
54
|
-
|
55
|
-
|
56
|
-
|
50
|
+
def setup
|
51
|
+
@dom_glancy = DomGlancy::DomGlancy.new
|
52
|
+
delete_contents_from_dom_glancy_locations
|
53
|
+
initialize_browser_size_for_test
|
54
|
+
end
|
57
55
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
@starting_dimensions = get_current_browser_dimensions
|
62
|
-
w = @browser_dimensions.split('x')[0]
|
63
|
-
h = @browser_dimensions.split('x')[1]
|
64
|
-
resize_browser(w, h)
|
65
|
-
end
|
66
|
-
end
|
56
|
+
def teardown
|
57
|
+
delete_contents_from_dom_glancy_locations
|
58
|
+
end
|
67
59
|
|
68
|
-
|
69
|
-
|
60
|
+
def initialize_browser_size_for_test
|
61
|
+
@browser_dimensions = ENV['BROWSER_SIZE'] || '960x1000'
|
62
|
+
if @browser_dimensions
|
63
|
+
@starting_dimensions = get_current_browser_dimensions
|
64
|
+
w = @browser_dimensions.split('x')[0]
|
65
|
+
h = @browser_dimensions.split('x')[1]
|
66
|
+
resize_browser(w, h)
|
70
67
|
end
|
68
|
+
end
|
71
69
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
element.parentNode.removeChild(element);
|
76
|
-
JS
|
70
|
+
def visit_index
|
71
|
+
PageObjects::DomGlancy::IndexPage.visit
|
72
|
+
end
|
77
73
|
|
78
|
-
|
79
|
-
|
74
|
+
def remove_about_element
|
75
|
+
js = <<-JS
|
76
|
+
var element = document.getElementById('js-kr--nav');
|
77
|
+
element.parentNode.removeChild(element);
|
78
|
+
JS
|
80
79
|
|
81
|
-
|
82
|
-
|
83
|
-
var centeredElement = document.createElement('div');
|
84
|
-
centeredElement.style.textAlign = 'center';
|
85
|
-
centeredElement.style.fontSize = '2em';
|
86
|
-
centeredElement.style.width = '400px';
|
87
|
-
centeredElement.style.marginLeft = 'auto';
|
88
|
-
centeredElement.style.marginRight = 'auto';
|
89
|
-
centeredElement.id = 'hack-element';
|
90
|
-
centeredElement.textContent = '#{text_content}';
|
91
|
-
centeredElement.style.backgroundColor = '#ff0000'
|
92
|
-
document.getElementsByTagName('body')[0].appendChild(centeredElement);
|
93
|
-
JS
|
94
|
-
|
95
|
-
page.driver.browser.execute_script(js)
|
96
|
-
end
|
80
|
+
page.driver.browser.execute_script(js)
|
81
|
+
end
|
97
82
|
|
98
|
-
|
99
|
-
|
100
|
-
|
83
|
+
def add_centered_element(text_content)
|
84
|
+
js = <<-JS
|
85
|
+
var centeredElement = document.createElement('div');
|
86
|
+
centeredElement.style.textAlign = 'center';
|
87
|
+
centeredElement.style.fontSize = '2em';
|
88
|
+
centeredElement.style.width = '400px';
|
89
|
+
centeredElement.style.marginLeft = 'auto';
|
90
|
+
centeredElement.style.marginRight = 'auto';
|
91
|
+
centeredElement.id = 'hack-element';
|
92
|
+
centeredElement.textContent = '#{text_content}';
|
93
|
+
centeredElement.style.backgroundColor = '#ff0000'
|
94
|
+
document.getElementsByTagName('body')[0].appendChild(centeredElement);
|
95
|
+
JS
|
96
|
+
|
97
|
+
page.driver.browser.execute_script(js)
|
98
|
+
end
|
101
99
|
|
102
|
-
|
103
|
-
|
104
|
-
|
100
|
+
def resize_browser(width, height)
|
101
|
+
page.driver.browser.manage.window.resize_to(width.to_i, height.to_i)
|
102
|
+
end
|
105
103
|
|
106
|
-
|
107
|
-
|
108
|
-
|
104
|
+
def get_current_browser_dimensions
|
105
|
+
page.driver.browser.manage.window.size
|
106
|
+
end
|
109
107
|
|
110
|
-
|
111
|
-
|
108
|
+
def assert_artifacts_on_difference(test_root)
|
109
|
+
filename = DomGlancy::DomGlancy.diff_filename(test_root)
|
110
|
+
assert File.exists?(filename), "Diff file should exist: #{filename}"
|
112
111
|
|
113
|
-
|
114
|
-
|
112
|
+
filename = File.join(DomGlancy.configuration.diff_file_location, "#{test_root}__changed_master__diff.yaml")
|
113
|
+
assert File.exists?(filename), "Changed master file should exist: #{filename}"
|
115
114
|
|
116
|
-
|
117
|
-
|
115
|
+
filename = File.join(DomGlancy.configuration.diff_file_location, "#{test_root}__current_not_master__diff.yaml")
|
116
|
+
assert File.exists?(filename), "Current, not master, file should exist: #{filename}"
|
118
117
|
|
119
|
-
|
120
|
-
|
118
|
+
filename = File.join(DomGlancy.configuration.diff_file_location, "#{test_root}__master_not_current__diff.yaml")
|
119
|
+
assert File.exists?(filename), "Master, not current, file should exist: #{filename}"
|
121
120
|
|
122
|
-
|
123
|
-
|
124
|
-
end
|
121
|
+
filename = DomGlancy::DomGlancy.master_filename(test_root)
|
122
|
+
assert File.exists?(filename), "Master file should exist: #{filename}"
|
125
123
|
|
126
|
-
|
127
|
-
|
128
|
-
|
124
|
+
filename = DomGlancy::DomGlancy.current_filename(test_root)
|
125
|
+
assert File.exists?(filename), "Current file should exist: #{filename}"
|
126
|
+
end
|
129
127
|
|
130
|
-
|
131
|
-
|
128
|
+
def assert_artifacts_on_same(test_root)
|
129
|
+
filename = DomGlancy::DomGlancy.diff_filename(test_root)
|
130
|
+
refute File.exists?(filename), "No diff file should exist: #{filename}"
|
132
131
|
|
133
|
-
|
134
|
-
|
132
|
+
filename = File.join(DomGlancy.configuration.diff_file_location, "#{test_root}__changed_master__diff.yaml")
|
133
|
+
refute File.exists?(filename), "No changed master file should exist: #{filename}"
|
135
134
|
|
136
|
-
|
137
|
-
|
135
|
+
filename = File.join(DomGlancy.configuration.diff_file_location, "#{test_root}__current_not_master__diff.yaml")
|
136
|
+
refute File.exists?(filename), "No current, not master, file should exist: #{filename}"
|
138
137
|
|
139
|
-
|
140
|
-
|
138
|
+
filename = File.join(DomGlancy.configuration.diff_file_location, "#{test_root}__master_not_current__diff.yaml")
|
139
|
+
refute File.exists?(filename), "No master, not current, file should exist: #{filename}"
|
141
140
|
|
142
|
-
|
143
|
-
|
144
|
-
end
|
141
|
+
filename = DomGlancy::DomGlancy.master_filename(test_root)
|
142
|
+
assert File.exists?(filename), "Master file should exist: #{filename}"
|
145
143
|
|
144
|
+
filename = DomGlancy::DomGlancy.current_filename(test_root)
|
145
|
+
refute File.exists?(filename), "No current file should exist: #{filename}"
|
146
146
|
end
|
147
|
+
|
147
148
|
end
|
data/test/test_app/Gemfile
CHANGED
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'action_controller/railtie'
|
2
|
+
require 'action_mailer/railtie'
|
3
|
+
require 'sprockets/railtie'
|
4
|
+
require 'rails/test_unit/railtie'
|
5
|
+
|
6
|
+
if defined?(Bundler)
|
7
|
+
Bundler.require(*Rails.groups(:assets => %w(development test)))
|
8
|
+
end
|
9
|
+
|
10
|
+
module TestApp
|
11
|
+
class Application < Rails::Application
|
12
|
+
config.eager_load = true
|
13
|
+
config.cache_classes = true
|
14
|
+
config.serve_static_assets = true
|
15
|
+
config.static_cache_control = "public, max-age=3600"
|
16
|
+
config.active_support.deprecation = :stderr
|
17
|
+
|
18
|
+
config.encoding = 'utf-8'
|
19
|
+
config.filter_parameters += [:password]
|
20
|
+
config.assets.enabled = true
|
21
|
+
config.assets.version = '1.0'
|
22
|
+
|
23
|
+
# Configure cookies
|
24
|
+
config.secret_token = (('a'..'z').to_a * 2).join
|
25
|
+
config.session_store :cookie_store
|
26
|
+
|
27
|
+
I18n.enforce_available_locales = false
|
28
|
+
end
|
29
|
+
end
|
@@ -1,5 +1,9 @@
|
|
1
|
-
DomGlancy.
|
2
|
-
|
3
|
-
|
1
|
+
DomGlancy.configure do |c|
|
2
|
+
c.master_file_location = Rails.root.join('tmp', 'data', 'map', 'masters')
|
3
|
+
c.current_file_location = Rails.root.join('tmp', 'data', 'map', 'current')
|
4
|
+
c.diff_file_location = Rails.root.join('tmp', 'data', 'map', 'diff')
|
5
|
+
end
|
4
6
|
|
5
|
-
DomGlancy.
|
7
|
+
FileUtils.mkdir_p(DomGlancy.configuration.master_file_location)
|
8
|
+
FileUtils.mkdir_p(DomGlancy.configuration.diff_file_location)
|
9
|
+
FileUtils.mkdir_p(DomGlancy.configuration.current_file_location)
|
data/test/test_app/config.ru
CHANGED
@@ -1,31 +1,4 @@
|
|
1
1
|
# This file is used by Rack-based servers to start the application.
|
2
|
-
|
3
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
4
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..'))
|
5
|
-
|
6
|
-
require 'rubygems'
|
7
|
-
require 'bundler'
|
8
|
-
|
9
|
-
# Set up gems listed in the Gemfile.
|
10
|
-
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __FILE__)
|
11
|
-
|
12
|
-
require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
|
13
|
-
|
14
|
-
begin
|
15
|
-
Bundler.setup(:default, :development)
|
16
|
-
rescue Bundler::BundlerError => e
|
17
|
-
$stderr.puts e.message
|
18
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
19
|
-
exit e.status_code
|
20
|
-
end
|
21
|
-
|
22
|
-
require "action_controller/railtie"
|
23
|
-
require "sprockets/railtie"
|
24
|
-
require 'rails'
|
25
|
-
|
2
|
+
require File.expand_path('../config/environment', __FILE__)
|
26
3
|
require 'dom_glancy'
|
27
|
-
|
28
|
-
Rails.backtrace_cleaner.remove_silencers!
|
29
|
-
|
30
|
-
require 'test_app'
|
31
|
-
run DomGlancyApp::Application
|
4
|
+
run TestApp::Application
|
@@ -0,0 +1,6 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
|
3
|
+
|
4
|
+
APP_PATH = File.expand_path('../../config/application', __FILE__)
|
5
|
+
require File.expand_path('../../config/boot', __FILE__)
|
6
|
+
require 'rails/commands'
|
data/test/test_helper.rb
CHANGED
@@ -31,13 +31,11 @@ Dir[test_objects_location].each { |f| require f }
|
|
31
31
|
test_helper_location = File.expand_path('../test_helpers/**/*.rb', __FILE__)
|
32
32
|
Dir[test_helper_location].each { |f| require f }
|
33
33
|
|
34
|
+
class DomGlancyTestCase < Minitest::Test
|
35
|
+
include TestObjects
|
36
|
+
include TestHelpers::Location
|
34
37
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
include DomGlancy
|
39
|
-
include DomGlancy::TestObjects
|
40
|
-
include DomGlancy::TestHelpers::Location
|
41
|
-
|
38
|
+
def setup
|
39
|
+
@dom_glancy = DomGlancy::DomGlancy.new
|
42
40
|
end
|
43
41
|
end
|
@@ -1,28 +1,30 @@
|
|
1
|
-
module
|
2
|
-
module
|
3
|
-
|
4
|
-
|
5
|
-
@locations_root = File.expand_path('../../tmp', __FILE__)
|
1
|
+
module TestHelpers
|
2
|
+
module Location
|
3
|
+
def prep_locations_for_test
|
4
|
+
@locations_root = File.expand_path('../../tmp', __FILE__)
|
6
5
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
DomGlancy.create_comparison_directories
|
6
|
+
DomGlancy.configure do |config|
|
7
|
+
config.master_file_location = File.join(@locations_root, 'masters')
|
8
|
+
config.current_file_location = File.join(@locations_root, 'current')
|
9
|
+
config.diff_file_location = File.join(@locations_root, 'diff')
|
12
10
|
end
|
13
11
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
end
|
12
|
+
FileUtils.mkdir_p(DomGlancy.configuration.master_file_location)
|
13
|
+
FileUtils.mkdir_p(DomGlancy.configuration.diff_file_location)
|
14
|
+
FileUtils.mkdir_p(DomGlancy.configuration.current_file_location)
|
15
|
+
end
|
19
16
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
17
|
+
def delete_test_locations
|
18
|
+
FileUtils.rm_rf DomGlancy.configuration.master_file_location
|
19
|
+
FileUtils.rm_rf DomGlancy.configuration.current_file_location
|
20
|
+
FileUtils.rm_rf DomGlancy.configuration.diff_file_location
|
21
|
+
end
|
22
|
+
|
23
|
+
def delete_contents_from_dom_glancy_locations
|
24
|
+
Dir[File.join(DomGlancy.configuration.master_file_location, '*.yaml')].each { |file| FileUtils.rm_rf file }
|
25
|
+
Dir[File.join(DomGlancy.configuration.current_file_location, '*.yaml')].each { |file| FileUtils.rm_rf file }
|
26
|
+
Dir[File.join(DomGlancy.configuration.diff_file_location, '*.html')].each { |file| FileUtils.rm_rf file }
|
27
|
+
Dir[File.join(DomGlancy.configuration.diff_file_location, '*.yaml')].each { |file| FileUtils.rm_rf file }
|
26
28
|
end
|
27
29
|
end
|
28
30
|
end
|
@@ -1,34 +1,33 @@
|
|
1
|
-
module
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
end
|
1
|
+
module TestObjects
|
2
|
+
def array_of_elements
|
3
|
+
[
|
4
|
+
{"id"=>"1", "height"=>238, "visible"=>true, "tag"=>"DIV", "width"=>720, "class"=>"grid", "left"=>43, "top"=>14},
|
5
|
+
{"id"=>"2", "height"=>132, "visible"=>true, "tag"=>"DIV", "width"=>700, "class"=>"row", "left"=>53, "top"=>14},
|
6
|
+
{"id"=>"3", "height"=>132, "visible"=>true, "tag"=>"DIV", "width"=>340, "class"=>"slot-0-1-2 mm--title_text_main", "left"=>53, "top"=>14},
|
7
|
+
{"id"=>"4", "height"=>132, "visible"=>true, "tag"=>"H1", "width"=>340, "class"=>"", "left"=>53, "top"=>14},
|
8
|
+
{"id"=>"5", "height"=>0, "visible"=>true, "tag"=>"SPAN", "width"=>0, "class"=>"mm--title_text_sub", "left"=>71, "top"=>86},
|
9
|
+
{"id"=>"6", "height"=>55, "visible"=>true, "tag"=>"DIV", "width"=>700, "class"=>"row", "left"=>53, "top"=>160},
|
10
|
+
{"id"=>"7", "height"=>55, "visible"=>true, "tag"=>"DIV", "width"=>340, "class"=>"slot-0-1-2", "left"=>53, "top"=>160},
|
11
|
+
{"id"=>"8", "height"=>55, "visible"=>true, "tag"=>"H2", "width"=>340, "class"=>"", "left"=>53, "top"=>160},
|
12
|
+
{"id"=>"9", "height"=>23, "visible"=>true, "tag"=>"DIV", "width"=>700, "class"=>"row", "left"=>53, "top"=>229},
|
13
|
+
{"id"=>"10", "height"=>21, "visible"=>true, "tag"=>"DIV", "width"=>100, "class"=>"slot-0 mm--nav", "left"=>53, "top"=>231},
|
14
|
+
{"id"=>"11", "height"=>21, "visible"=>true, "tag"=>"DIV", "width"=>100, "class"=>"slot-1 mm--nav", "left"=>173, "top"=>231}
|
15
|
+
]
|
16
|
+
end
|
18
17
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
18
|
+
def array_of_elements_small
|
19
|
+
[
|
20
|
+
{"id"=>"12", "height"=>238, "visible"=>true, "tag"=>"DIV", "width"=>720, "class"=>"grid", "left"=>43, "top"=>14},
|
21
|
+
{"id"=>"14", "height"=>0, "visible"=>true, "tag"=>"SPAN", "width"=>0, "class"=>"mm--title_text_sub", "left"=>71, "top"=>86}
|
22
|
+
]
|
23
|
+
end
|
25
24
|
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
def single_element_hash
|
26
|
+
{"id"=>"mm--single_added", "height"=>10, "visible"=>true, "tag"=>"SPAN", "width"=>50, "class"=>"mm--title_text_sub", "left"=>71, "top"=>86}
|
27
|
+
end
|
29
28
|
|
30
|
-
|
31
|
-
|
29
|
+
def travis_generated_current_2
|
30
|
+
data = <<-DATA
|
32
31
|
---
|
33
32
|
- height: 45
|
34
33
|
width: 784
|
@@ -590,12 +589,12 @@ module DomGlancy
|
|
590
589
|
top: 0
|
591
590
|
left: 0
|
592
591
|
visible: false
|
593
|
-
|
592
|
+
|
594
593
|
DATA
|
595
|
-
|
594
|
+
|
596
595
|
YAML::load(data)
|
597
596
|
end
|
598
|
-
|
597
|
+
|
599
598
|
def travis_local_generated_master_2
|
600
599
|
data = <<-DATA
|
601
600
|
---
|
@@ -1160,11 +1159,11 @@ module DomGlancy
|
|
1160
1159
|
left: 0
|
1161
1160
|
visible: false
|
1162
1161
|
DATA
|
1163
|
-
|
1162
|
+
|
1164
1163
|
YAML::load(data)
|
1165
1164
|
end
|
1166
|
-
|
1167
|
-
|
1165
|
+
|
1166
|
+
|
1168
1167
|
def travis_generated_current
|
1169
1168
|
data = <<-DATA
|
1170
1169
|
---
|
@@ -1592,12 +1591,12 @@ module DomGlancy
|
|
1592
1591
|
top: 0
|
1593
1592
|
left: 0
|
1594
1593
|
visible: false
|
1595
|
-
|
1596
|
-
|
1597
|
-
|
1594
|
+
DATA
|
1595
|
+
YAML::load(data)
|
1596
|
+
end
|
1598
1597
|
|
1599
|
-
|
1600
|
-
|
1598
|
+
def travis_local_generated_master
|
1599
|
+
data = <<-DATA
|
1601
1600
|
---
|
1602
1601
|
- height: 45
|
1603
1602
|
width: 800
|
@@ -2024,8 +2023,7 @@ module DomGlancy
|
|
2024
2023
|
left: 0
|
2025
2024
|
visible: false
|
2026
2025
|
|
2027
|
-
|
2028
|
-
|
2029
|
-
end
|
2026
|
+
DATA
|
2027
|
+
YAML::load(data)
|
2030
2028
|
end
|
2031
2029
|
end
|
data/test/unit/analysis_test.rb
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class AnalysisTest <
|
3
|
+
class AnalysisTest < DomGlancyTestCase
|
4
4
|
|
5
5
|
def test_same_elements
|
6
|
-
|
7
6
|
master_data = array_of_elements
|
8
7
|
current_data = array_of_elements
|
9
8
|
|
10
|
-
analysis = analyze(master_data, current_data)
|
9
|
+
analysis = @dom_glancy.analyze(master_data, current_data)
|
11
10
|
|
12
11
|
assert_equal 0, analysis[:not_in_master].count, 'results of data analysis: not_in_master'
|
13
12
|
assert_equal 0, analysis[:not_in_current].count, 'results of data analysis: not_in_current'
|
@@ -19,7 +18,7 @@ class AnalysisTest < DomGlancy::DomGlancyTestCase
|
|
19
18
|
current_data = array_of_elements_small
|
20
19
|
current_data.first['id'] = 'some-new-id'
|
21
20
|
|
22
|
-
analysis = analyze(master_data, current_data)
|
21
|
+
analysis = @dom_glancy.analyze(master_data, current_data)
|
23
22
|
|
24
23
|
assert_equal 1, analysis[:not_in_master].count, 'results of data analysis: not_in_master'
|
25
24
|
assert_equal 1, analysis[:not_in_current].count, 'results of data analysis: not_in_current'
|
@@ -31,7 +30,7 @@ class AnalysisTest < DomGlancy::DomGlancyTestCase
|
|
31
30
|
current_data = array_of_elements
|
32
31
|
current_data << single_element_hash
|
33
32
|
|
34
|
-
analysis = analyze(master_data, current_data)
|
33
|
+
analysis = @dom_glancy.analyze(master_data, current_data)
|
35
34
|
|
36
35
|
assert_equal 1, analysis[:not_in_master].count, 'results of data analysis: not_in_master'
|
37
36
|
assert_equal 0, analysis[:not_in_current].count, 'results of data analysis: not_in_current'
|
@@ -44,7 +43,7 @@ class AnalysisTest < DomGlancy::DomGlancyTestCase
|
|
44
43
|
current_data[0]['height'] = current_data[0]['height'] + 16
|
45
44
|
current_data[1]['width'] = current_data[1]['width'] + 25
|
46
45
|
|
47
|
-
analysis = analyze(master_data, current_data)
|
46
|
+
analysis = @dom_glancy.analyze(master_data, current_data)
|
48
47
|
|
49
48
|
assert_equal 0, analysis[:not_in_master].count, 'results of data analysis: not_in_master'
|
50
49
|
assert_equal 0, analysis[:not_in_current].count, 'results of data analysis: not_in_current'
|
@@ -59,7 +58,7 @@ class AnalysisTest < DomGlancy::DomGlancyTestCase
|
|
59
58
|
|
60
59
|
current_data[1]['height'] = current_data[1]['height'] + 3
|
61
60
|
|
62
|
-
analysis = analyze(master_data, current_data)
|
61
|
+
analysis = @dom_glancy.analyze(master_data, current_data)
|
63
62
|
|
64
63
|
assert_equal 0, analysis[:not_in_master].count, 'results of data analysis: not_in_master'
|
65
64
|
assert_equal 0, analysis[:not_in_current].count, 'results of data analysis: not_in_current'
|
@@ -76,7 +75,7 @@ class AnalysisTest < DomGlancy::DomGlancyTestCase
|
|
76
75
|
current_data.delete_at(5) ## the one missing
|
77
76
|
current_data << single_element_hash ## the one added
|
78
77
|
|
79
|
-
analysis = analyze(master_data, current_data)
|
78
|
+
analysis = @dom_glancy.analyze(master_data, current_data)
|
80
79
|
|
81
80
|
assert_equal 1, analysis[:not_in_master].count, 'results of data analysis: not_in_master'
|
82
81
|
assert_equal 1, analysis[:not_in_current].count, 'results of data analysis: not_in_current'
|
@@ -88,7 +87,7 @@ class AnalysisTest < DomGlancy::DomGlancyTestCase
|
|
88
87
|
master_data = travis_local_generated_master
|
89
88
|
current_data = travis_generated_current
|
90
89
|
|
91
|
-
analysis = analyze(master_data, current_data)
|
90
|
+
analysis = @dom_glancy.analyze(master_data, current_data)
|
92
91
|
assert_equal 0, analysis[:not_in_master].count, 'results of data analysis: not_in_master'
|
93
92
|
assert_equal 0, analysis[:not_in_current].count, 'results of data analysis: not_in_current'
|
94
93
|
assert_equal 0, analysis[:changed_element_pairs].count, 'changed element pairs'
|
@@ -99,7 +98,7 @@ class AnalysisTest < DomGlancy::DomGlancyTestCase
|
|
99
98
|
master_data = travis_local_generated_master_2
|
100
99
|
current_data = travis_generated_current_2
|
101
100
|
|
102
|
-
analysis = analyze(master_data, current_data)
|
101
|
+
analysis = @dom_glancy.analyze(master_data, current_data)
|
103
102
|
|
104
103
|
## real difference that was found on travis with the INPUT tags being different styles/sizes if not css-styled
|
105
104
|
assert_equal 0, analysis[:not_in_master].count, 'results of data analysis: not_in_master'
|