turnip_formatter 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -1
  3. data/Rakefile +13 -1
  4. data/lib/rspec/core/formatters/turnip_formatter/for_rspec2.rb +8 -13
  5. data/lib/rspec/core/formatters/turnip_formatter/for_rspec3.rb +8 -13
  6. data/lib/rspec/core/formatters/turnip_formatter.rb +6 -21
  7. data/lib/turnip_formatter/ext/turnip/rspec.rb +19 -77
  8. data/lib/turnip_formatter/printer/runtime_error.rb +7 -9
  9. data/lib/turnip_formatter/printer.rb +4 -4
  10. data/lib/turnip_formatter/scenario/base.rb +1 -5
  11. data/lib/turnip_formatter/scenario/failure.rb +24 -14
  12. data/lib/turnip_formatter/scenario/pending.rb +22 -16
  13. data/lib/turnip_formatter/step.rb +12 -6
  14. data/lib/turnip_formatter/step_template/base.rb +5 -1
  15. data/lib/turnip_formatter/step_template/exception.rb +14 -29
  16. data/lib/turnip_formatter/step_template/exception.slim +10 -0
  17. data/lib/turnip_formatter/step_template/source.rb +13 -11
  18. data/lib/turnip_formatter/template/exception.slim +8 -0
  19. data/lib/turnip_formatter/template/index.slim +86 -0
  20. data/lib/turnip_formatter/template/runtime_exception.slim +13 -0
  21. data/lib/turnip_formatter/template/scenario.slim +15 -0
  22. data/lib/turnip_formatter/template/step.slim +6 -0
  23. data/lib/turnip_formatter/template/step_multiline.slim +1 -0
  24. data/lib/turnip_formatter/template/step_outline.slim +6 -0
  25. data/lib/turnip_formatter/template/tab_feature_statistics.slim +18 -0
  26. data/lib/turnip_formatter/template/tab_speed_statistics.slim +16 -0
  27. data/lib/turnip_formatter/template/tab_tag_statistics.slim +18 -0
  28. data/lib/turnip_formatter/template/turnip_formatter.css +1 -0
  29. data/lib/turnip_formatter/template.rb +20 -35
  30. data/lib/turnip_formatter/version.rb +1 -1
  31. data/spec/support/example_helper.rb +16 -17
  32. data/spec/support/step_helper.rb +1 -1
  33. data/spec/turnip_formatter/printer/tab_speed_statistics_spec.rb +1 -1
  34. data/spec/turnip_formatter/scenario/failure_spec.rb +28 -1
  35. data/spec/turnip_formatter/scenario/pending_spec.rb +24 -1
  36. data/spec/turnip_formatter/step_template/exception_spec.rb +2 -2
  37. data/spec/turnip_formatter/template_spec.rb +114 -2
  38. data/turnip_formatter.gemspec +4 -5
  39. metadata +42 -54
  40. data/lib/turnip_formatter/template/exception.haml +0 -8
  41. data/lib/turnip_formatter/template/index.haml +0 -88
  42. data/lib/turnip_formatter/template/runtime_exception.haml +0 -13
  43. data/lib/turnip_formatter/template/scenario.haml +0 -14
  44. data/lib/turnip_formatter/template/step.haml +0 -6
  45. data/lib/turnip_formatter/template/step_multiline.haml +0 -1
  46. data/lib/turnip_formatter/template/step_outline.haml +0 -6
  47. data/lib/turnip_formatter/template/tab_feature_statistics.haml +0 -18
  48. data/lib/turnip_formatter/template/tab_speed_statistics.haml +0 -16
  49. data/lib/turnip_formatter/template/tab_tag_statistics.haml +0 -18
@@ -1,8 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
3
  require 'uri'
4
- require 'sass'
5
- require 'bootstrap-sass'
6
4
 
7
5
  module TurnipFormatter
8
6
  class Template
@@ -11,21 +9,28 @@ module TurnipFormatter
11
9
  TurnipFormatter.configuration.title
12
10
  end
13
11
 
12
+ def reset!
13
+ @js_code_list = []
14
+ @js_file_list = []
15
+ @css_code_list = []
16
+ @css_file_list = []
17
+ end
18
+
14
19
  def add_javascript(script)
15
20
  case
16
21
  when local_file?(script)
17
- add_javascript_code File.read(script)
22
+ js_code_list << File.read(script)
18
23
  when remote_url?(script)
