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.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +1 -3
  4. data/CHANGELOG.md +5 -0
  5. data/Gemfile +1 -2
  6. data/README.md +69 -2
  7. data/app/assets/javascripts/application.js +7 -1
  8. data/app/assets/stylesheets/dom_glancy.css +19 -3
  9. data/app/controllers/dom_glancy_controller.rb +15 -15
  10. data/app/views/dom_glancy/index.html.erb +15 -10
  11. data/app/views/dom_glancy/path_config.html.erb +3 -3
  12. data/app/views/dom_glancy/show.html.erb +4 -4
  13. data/app/views/layouts/dom_glancy.html.erb +7 -7
  14. data/dom_glancy.gemspec +2 -2
  15. data/lib/dom_glancy/analysis.rb +108 -108
  16. data/lib/dom_glancy/configuration.rb +22 -0
  17. data/lib/dom_glancy/dom_glancy.rb +110 -96
  18. data/lib/dom_glancy/engine.rb +4 -0
  19. data/lib/dom_glancy/locations.rb +10 -43
  20. data/lib/dom_glancy/svg.rb +45 -43
  21. data/lib/dom_glancy/version.rb +1 -1
  22. data/lib/dom_glancy.rb +5 -1
  23. data/test/selenium/mapping_test.rb +14 -14
  24. data/test/selenium/viewer_test.rb +4 -9
  25. data/test/selenium_test_helper.rb +86 -85
  26. data/test/test_app/Gemfile +0 -2
  27. data/test/test_app/Rakefile +3 -0
  28. data/test/test_app/app/views/layouts/local.html.erb +2 -3
  29. data/test/test_app/config/application.rb +29 -0
  30. data/test/test_app/config/boot.rb +6 -0
  31. data/test/test_app/config/environment.rb +2 -0
  32. data/test/test_app/config/initializers/dom_glancy_initializer.rb +8 -4
  33. data/test/test_app/config.ru +2 -29
  34. data/test/test_app/script/rails +6 -0
  35. data/test/test_helper.rb +5 -7
  36. data/test/test_helpers/location_helpers.rb +23 -21
  37. data/test/test_objects/test_objects.rb +40 -42
  38. data/test/unit/analysis_test.rb +9 -10
  39. data/test/unit/{kracker_test.rb → dom_glancy_test.rb} +20 -21
  40. data/test/unit/element_test.rb +8 -8
  41. data/test/unit/location_test.rb +8 -7
  42. metadata +25 -13
  43. data/lib/dom_glancy/rails/engine.rb +0 -7
  44. data/test/test_app/config/database.yml +0 -13
  45. data/test/test_app/test_app.rb +0 -30
  46. data/test/test_helpers/kracker_class_for_stubbing.rb +0 -3
@@ -1,11 +1,12 @@
1
1
  require 'test_helper'
2
2
 
3
- class DomGlancyTest < DomGlancy::DomGlancyTestCase
3
+ class DomGlancyTest < DomGlancyTestCase
4
+
4
5
  def setup
6
+ super
5
7
  @test_root = 'elbow'
6
8
  prep_locations_for_test
7
9
  make_master_test_file(@test_root, array_of_elements_small)
8
- @DomGlancy_object = DomGlancyClassForStubbing.new
9
10
  end
10
11
 
11
12
  def teardown
@@ -14,37 +15,35 @@ class DomGlancyTest < DomGlancy::DomGlancyTestCase
14
15
 
15
16
  def test_dom_glancy__missing_master
16
17
  this_test_root = 'not_elbow'
17
- blessing_copy_string = "cp #{DomGlancy.current_filename(this_test_root)} #{DomGlancy.master_filename(this_test_root)}"
18
+ blessing_copy_string = "cp #{DomGlancy::DomGlancy.current_filename(this_test_root)} #{DomGlancy::DomGlancy.master_filename(this_test_root)}"
18
19
 
