dom_glancy 0.1.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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'
|