19
- add_javascript_link script
24
+ js_file_list << script
20
25
  end
21
26
  end
22
27
 
23
28
  def add_stylesheet(stylesheet)
24
29
  case
25
30
  when local_file?(stylesheet)
26
- add_stylesheet_code File.read(stylesheet)
31
+ css_code_list << File.read(stylesheet)
27
32
  when remote_url?(stylesheet)
28
- add_stylesheet_link stylesheet
33
+ css_file_list << stylesheet
29
34
  end
30
35
  end
31
36
 
@@ -35,16 +40,16 @@ module TurnipFormatter
35
40
 
36
41
  def render_javascript_links
37
42
  js_file_list.map do |file|
38
- "<script src=\"#{file}\" type=\"text/javascript\"></script>"
43
+ "<script src=\"#{file}\"></script>"
39
44
  end.join("\n")
40
45
  end
41
46
 
42
47
  def render_stylesheet_codes
43
- TurnipFormatter.step_templates.each do |template|
44
- add_stylesheet_code(template.class.scss)
48
+ codes = TurnipFormatter.step_templates.map do |template|
49
+ template.class.css
45
50
  end
46
51
 
47
- css_code_list.join("\n")
52
+ codes.concat(css_code_list).join("\n")
48
53
  end
49
54
 
50
55
  def render_stylesheet_links
@@ -53,6 +58,8 @@ module TurnipFormatter
53
58
  end.join("\n")
54
59
  end
55
60
 
61
+ private
62
+
56
63
  def js_code_list
57
64
  @js_code_list ||= []
58
65
  end
@@ -69,28 +76,6 @@ module TurnipFormatter
69
76
  @css_file_list ||= []
70
77
  end
71
78
 
72
- def scss_option
73
- { syntax: :scss, style: :compressed }
74
- end
75
-
76
- private
77
-
78
- def add_javascript_code(code)
79
- js_code_list << code
80
- end
81
-
82
- def add_javascript_link(link)
83
- js_file_list << link
84
- end
85
-
86
- def add_stylesheet_code(code)
87
- css_code_list << Sass::Engine.new(code, scss_option).render
88
- end
89
-
90
- def add_stylesheet_link(file)
91
- css_file_list << file
92
- end
93
-
94
79
  def local_file?(path)
95
80
  File.exist? path
96
81
  end
@@ -98,15 +83,15 @@ module TurnipFormatter
98
83
  def remote_url?(path)
99
84
  uri = URI.parse(path)
100
85
  return true if %w(http https).include?(uri.scheme)
101
- return true if (uri.scheme.nil? && path.start_with?('//'))
86
+ return true if uri.scheme.nil? && path.start_with?('//')
102
87
  false
103
88
  rescue URI::InvalidURIError
104
- null
89
+ false
105
90
  end
106
91
  end
107
92
 
108
93
  (File.dirname(__FILE__) + '/template').tap do |dirname|
109
- add_stylesheet(dirname + '/turnip_formatter.scss')
94
+ add_stylesheet(dirname + '/turnip_formatter.css')
110
95
  add_javascript(dirname + '/turnip_formatter.js')
111
96
  end
112
97
  end
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
3
  module TurnipFormatter
4
- VERSION = '0.3.1'
4
+ VERSION = '0.3.2'
5
5
  end
@@ -4,25 +4,20 @@ module ExampleHelper
4
4
  end
5
5
 
6
6
  def failed_example
7
- example = base_example { expect(true).to be false }
8
- example.exception.backtrace.push ':in step:0 `'
9
- example
7
+ base_example { expect(true).to be false }
10
8
  end
11
9
 
12
10
  def pending_example
13
- if ::RSpec::Version::STRING >= '2.99.0'
14
- base_example { skip('No such step(0): ') }
15
- else
16
- base_example { pending('No such step(0): ') }
17
- end
18
- end
11
+ example = if ::RSpec::Version::STRING >= '2.99.0'
12
+ base_example { skip('No such step(0): ') }
13
+ else
14
+ base_example { pending('No such step(0): ') }
15
+ end
19
16
 
20
- def invalid_pending_example
21
- if ::RSpec::Version::STRING >= '2.99.0'
22
- base_example { skip('Pending') }
23
- else
24
- base_example { pending('Pending') }
25
- end
17
+ # Turnip::Rspec::Execute#run_step
18
+ example.metadata[:line_number] = 10
19
+ example.metadata[:location] = "#{example.metadata[:file_path]}:10"
20
+ example
26
21
  end