19
- @DomGlancy_object.stubs(:perform_mapping_operation).returns(array_of_elements_small)
20
- mapping_results = @DomGlancy_object.page_map_same?(this_test_root)
20
+ @dom_glancy.stubs(:perform_mapping_operation).returns(array_of_elements_small)
21
+ mapping_results = @dom_glancy.page_map_same?(this_test_root)
21
22
 
22
23
  refute mapping_results[0], 'test should fail because no master'
23
24
  assert_match 'Master file does not exist', mapping_results[1], 'failure message when no master'
24
25
  assert_match blessing_copy_string, mapping_results[1], 'blessing copy string should be in the error message'
25
26
 
26
27
  `#{blessing_copy_string}`
27
- @DomGlancy_object.stubs(:perform_mapping_operation).returns(array_of_elements_small)
28
+ @dom_glancy.stubs(:perform_mapping_operation).returns(array_of_elements_small)
28
29
 
29
- mapping_results = @DomGlancy_object.page_map_same?(this_test_root)
30
+ mapping_results = @dom_glancy.page_map_same?(this_test_root)
30
31
  assert mapping_results[0], 'test should now pass with copied master'
31
-
32
32
  end
33
33
 
34
34
  def test_dom_glancy__pass
35
- @DomGlancy_object.stubs(:perform_mapping_operation).returns(array_of_elements_small)
36
- mapping_results = @DomGlancy_object.page_map_same?(@test_root)
35
+ @dom_glancy.stubs(:perform_mapping_operation).returns(array_of_elements_small)
36
+ mapping_results = @dom_glancy.page_map_same?(@test_root)
37
37
 
38
38
  assert mapping_results[0], mapping_results[1]
39
39
  end
40
40
 
41
41
  def test_dom_glancy__fail_one_new_element
42
- blessing_copy_string = "cp #{DomGlancy.current_filename(@test_root)} #{DomGlancy.master_filename(@test_root)}"
43
-
42
+ blessing_copy_string = "cp #{DomGlancy::DomGlancy.current_filename(@test_root)} #{DomGlancy::DomGlancy.master_filename(@test_root)}"
44
43
 
45
44
  current_data = array_of_elements_small << single_element_hash
46
- @DomGlancy_object.stubs(:perform_mapping_operation).returns(current_data)
47
- mapping_results = @DomGlancy_object.page_map_same?(@test_root)
45
+ @dom_glancy.stubs(:perform_mapping_operation).returns(current_data)
46
+ mapping_results = @dom_glancy.page_map_same?(@test_root)
48
47
 
49
48
  refute mapping_results[0], 'page same results should be false'
50
49
 
@@ -52,26 +51,26 @@ class DomGlancyTest < DomGlancy::DomGlancyTestCase
52
51
  assert_match 'Elements not in current: 0', mapping_results[1], 'error message contents'
53
52
  assert_match 'Changed elements: 0', mapping_results[1], 'error message contents'
54
53
 
55
- assert_match "current: #{DomGlancy.current_filename(@test_root)}", mapping_results[1], 'error message contents'
56
- assert_match "master: #{DomGlancy.master_filename(@test_root)}", mapping_results[1], 'error message contents'
57
- assert_match "difference: #{DomGlancy.diff_filename(@test_root)}", mapping_results[1], 'error message contents'
54
+ assert_match "current: #{DomGlancy::DomGlancy.current_filename(@test_root)}", mapping_results[1], 'error message contents'
55
+ assert_match "master: #{DomGlancy::DomGlancy.master_filename(@test_root)}", mapping_results[1], 'error message contents'
56
+ assert_match "difference: #{DomGlancy::DomGlancy.diff_filename(@test_root)}", mapping_results[1], 'error message contents'
58
57
 
59
58
  assert_match blessing_copy_string, mapping_results[1], 'blessing copy string should be in the error message'
60
59
 
61
- files_in_diff_location = Dir[File.join(DomGlancy.diff_file_location, '*')]
60
+ files_in_diff_location = Dir[File.join(DomGlancy.configuration.diff_file_location, '*')]
62
61
  assert_equal 4, files_in_diff_location.count, 'the number of files in the diff location after a failure.'
