daddy 0.1.6 → 0.1.7

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OWE4YWYwZTQ0ODgzYTlmMjY2YzgzYzkyNzc1OTE4MGUzNWFhN2YyNg==
4
+ MjljYjA5YjlmM2NiMWY0MmE1YjYxOWQ5MTU1OGE4MmM4ZjVkMzI5NA==
5
5
  data.tar.gz: !binary |-
6
- NDkyMzI2ZWFmYWU3Mjc2MmViZjc5MDJiODAzNzE0YTYyMTg0OTMxNg==
6
+ MTlkNmZiNDBjNjNmMDJmYjg5NDFmYTYxMTkzODRhMjhiMGE5MWY3Mg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- OWM3MGU0ODc5OTE2MjNmYmM5Nzk2NWQ2MjAyOGViYTg5NjFkZGVmMTczODQ1
10
- ZGQxM2NlMjQxNjBkNzU2ZTg3NWM0N2YyNWYzYzVjM2M5ZDViNjIzYmVlYWJi
11
- YmYzMzBiYzUyNjA4NjQ3M2FkMTI0MjIzNjMzNTU4MGI2Mzk2MTk=
9
+ YWE0YzE5OGY3ODYxYzZjMDgyNDE3ZDc1MGE2MGMyMDk5NTYwYTk5NTViYzk2
10
+ NjY3YTg1NjcwNmE4MmYxMGIxMDQxYThlY2U1MDhjOGRkMTgzZGQ5YmJjMjIy
11
+ YTdlZGRkMWVkOTBmZGVkMDUwNmVlMzJhMzJjMDQzYjMzYzA3OTI=
12
12
  data.tar.gz: !binary |-
13
- NDM5NDI5NjhiMTQ2ZWM4NWMzN2IwMTRmZjdkMWMzNjc3NWY1ZWE4OWMyMDVj
14
- ZmQ0NjQ4M2Q5ZTczNDE1NmY5YjljODY2NmI4NmU1Y2Y4YzlmZDcyNGU3MDZl
15
- ZTY2NjgzZTVhMGE4ZWQ1MDcwNmNlZmJhYjRjMDRlZGE0YmY1NGI=
13
+ MTFlZDc4ZTJmMzljYjNiOTE5NjU1ZjJhOTQwNGY0YTI2Njc5YjZmOTcwMjBh
14
+ ZDVmYjZmOGI4MTIzNTU3MjY4YTIxMGZiZWRkZjllMjFmNzQ1NzljMTM3MDk1
15
+ MTdhMmUzM2U5ZThiNDkzOTJhOGI0Y2JhZmY4YTE4NzdkMWY0NDg=
@@ -5,13 +5,7 @@ module Daddy
5
5
  module Assert
6
6
  def assert_url(path, params = {})
7
7
  # スクリーンショットの保存
8
- url_without_domain = remove_domain(current_url)
9
-
10
- begin
11
- capture url_without_domain
12
- rescue
13
- puts "URL: #{url_without_domain}"
14
- end
8
+ capture
15
9
 
16
10
  # パスのチェック