27
22
 
28
23
  private
@@ -31,14 +26,18 @@ module ExampleHelper
31
26
  group = ::RSpec::Core::ExampleGroup.describe('Feature').describe('Scenario')
32
27
  example = group.example('example', example_metadata, &assertion)
33
28
  example.metadata[:file_path] = '/path/to/hoge.feature'
34
- group.run(NoopObject.new)
29
+
30
+ instance_eval <<-EOS, example.metadata[:file_path], 10
31
+ group.run(NoopObject.new)
32
+ EOS
33
+
35
34
  example
36
35
  end
37
36
 
38
37
  def example_metadata
39
38
  {
40
39
  turnip_formatter: {
41
- steps: [ { name: 'Step 1', extra_args: [], keyword: 'When' } ],
40
+ steps: [Turnip::Builder::Step.new('Step 1', [], 1, 'When')],
42
41
  tags: []
43
42
  }
44
43
  }
@@ -22,6 +22,6 @@ module StepHelper
22
22
  end
23
23
 
24
24
  def step_description
25
- { name: 'StepName', keyword: 'Keyword', extra_args: ['Docstring'] }
25
+ Turnip::Builder::Step.new('StepName', ['Docstring'], 1, 'Keyword')
26
26
  end
27
27
  end
@@ -21,7 +21,7 @@ module TurnipFormatter::Printer
21
21
  expect(html).to have_tag "tbody tr:nth-child(#{index})" do
22
22
  with_tag 'td:nth-child(1) span', text: scenario.feature_name
23
23
  with_tag "td:nth-child(2) a[href='\##{scenario.id}']", text: scenario.name
24
- with_tag 'td:nth-child(3) span', text: scenario.run_time
24
+ with_tag 'td:nth-child(3) span', text: /#{scenario.run_time}/
25
25
  end
26
26
  end
27
27
  end
@@ -4,6 +4,29 @@ describe TurnipFormatter::Scenario::Failure do
4
4
  let(:example) { failed_example }
5
5
  let(:scenario) { described_class.new(example) }
6
6
 
7
+ describe '#steps' do
8
+ let(:example) do
9
+ example = failed_example
10
+ example.metadata[:turnip_formatter] = {
11
+ steps: [
12
+ Turnip::Builder::Step.new('Step 1', [], 1, 'When'),
13
+ Turnip::Builder::Step.new('Step 2', [], 3, 'When'),
14
+ Turnip::Builder::Step.new('Step 3', [], 10, 'When'), # failed line
15
+ Turnip::Builder::Step.new('Step 4', [], 11, 'When'),
16
+ Turnip::Builder::Step.new('Step 5', [], 12, 'When')
17
+ ],
18
+ tags: []
19
+ }
20
+ example
21
+ end
22
+
23
+ it 'should return steps that has status' do
24
+ expect = [:passed, :passed, :failed, :unexecuted, :unexecuted]
25
+ actual = scenario.steps.map(&:status)
26
+ expect(actual).to eq expect
27
+ end
28
+ end
29
+
7
30
  describe '#valid?' do
8
31
  subject { scenario.valid? }
9
32
 
@@ -13,7 +36,11 @@ describe TurnipFormatter::Scenario::Failure do
13
36
 
14
37
  context 'called by not turnip example' do
15
38
  let(:example) do
16
- failed_example.tap { |e| e.exception.backtrace.pop }
39
+ backtrace = failed_example.exception.backtrace.reject do |b|
40
+ b.include? failed_example.metadata[:file_path]
41
+ end
42
+
43
+ failed_example.tap { |e| e.exception.set_backtrace(backtrace) }
17
44
  end
18
45
 
19
46
  it { should be false }
@@ -4,6 +4,29 @@ describe TurnipFormatter::Scenario::Pending do
4
4
  let(:example) { pending_example }
5
5
  let(:scenario) { described_class.new(example) }
6
6
 
