capybara-differ 0.1.1 → 0.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a4e1b27115e8f67ca29f21a0e1e05c7efedbd627
4
- data.tar.gz: d58903f136fcc969e60043271549dc8168c657a9
3
+ metadata.gz: da944f1ddac2de0f625a87481381c1bf50e75935
4
+ data.tar.gz: 3bd50c89ecda57360a1152ea77a9a95cabcac9b1
5
5
  SHA512:
6
- metadata.gz: 97004fa0e5a4244f1d10f6ddb98a80d054f400c9e0e40167a796eb983c79f26f62d7bbfdaaac0a590d8dbe00877c8004fbf75b281e928f8e3ebcbf84cd24c676
7
- data.tar.gz: 9311b8cc7da1de5520f0ccd149b4a72c32dd9c872093163f2f2ae6dde68487ae3d335eb214aeaf6c194d67eb9e95bfa43c9368a37c9e8f0885799d34e80bf2b8
6
+ metadata.gz: 30c4d6052314aab6cf43752b092c72fadb65cf0c065f536e5cf2818074153c569ba6acd29997dac1c20700277618ba8dec6392db5e8421ccbdd412609bec487a
7
+ data.tar.gz: ae72367a15a00623ccbe5f85142d43bb56efc98dbdf51d5639569a7b67fb52649c31a42fb74340c6637970f9675ac3cf35b0100c2cb922be8098cbb6c1f7cfde
data/README.md CHANGED
@@ -22,6 +22,53 @@ Expected use cases are
22
22
  * Tracking sites
23
23
  * visit -> save_page -> check_page
24
24
 
25
+ ### An example of tracking site
26
+
27
+ When you run the following commands periodically,
28
+
29
+ ```ruby
30
+ Capybara.save_path = 'tmp/capybara'
31
+ session = Capybara::Session.new(:selenium)
32
+ session.visit 'http://rubyonrails.org/'
33
+ session.check_page('rails_page')
34
+ ```
35
+
36
+ you could get the following output.
37
+
38
+ ```diff
39
+ Comparing two files
40
+ --- tmp/capybara/rails_page/20180407095217.html.beauty 2018-04-11 17:04:28.000000000 +0900
41
+ +++ tmp/capybara/rails_page/20180411170428.html.beauty 2018-04-11 17:04:28.000000000 +0900
42
+ @@ -21,5 +21,5 @@
43
+ <section>
44
+ <p class="mobile-center">
45
+ - <img src="/images/rails-logo.svg" width="220" height="78" alt="Ruby on Rails">
46
+ + <img src="/images/rails-logo.svg" alt="Ruby on Rails" height="78" width="220">
47
+ </p>
48
+ </section>
49
+ @@ -48,15 +48,15 @@
50
+ </section>
51
+ <section class="version">
52
+ - <p><a href="http://weblog.rubyonrails.org/2018/3/29/Rails-5-0-7-and-5-1-6-have-been-released/">
53
+ - Latest version — Rails 5.1.6
54
+ + <p><a href="http://weblog.rubyonrails.org/2018/4/9/Rails-5-2-0-final/">
55
+ + Latest version — Rails 5.2.0
56
+ <span class="hide-mobile">
57
+ - released March 29, 2018
58
+ + released April 9, 2018
59
+ </span></a></p>
60
+ <p class="show-mobile"><small>
61
+ - Released March 29, 2018
62
+ + Released April 9, 2018
63
+ </small></p>
64
+ </section>
65
+ <section class="video-container">
66
+ - <iframe src="https://www.youtube.com/embed/OaDhY_y8WTo" frameborder="0" allowfullscreen="" class="video"></iframe>
67
+ + <iframe src="https://www.youtube.com/embed/OaDhY_y8WTo" allowfullscreen="" class="video" frameborder="0"></iframe>
68
+ </section>
69
+ <section class="interior">
70
+ ```
71
+
25
72
  ### Dependencies
26
73
 
27
74
  * https://github.com/samg/diffy
@@ -37,7 +37,7 @@ module Capybara
37
37
  end
38
38
 
39
39
  node = doc.css(target_selector || default_selector)
40
- raise("Couldn't find the selector [#{target_selector}]") if node.empty?
40
+ raise("Couldn't find the selector [#{target_selector}] in #{file}") if node.empty?
41
41
  beautified_html = HtmlBeautifier.beautify(node.to_html)
42
42
 
43
43
  beautified_html_path = file + '.beauty'
@@ -61,10 +61,11 @@ module Capybara
61
61
  end
62
62
 
63
63
  def check_page(name, options = {})
64
- filename = File.join(name, Time.now.strftime('%Y%m%d%H%M%S') + '.html')
64
+ path_from_name = name.gsub(/[^a-z0-9\-_]+/i, '_')
65
+ filename = File.join(path_from_name, Time.now.strftime('%Y%m%d%H%M%S') + '.html')
65
66
  save_page(filename)
66
67
 
67
- base_dir = File.join([Capybara.save_path, name].compact)
68
+ base_dir = File.join([Capybara.save_path, path_from_name].compact)
68
69
  file_list = Dir[File.join(base_dir, '*.html')]
69
70
  old_html_path = options[:compare_with] == :previous ? file_list[-2] : file_list.first
70
71
  new_html_path = file_list.last
@@ -73,7 +74,7 @@ module Capybara
73
74
  if (result = comparator.compare).strip.size > 0
74
75
  puts result
75
76
  else
76
- puts "No difference on '#{name}' snapshots"
77
+ puts "No difference on '#{path_from_name}' snapshots"
77
78
  end
78
79
  end
79
80
  end
@@ -1,5 +1,5 @@
1
1
  module Capybara
2
2
  module Differ
3
- VERSION = "0.1.1"
3
+ VERSION = "0.1.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capybara-differ
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuho Yamaguchi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-04-05 00:00:00.000000000 Z
11
+ date: 2018-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capybara