63
62
 
64
63
  `#{blessing_copy_string}`
65
64
 
66
- @DomGlancy_object.stubs(:perform_mapping_operation).returns(current_data)
67
- mapping_results = @DomGlancy_object.page_map_same?(@test_root)
65
+ @dom_glancy.stubs(:perform_mapping_operation).returns(current_data)
66
+ mapping_results = @dom_glancy.page_map_same?(@test_root)
68
67
 
69
68
  assert mapping_results[0], 'should pass now that the blessing copy string has been run'
70
69
 
71
70
  end
72
71
 
73
72
  def make_master_test_file(test_root, data)
74
- filename = DomGlancy.master_filename(test_root)
73
+ filename = DomGlancy::DomGlancy.master_filename(test_root)
75
74
  yaml_data = data.to_yaml
76
75
  File.open(filename, 'w') { |file| file.write(yaml_data) }
77
76
  end
@@ -1,10 +1,10 @@
1
1
  require 'test_helper'
2
2
 
3
- class ElementTest < DomGlancy::DomGlancyTestCase
3
+ class ElementTest < DomGlancyTestCase
4
4
 
5
5
  def test_sameness
6
- element1 = DOMElement.new(single_element_hash)
7
- element2 = DOMElement.new(single_element_hash.merge({"left" => 72}))
6
+ element1 = DomGlancy::DOMElement.new(single_element_hash)
7
+ element2 = DomGlancy::DOMElement.new(single_element_hash.merge({"left" => 72}))
8
8
 
9
9
  assert element1.same_element?(element2), 'should be the same element'
10
10
  refute element1.all_same?(element2), 'should not be all same'
@@ -19,9 +19,9 @@ class ElementTest < DomGlancy::DomGlancyTestCase
19
19
  end
20
20
 
21
21
  def test_similarity
22
- element1 = DOMElement.new(single_element_hash.merge({"similarity" => 2}))
23
- element2 = DOMElement.new(single_element_hash.merge({"left" => 72}))
24
- element3 = DOMElement.new(single_element_hash.merge({"left" => 74}))
22
+ element1 = DomGlancy::DOMElement.new(single_element_hash.merge({"similarity" => 2}))
23
+ element2 = DomGlancy::DOMElement.new(single_element_hash.merge({"left" => 72}))
24
+ element3 = DomGlancy::DOMElement.new(single_element_hash.merge({"left" => 74}))
25
25
 
26
26
  assert element1.same_element?(element2), 'should be the same element'
27
27
  assert element1.same_element?(element3), 'should be the same element'
@@ -37,8 +37,8 @@ class ElementTest < DomGlancy::DomGlancyTestCase
37
37
  end
38
38
 
39
39
  def test_changed_element__width
40
- element1 = DOMElement.new(array_of_elements.last)
41
- element2 = DOMElement.new(array_of_elements.last.merge("width" => 20))
40
+ element1 = DomGlancy::DOMElement.new(array_of_elements.last)
41
+ element2 = DomGlancy::DOMElement.new(array_of_elements.last.merge("width" => 20))
42
42
 
43
43
  assert element1.same_element?(element2), 'should be same element'
44
44
  refute element1.close_enough?(element2), 'elements not close enough'
@@ -1,8 +1,9 @@
1
1
  require 'test_helper'
2
2
 
3
- class LocationTest < DomGlancy::DomGlancyTestCase
3
+ class LocationTest < DomGlancyTestCase
4
4
 
5
5
  def setup
6
+ super
6
7
  prep_locations_for_test
7
8
  end
8
9
 
@@ -11,13 +12,13 @@ class LocationTest < DomGlancy::DomGlancyTestCase
11
12
  end
12
13
 
13
14
  def test_locations