7
+ describe '#steps' do
8
+ let(:example) do
9
+ example = pending_example
10
+ example.metadata[:turnip_formatter] = {
11
+ steps: [
12
+ Turnip::Builder::Step.new('Step 1', [], 1, 'When'),
13
+ Turnip::Builder::Step.new('Step 2', [], 3, 'When'),
14
+ Turnip::Builder::Step.new('Step 3', [], 10, 'When'), # pending line
15
+ Turnip::Builder::Step.new('Step 4', [], 11, 'When'),
16
+ Turnip::Builder::Step.new('Step 5', [], 12, 'When')
17
+ ],
18
+ tags: []
19
+ }
20
+ example
21
+ end
22
+
23
+ it 'should return steps that has status' do
24
+ expect = [:passed, :passed, :pending, :unexecuted, :unexecuted]
25
+ actual = scenario.steps.map(&:status)
26
+ expect(actual).to eq expect
27
+ end
28
+ end
29
+
7
30
  describe '#valid?' do
8
31
  subject { scenario.valid? }
9
32
 
@@ -13,7 +36,7 @@ describe TurnipFormatter::Scenario::Pending do
13
36
 
14
37
  context 'called by not turnip example' do
15
38
  let(:example) do
16
- invalid_pending_example
39
+ pending_example.tap { |e| e.metadata[:line_number] = nil }
17
40
  end
18
41
 
19
42
  it { should be false }
@@ -16,7 +16,7 @@ describe TurnipFormatter::StepTemplate::Exception do
16
16
  it do
17
17
  expect(subject).to have_tag 'div.step_exception' do
18
18
  with_tag 'pre'
19
- with_tag 'ol > li', text: ':in step:0 `'
19
+ with_tag 'ol > li'
20
20
  end
21
21
  end
22
22
  end
@@ -26,7 +26,7 @@ describe TurnipFormatter::StepTemplate::Exception do
26
26
 
27
27
  it do
28
28
  expect(subject).to have_tag 'div.step_exception' do
29
- with_tag 'pre', text: 'No such step(0):'
29
+ with_tag 'pre', text: 'No such step(0): '
30
30
  with_tag 'ol > li'
31
31
  end
32
32
  end
@@ -1,6 +1,118 @@
1
1
  require 'spec_helper'
2
2
 
3
- module TurnipFormatter
4
- describe Template do
3
+ describe TurnipFormatter::Template do
4
+ let(:template) { described_class }
5
+
6
+ let(:local_js_path) do
7
+ Tempfile.open('local.js') do |f|
8
+ f.write('alert("local!");')
9
+ f.path
10
+ end
11
+ end
12
+
13
+ let(:local_css_path) do
14
+ Tempfile.open('local.css') do |f|
15
+ f.write('body { color: green; }')
16
+ f.path
17
+ end
18
+ end
19
+
20
+ let(:remote_js_path) { 'http://example.com/foo.js' }
21
+ let(:remote_css_path) { 'http://example.com/foo.css' }
22
+
23
+ before do
24
+ template.reset!
25
+ end
26
+
27
+ describe '.render_javascript_codes' do
28
+ subject { template.render_javascript_codes }
29
+
30
+ before do
31
+ template.add_javascript(path)
32
+ end
33
+
34
+ context 'added local javascript file' do
35
+ let(:path) { local_js_path }
36
+ it { should include 'alert("local!");' }
37
+ end
38
+
39
+ context 'add remote javascript file' do
40
+ let(:path) { remote_js_path }
41
+ it { should be_empty }
42
+ end
43
+ end
44
+
45
+ describe '.render_javascript_links' do
46
+ subject { template.render_javascript_links }
47
+
48
+ before do
49
+ template.add_javascript(path)
50
+ end
51
+
52
+ context 'added local javascript file' do
53
+ let(:path) { local_js_path }
54
+ it { should be_empty }
55
+ end
56
+
57
+ context 'add remote javascript file' do
58
+ let(:path) { remote_js_path }
59
+ it { should include %Q(<script src="#{path}"></script>) }
60
+ end
61
+
62
+ context 'add remote javascript file (no schema)' do
63
+ let(:path) { '//example.com/foo.js' }
64
+ it { should include %Q(<script src="#{path}"></script>) }
65
+ end
66
+
67
+ context 'add incorrect uri' do
68
+ let(:path) { 'http://e_xample.com/foo.js' }
69
+ it { should be_empty }
70
+ end
71
+ end
72
+
73
+ describe '.render_stylesheet_codes' do
74
+ subject { template.render_stylesheet_codes }
75
+
76
+ before do
77
+ template.add_stylesheet(path)
78
+ end
79
+
80
+ context 'added local stylesheet file' do
81
+ let(:path) { local_css_path }
82
+ it { should include 'body { color: green; }' }
83
+ end
84
+
85
+ context 'add remote stylesheet file' do
86
+ let(:path) { remote_css_path }
87
+ it { should be_empty }
88
+ end
89
+ end
90
+
91
+ describe '.render_stylesheet_links' do
92
+ subject { template.render_stylesheet_links }
93
+
94
+ before do
95
+ template.add_stylesheet(path)
96
+ end
97
+
98
+ context 'added local stylesheet file' do
99
+ let(:path) { local_js_path }
100
+ it { should be_empty }
101
+ end
102
+
103
+ context 'add remote stylesheet file' do
104
+ let(:path) { remote_css_path }
105
+ it { should include %Q(<link rel="stylesheet" href="#{path}">) }
106
+ end
107
+
108
+ context 'add remote stylesheet file (no schema)' do
109
+ let(:path) { '//example.com/foo.css' }
110
+ it { should include %Q(<link rel="stylesheet" href="#{path}">) }
111
+ end
112
+
113
+ context 'add incorrect uri' do
114
+ let(:path) { 'http://e_xample.com/foo.css' }
115
+ it { should be_empty }
116
+ end
5
117
  end