17
11
  re = path.gsub(/\//, '\/')
@@ -112,10 +106,7 @@ module Daddy
112
106
  end
113
107
  ret
114
108
  end
115
-
116
- def remove_domain(url)
117
- url.sub(/http:\/\/([^\/:]+)(:[0-9]+)?\/(.+)/) { "/#{$3}" }
118
- end
109
+
119
110
  end
120
111
  end
121
112
  end
@@ -10,10 +10,10 @@ module Daddy
10
10
  @@_screen_count = 0
11
11
  @@_browser_resized = false
12
12
 
13
- def capture(url = nil)
13
+ def capture
14
14
  pause
15
-
16
- url ||= remove_domain(current_url)
15
+
16
+ url = Rack::Utils.unescape(current_url)
17
17
 
18
18
  @@_screen_count += 1
19
19
 
@@ -30,7 +30,7 @@ module Daddy
30
30
  unless @@_browser_resized
31
31
  case Capybara.current_driver
32
32
  when :poltergeist
33
- # TODO
33
+ Capybara.current_session.driver.resize(width, height)
34
34
  when :selenium
35
35
  Capybara.current_session.driver.browser.manage.window.resize_to(width, height)
36
36
  when :webkit
@@ -0,0 +1,9 @@
1
+ function toggle_feature_dir(feature_dir) {
2
+ $(feature_dir).parent('div.feature_dir').nextUntil('div.feature_dir').toggle(250);
3
+ };
4
+
5
+ $(document).ready(function() {
6
+ $('div.feature_dir span').hover(function() {
7
+ $(this).css('cursor', 'pointer');
8
+ });
9
+ });
@@ -4,6 +4,31 @@ module Daddy
4
4
  module Formatter
5
5
  module DaddyHtml
6
6
 
7
+ def before_menu
8
+ if ENV['PUBLISH']
9
+ @builder << "<div>"
10
+
11
+ @builder.div(:id => 'menu') do
12
+ @builder << make_menu_for_publish
13
+ end
14
+
15
+ @builder << "<div class='contents'>"
16
+ end
17
+ end
18
+
19
+ def after_menu
20
+ if ENV['PUBLISH']
21
+ @builder << '</div>'
22
+ @builder << '</div>'
23
+ end
24
+ end
25
+
26
+ def make_menu_for_publish
27
+ menu = Rails.root + '/tmp/menu.html'
28
+ system("erb -T - #{File.dirname(__FILE__)}/menu.html.erb > #{menu}")
29
+ File.readlines(menu).join
30
+ end
31
+
7
32
  def feature_dir(feature, short = false)
8
33
  ret = ''
9
34
 
@@ -26,6 +26,7 @@ module Daddy
26
26
  @header_red = nil
27
27
  @delayed_messages = []
28
28
  @img_id = 0
29
+ @inside_outline = false
29
30
  end
30
31
 
31
32
  def embed(src, mime_type, label)
@@ -44,17 +45,26 @@ module Daddy
44
45
  end
45
46
  end
46
47
 
48
+
47
49
  def before_features(features)
48
50
  @step_count = features.step_count
49
51
 
50
- @builder.declare!(:DOCTYPE, :html)
52
+ # <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
53
+ @builder.declare!(
54
+ :DOCTYPE,
55
+ :html,
56
+ :PUBLIC,
57
+ '-//W3C//DTD XHTML 1.0 Strict//EN',
58
+ 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'
59
+ )
60
+
51
61
  @builder << '<html>'
52
- @builder << '<head>'
62
+ @builder.head do
53
63
  @builder.meta('http-equiv' => 'Content-Type', :content => 'text/html;charset=utf-8')
54
- @builder.title 'Daddy'
64
+ @builder.title 'Cucumber'
55
65
  inline_css
56
66
  inline_js
57
- @builder << '</head>'
67
+ end
58
68
  @builder << '<body>'
59
69
  @builder << "<!-- Step count #{@step_count}-->"
60
70
  @builder << '<div class="cucumber">'
@@ -75,31 +85,6 @@ module Daddy
75
85
  before_menu
76
86
  end
77
87
 
78
- def before_menu
79
- if ENV['PUBLISH']
80
- @builder << "<div>"
81
-
82
- @builder.div(:id => 'menu') do
83
- @builder << make_menu_for_publish
84
- end
85
-
86
- @builder << "<div class='contents'>"
87
- end
88
- end
89
-
90
- def after_menu
91
- if ENV['PUBLISH']
92
- @builder << '</div>'
93
- @builder << '</div>'
94
- end
95
- end
96
-
97
- def make_menu_for_publish
98
- menu = Rails.root + '/tmp/menu.html'
99
- system("erb -T - #{File.dirname(__FILE__)}/menu.html.erb > #{menu}")
100
- File.readlines(menu).join
101
- end
102
-
103
88
  def after_features(features)
104
89
  after_menu
105
90
  print_stats(features)
@@ -110,13 +95,16 @@ module Daddy
110
95
 
111
96
  def before_feature(feature)
112
97
  dir = feature_dir(feature)
113
- if @feature_dir != dir
114
- @builder << '<div class="feature_dir"><span class="val">'
115
- @builder << dir
116
- @builder << '</span></div>'
117
- end
98
+ if dir.present?
99
+ if @feature_dir != dir
100
+ @builder << '<div class="feature_dir"><span class="val" onclick="toggle_feature_dir(this);">'
101
+ @builder << dir
102
+ @builder << '</span></div>'
103
+ end
104
+
105
+ @feature_dir = dir
106
+ end
118
107
 
119
- @feature_dir = dir
120
108
  @feature = feature
121
109
  @exceptions = []
122
110
  @builder << '<div class="feature">'
@@ -233,6 +221,7 @@ module Daddy
233
221
  end
234
222
 
235
223
  def before_outline_table(outline_table)
224
+ @inside_outline = true
236
225
  @outline_row = 0
237
226
  @builder << '<table>'
238
227
  end
@@ -240,6 +229,7 @@ module Daddy
240
229
  def after_outline_table(outline_table)
241
230
  @builder << '</table>'
242
231
  @outline_row = nil
232
+ @inside_outline = false
243
233
  end
244
234
 
245
235
  def before_examples(examples)
@@ -259,7 +249,7 @@ module Daddy
259
249
  end
260
250
 
261
251
  def before_steps(steps)
262
- @builder << '<ol style="display: none;">'
252
+ @builder << '<ol>'
263
253
  end
264
254
 
265
255
  def after_steps(steps)
@@ -293,7 +283,7 @@ module Daddy
293
283
  @status = status
294
284
  return if @hide_this_step
295
285
  set_scenario_color(status)
296
-
286
+
297
287
  if ! @delayed_messages.empty? and status == :passed
298
288
  @builder << "<li id='#{@step_id}' class='step #{status} expand'>"
299
289
  else
@@ -415,7 +405,7 @@ module Daddy
415
405
  attributes = {:id => "#{@row_id}_#{@col_index}", :class => 'step'}
416
406
  attributes[:class] += " #{status}" if status
417
407
  build_cell(@cell_type, value, attributes)
418
- set_scenario_color(status)
408
+ set_scenario_color(status) if @inside_outline
419
409
  @col_index += 1
420
410
  end
421
411
 
@@ -429,7 +419,7 @@ module Daddy
429
419
 
430
420
  #@builder.ol do
431
421
  @delayed_messages.each_with_index do |ann, i|
432
- @builder.li(:id => "#{@step_number}_#{i}", :class => 'step message') do
422
+ @builder.li(:id => "#{@step_number}_#{i}", :class => 'step message', :style => 'display: none;') do
433
423
  @builder << ann
434
424
  end
435
425
  end
@@ -577,20 +567,15 @@ module Daddy
577
567
  end
578
568
 
579
569
  def inline_js
580
- @builder.script do
570
+ @builder.script(:type => 'text/javascript') do
581
571
  @builder << inline_jquery
572
+ @builder << inline_daddy
582
573
  @builder << inline_js_content
574
+
583
575
  if should_expand
584
576
  @builder << %w{
585
577
  $(document).ready(function() {
586
- $(SCENARIOS).siblings().show();
587
- $('li.message').hide();
588
- });
589
- }.join
590
- else
591
- @builder << %w{
592
- $(document).ready(function() {
593
- $('li.message').hide();
578
+ $('#expander').click();
594
579
  });
595
580
  }.join
596
581
  end
@@ -601,6 +586,10 @@ module Daddy
601
586
  File.read(File.dirname(__FILE__) + '/jquery-min.js')
602
587
  end
603
588
 
589
+ def inline_daddy
590
+ File.read(File.dirname(__FILE__) + '/daddy.js')
591
+ end
592
+
604
593
  def inline_js_content
605
594
  <<-EOF
606
595
 
@@ -615,7 +604,6 @@ module Daddy
615
604
  $("#collapser").css('cursor', 'pointer');
616
605
  $("#collapser").click(function() {
617
606
  $(SCENARIOS).siblings().hide();
618
- $('li.message').hide();
619
607
  });
620
608
 
621
609
  $("#expander").css('cursor', 'pointer');
@@ -646,7 +634,7 @@ module Daddy
646
634
  end
647
635
 
648
636
  def move_progress
649
- @builder << " <script>moveProgressBar('#{percent_done}');</script>"
637
+ @builder << " <script type=\"text/javascript\">moveProgressBar('#{percent_done}');</script>"
650
638
  end
651
639
 
652
640
  def percent_done
@@ -672,8 +660,8 @@ module Daddy
672
660
  end
673
661
 
674
662
  def print_stats(features)
675
- @builder << "<script>document.getElementById('duration').innerHTML = \"Finished in <strong>#{format_duration(features.duration)} seconds</strong>\";</script>"
676
- @builder << "<script>document.getElementById('totals').innerHTML = \"#{print_stat_string(features)}\";</script>"
663
+ @builder << "<script type=\"text/javascript\">document.getElementById('duration').innerHTML = \"Finished in <strong>#{format_duration(features.duration)} seconds</strong>\";</script>"
664
+ @builder << "<script type=\"text/javascript\">document.getElementById('totals').innerHTML = \"#{print_stat_string(features)}\";</script>"
677
665
  end
678
666
 
679
667
  def print_stat_string(features)
@@ -750,4 +738,4 @@ module Daddy
750
738
  end
751
739
  end
752
740
  end
753
- end
741
+ end
@@ -7,7 +7,7 @@ namespace :dad do
7
7
 
8
8
  desc "PhantomJSをインストールします。"
9
9
  task :install do
10
- name = 'phantomjs-1.9.0-linux-x86_64'
10
+ name = 'phantomjs-1.9.1-linux-x86_64'
11
11
  file = "#{name}.tar.bz2"
12
12
  unless File.exist?("tmp/#{file}")
13
13
  system("wget https://phantomjs.googlecode.com/files/#{file} -O tmp/#{file}")
@@ -11,7 +11,7 @@ namespace :dad do
11
11
  system("mkdir -p features/reports")
12
12
  system("rm -Rf features/reports/*")
13
13
 
14
- fail unless system("bundle exec rake dad:cucumber PUBLISH=true EXPAND=false features/開発日記")
14
+ fail unless system("bundle exec rake dad:cucumber PUBLISH=true features/開発日記")
15
15
  system("mkdir -p features/reports/diary")
16
16
  system("mv features/reports/index.html features/reports/diary")
17
17
  system("mv features/reports/images features/reports/diary")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: daddy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - ichy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-25 00:00:00.000000000 Z
11
+ date: 2013-08-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capybara
@@ -232,6 +232,7 @@ files:
232
232
  - lib/daddy/formatter/daddy_html.rb
233
233
  - lib/daddy/formatter/daddy.css
234
234
  - lib/daddy/formatter/cucumber.css
235
+ - lib/daddy/formatter/daddy.js
235
236
  - lib/daddy/formatter/jquery-min.js
236
237
  - lib/daddy/railtie.rb
237
238
  - lib/daddy/models/acts_as_like.rb