14
- assert_equal File.join(@locations_root, 'masters'), DomGlancy.master_file_location , 'master file location value'
15
- assert_equal File.join(@locations_root, 'current'), DomGlancy.current_file_location , 'current file location value'
16
- assert_equal File.join(@locations_root, 'diff'), DomGlancy.diff_file_location , 'difference file location value'
15
+ assert_equal File.join(@locations_root, 'masters'), DomGlancy.configuration.master_file_location , 'master file location value'
16
+ assert_equal File.join(@locations_root, 'current'), DomGlancy.configuration.current_file_location , 'current file location value'
17
+ assert_equal File.join(@locations_root, 'diff'), DomGlancy.configuration.diff_file_location , 'difference file location value'
17
18
 
18
- assert Dir.exist?(DomGlancy.master_file_location) , 'master file location created'
19
- assert Dir.exist?(DomGlancy.current_file_location) , 'current file location created'
20
- assert Dir.exist?(DomGlancy.diff_file_location) , 'difference file location created'
19
+ assert Dir.exist?(DomGlancy.configuration.master_file_location) , 'master file location created'
20
+ assert Dir.exist?(DomGlancy.configuration.current_file_location) , 'current file location created'
21
+ assert Dir.exist?(DomGlancy.configuration.diff_file_location) , 'difference file location created'
21
22
  end
22
23
 
23
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dom_glancy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - geordie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-31 00:00:00.000000000 Z
11
+ date: 2014-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -58,14 +58,20 @@ dependencies:
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '1.0'
62
+ - - "<"
63
+ - !ruby/object:Gem::Version
64
+ version: '3'
62
65
  type: :runtime
63
66
  prerelease: false
64
67
  version_requirements: !ruby/object:Gem::Requirement
65
68
  requirements:
66
69
  - - ">="
67
70
  - !ruby/object:Gem::Version
68
- version: '0'
71
+ version: '1.0'
72
+ - - "<"
73
+ - !ruby/object:Gem::Version
74
+ version: '3'
69
75
  description: DOM Mapping
70
76
  email:
71
77
  - george.speake@gmail.com
@@ -76,6 +82,7 @@ files:
76
82
  - ".gitignore"
77
83
  - ".ruby-version"
78
84
  - ".travis.yml"
85
+ - CHANGELOG.md
79
86
  - Gemfile
80
87
  - LICENSE.txt
81
88
  - README.md
@@ -101,10 +108,11 @@ files:
101
108
  - dom_glancy.gemspec
102
109
  - lib/dom_glancy.rb
103
110
  - lib/dom_glancy/analysis.rb
111
+ - lib/dom_glancy/configuration.rb
104
112
  - lib/dom_glancy/dom_glancy.rb
105
113
  - lib/dom_glancy/element.rb
114
+ - lib/dom_glancy/engine.rb
106
115
  - lib/dom_glancy/locations.rb
107
- - lib/dom_glancy/rails/engine.rb
108
116
  - lib/dom_glancy/svg.rb
109
117
  - lib/dom_glancy/version.rb
110
118
  - test/page_objects.rb
@@ -121,23 +129,25 @@ files:
121
129
  - test/selenium/viewer_test.rb
122
130
  - test/selenium_test_helper.rb
123
131
  - test/test_app/Gemfile
132
+ - test/test_app/Rakefile
124
133
  - test/test_app/app/assets/stylesheets/local_app.css
125
134
  - test/test_app/app/controllers/application_controller.rb
126
135
  - test/test_app/app/controllers/local_controller.rb
127
136
  - test/test_app/app/views/layouts/local.html.erb
128
137
  - test/test_app/app/views/local/index.html.erb
129
138
  - test/test_app/config.ru
130
- - test/test_app/config/database.yml
139
+ - test/test_app/config/application.rb
140
+ - test/test_app/config/boot.rb
141
+ - test/test_app/config/environment.rb
131
142
  - test/test_app/config/initializers/dom_glancy_initializer.rb
132
143
  - test/test_app/config/routes.rb
133
- - test/test_app/test_app.rb
144
+ - test/test_app/script/rails
134
145
  - test/test_helper.rb