6
118
  end
@@ -18,15 +18,14 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^spec/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_dependency 'turnip', '~> 1.2.2'
22
- spec.add_dependency 'tilt'
23
- spec.add_dependency 'haml'
24
- spec.add_dependency 'sass'
25
- spec.add_dependency 'bootstrap-sass'
21
+ spec.add_dependency 'turnip', '~> 1.2.4'
22
+ spec.add_dependency 'slim'
26
23
  spec.add_dependency 'rspec', ['>=2.14.0', '<4.0']
27
24
  spec.add_development_dependency 'bundler', '~> 1.3'
28
25
  spec.add_development_dependency 'rake'
29
26
  spec.add_development_dependency 'rspec-html-matchers'
30
27
  spec.add_development_dependency 'coveralls'
31
28
  spec.add_development_dependency 'guard-rspec'
29
+ spec.add_development_dependency 'sass'
30
+ spec.add_development_dependency 'bootstrap-sass'
32
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: turnip_formatter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wataru MIYAGUNI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-30 00:00:00.000000000 Z
11
+ date: 2014-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: turnip
@@ -16,16 +16,16 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.2.2
19
+ version: 1.2.4
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.2.2
26
+ version: 1.2.4
27
27
  - !ruby/object:Gem::Dependency
28
- name: tilt
28
+ name: slim
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,41 +39,47 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: haml
42
+ name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 2.14.0
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: '4.0'
48
51
  type: :runtime
49
52
  prerelease: false
50
53
  version_requirements: !ruby/object:Gem::Requirement
51
54
  requirements:
52
55
  - - ">="
53
56
  - !ruby/object:Gem::Version
54
- version: '0'
57
+ version: 2.14.0
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: '4.0'
55
61
  - !ruby/object:Gem::Dependency
56
- name: sass
62
+ name: bundler
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
- - - ">="
65
+ - - "~>"
60
66
  - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :runtime
67
+ version: '1.3'
68
+ type: :development
63
69
  prerelease: false
64
70
  version_requirements: !ruby/object:Gem::Requirement
65
71
  requirements:
66
- - - ">="
72
+ - - "~>"
67
73
  - !ruby/object:Gem::Version
68
- version: '0'
74
+ version: '1.3'
69
75
  - !ruby/object:Gem::Dependency
70
- name: bootstrap-sass
76
+ name: rake
71
77
  requirement: !ruby/object:Gem::Requirement
72
78
  requirements:
73
79
  - - ">="
74
80
  - !ruby/object:Gem::Version
75
81
  version: '0'
76
- type: :runtime
82
+ type: :development
77
83
  prerelease: false
78
84
  version_requirements: !ruby/object:Gem::Requirement
79
85
  requirements:
@@ -81,41 +87,21 @@ dependencies:
81
87
  - !ruby/object:Gem::Version
82
88
  version: '0'
83
89
  - !ruby/object:Gem::Dependency
84
- name: rspec
90
+ name: rspec-html-matchers
85
91
  requirement: !ruby/object:Gem::Requirement
86
92
  requirements:
87
93
  - - ">="
88
94
  - !ruby/object:Gem::Version
