daddy 0.1.6 → 0.1.7

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