135
- - test/test_helpers/kracker_class_for_stubbing.rb
136
146
  - test/test_helpers/location_helpers.rb
137
147
  - test/test_objects/test_objects.rb
138
148
  - test/unit/analysis_test.rb
149
+ - test/unit/dom_glancy_test.rb
139
150
  - test/unit/element_test.rb
140
- - test/unit/kracker_test.rb
141
151
  - test/unit/location_test.rb
142
152
  - watchr_script.rb
143
153
  homepage: https://github.com/QuantumGeordie/dom_glancy
@@ -179,21 +189,23 @@ test_files:
179
189
  - test/selenium/viewer_test.rb
180
190
  - test/selenium_test_helper.rb
181
191
  - test/test_app/Gemfile
192
+ - test/test_app/Rakefile
182
193
  - test/test_app/app/assets/stylesheets/local_app.css
183
194
  - test/test_app/app/controllers/application_controller.rb
184
195
  - test/test_app/app/controllers/local_controller.rb
185
196
  - test/test_app/app/views/layouts/local.html.erb
186
197
  - test/test_app/app/views/local/index.html.erb
187
198
  - test/test_app/config.ru
188
- - test/test_app/config/database.yml
199
+ - test/test_app/config/application.rb
200
+ - test/test_app/config/boot.rb
201
+ - test/test_app/config/environment.rb
189
202
  - test/test_app/config/initializers/dom_glancy_initializer.rb
190
203
  - test/test_app/config/routes.rb
191
- - test/test_app/test_app.rb
204
+ - test/test_app/script/rails
192
205
  - test/test_helper.rb
193
- - test/test_helpers/kracker_class_for_stubbing.rb
194
206
  - test/test_helpers/location_helpers.rb
195
207
  - test/test_objects/test_objects.rb
196
208
  - test/unit/analysis_test.rb
209
+ - test/unit/dom_glancy_test.rb
197
210
  - test/unit/element_test.rb
198
- - test/unit/kracker_test.rb
199
211
  - test/unit/location_test.rb
@@ -1,7 +0,0 @@
1
- module DomGlancy
2
- module Rails
3
- class Engine < ::Rails::Engine
4
-
5
- end
6
- end
7
- end
@@ -1,13 +0,0 @@
1
- test:
2
- adapter: mysql2
3
- encoding: utf8
4
- reconnect: false
5
- database: dom_glancy_test
6
- pool: 5
7
- username: root
8
- password:
9
- development:
10
- adapter: sqlite3
11
- database: dom_glancy_development
12
- pool: 5
13
- timeout: 5000
@@ -1,30 +0,0 @@
1
- db_name = "dom_glancy_#{Rails.env}"
2
-
3
- `mysql -uroot -e "DROP DATABASE IF EXISTS #{db_name}; CREATE DATABASE IF NOT EXISTS #{db_name};"`
4
-
5
- log_file = File.expand_path(File.join(__FILE__, '..', 'log', '*'))
6
- `rm -rf #{log_file}`
7
-
8
- module DomGlancyApp
9
- class Application < Rails::Application
10
- config.root = File.expand_path(File.join(__FILE__, '..', '..', 'test_app'))
11
- config.eager_load = true
12
- config.cache_classes = true
13
- config.active_support.deprecation = :stderr
14
-
15
- # Enable the asset pipeline
16
- config.assets.enabled = true
17
-
18
- # Configure static asset server for tests with Cache-Control for performance
19
- config.serve_static_assets = true
20
- config.static_cache_control = "public, max-age=3600"
21
-
22
- # Configure cookies
23
- config.secret_token = (('a'..'z').to_a * 2).join
24
- config.session_store :cookie_store
25
-
26
- I18n.enforce_available_locales = false
27
- end
28
- end
29
-
30
- DomGlancyApp::Application.initialize!
@@ -1,3 +0,0 @@
1
- class DomGlancyClassForStubbing
2
- include DomGlancy
3
- end