89
- version: 2.14.0
90
- - - "<"
91
- - !ruby/object:Gem::Version
92
- version: '4.0'
93
- type: :runtime
94
- prerelease: false
95
- version_requirements: !ruby/object:Gem::Requirement
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- version: 2.14.0
100
- - - "<"
101
- - !ruby/object:Gem::Version
102
- version: '4.0'
103
- - !ruby/object:Gem::Dependency
104
- name: bundler
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - "~>"
108
- - !ruby/object:Gem::Version
109
- version: '1.3'
95
+ version: '0'
110
96
  type: :development
111
97
  prerelease: false
112
98
  version_requirements: !ruby/object:Gem::Requirement
113
99
  requirements:
114
- - - "~>"
100
+ - - ">="
115
101
  - !ruby/object:Gem::Version
116
- version: '1.3'
102
+ version: '0'
117
103
  - !ruby/object:Gem::Dependency
118
- name: rake
104
+ name: coveralls
119
105
  requirement: !ruby/object:Gem::Requirement
120
106
  requirements:
121
107
  - - ">="
@@ -129,7 +115,7 @@ dependencies:
129
115
  - !ruby/object:Gem::Version
130
116
  version: '0'
131
117
  - !ruby/object:Gem::Dependency
132
- name: rspec-html-matchers
118
+ name: guard-rspec
133
119
  requirement: !ruby/object:Gem::Requirement
134
120
  requirements:
135
121
  - - ">="
@@ -143,7 +129,7 @@ dependencies:
143
129
  - !ruby/object:Gem::Version
144
130
  version: '0'
145
131
  - !ruby/object:Gem::Dependency
146
- name: coveralls
132
+ name: sass
147
133
  requirement: !ruby/object:Gem::Requirement
148
134
  requirements:
149
135
  - - ">="
@@ -157,7 +143,7 @@ dependencies:
157
143
  - !ruby/object:Gem::Version
158
144
  version: '0'
159
145
  - !ruby/object:Gem::Dependency
160
- name: guard-rspec
146
+ name: bootstrap-sass
161
147
  requirement: !ruby/object:Gem::Requirement
162
148
  requirements:
163
149
  - - ">="
@@ -225,18 +211,20 @@ files:
225
211
  - lib/turnip_formatter/step.rb
226
212
  - lib/turnip_formatter/step_template/base.rb
227
213
  - lib/turnip_formatter/step_template/exception.rb
214
+ - lib/turnip_formatter/step_template/exception.slim
228
215
  - lib/turnip_formatter/step_template/source.rb
229
216
  - lib/turnip_formatter/template.rb
230
- - lib/turnip_formatter/template/exception.haml
231
- - lib/turnip_formatter/template/index.haml
232
- - lib/turnip_formatter/template/runtime_exception.haml
233
- - lib/turnip_formatter/template/scenario.haml
234
- - lib/turnip_formatter/template/step.haml
235
- - lib/turnip_formatter/template/step_multiline.haml
236
- - lib/turnip_formatter/template/step_outline.haml
237
- - lib/turnip_formatter/template/tab_feature_statistics.haml
238
- - lib/turnip_formatter/template/tab_speed_statistics.haml
239
- - lib/turnip_formatter/template/tab_tag_statistics.haml
217
+ - lib/turnip_formatter/template/exception.slim
218
+ - lib/turnip_formatter/template/index.slim
219
+ - lib/turnip_formatter/template/runtime_exception.slim
220
+ - lib/turnip_formatter/template/scenario.slim
221
+ - lib/turnip_formatter/template/step.slim
222
+ - lib/turnip_formatter/template/step_multiline.slim
223
+ - lib/turnip_formatter/template/step_outline.slim
224
+ - lib/turnip_formatter/template/tab_feature_statistics.slim
225
+ - lib/turnip_formatter/template/tab_speed_statistics.slim
226
+ - lib/turnip_formatter/template/tab_tag_statistics.slim
227
+ - lib/turnip_formatter/template/turnip_formatter.css
240
228
  - lib/turnip_formatter/template/turnip_formatter.js
241
229
  - lib/turnip_formatter/template/turnip_formatter.scss
242
230
  - lib/turnip_formatter/version.rb
@@ -1,8 +0,0 @@
1
- %dt&= title + ' Exception'
2
- %dd
3
- %pre&= exception.to_s
4
- %dt&= title + ' Exception Backtrace'
5
- %dd
6
- %ol
7
- - exception.backtrace.each do |line|
8
- %li&= line