Class: ApprovalTests::Approvals
- Inherits:
-
Object
- Object
- ApprovalTests::Approvals
- Defined in:
- lib/approval_tests/approvals.rb
Class Attribute Summary collapse
-
.namer ⇒ Object
Returns the value of attribute namer.
Class Method Summary collapse
- .approve(data) ⇒ Object
- .approve_html(data) ⇒ Object
- .approve_list(label, list) ⇒ Object
- .approve_map(map) ⇒ Object
- .approve_with_writer(writer) ⇒ Object
- .approve_xml(data) ⇒ Object
- .get_default_reporter ⇒ Object
- .prepare_reporters ⇒ Object
- .reporter(reporter) ⇒ Object
- .single_use_reporter(reporter) ⇒ Object
- .unregister_last_reporter ⇒ Object
- .unregister_reporter(reporter) ⇒ Object
Class Attribute Details
.namer ⇒ Object
Returns the value of attribute namer.
6 7 8 |
# File 'lib/approval_tests/approvals.rb', line 6 def namer @namer end |
Class Method Details
.approve(data) ⇒ Object
30 31 32 |
# File 'lib/approval_tests/approvals.rb', line 30 def approve(data) approve_with_writer(TextWriter.new(data)) end |
.approve_html(data) ⇒ Object
34 35 36 |
# File 'lib/approval_tests/approvals.rb', line 34 def approve_html(data) approve_with_writer(HtmlWriter.new(data)) end |
.approve_list(label, list) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/approval_tests/approvals.rb', line 8 def approve_list(label, list) format = if list.empty? "#{label}.count = 0" else index = -1 list.reduce("") do |format, list_element| index += 1 format + "#{label}[#{index}] = #{list_element} \n" end end approve(format) end |
.approve_map(map) ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/approval_tests/approvals.rb', line 22 def approve_map(map) out = ""; map.keys.sort { |a,b| a.to_s <=> b.to_s }.each do |key| out += "[#{key}] = #{map[key]} \r" end approve(out) end |
.approve_with_writer(writer) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/approval_tests/approvals.rb', line 42 def approve_with_writer(writer) approver = FileApprover.new(writer, @namer) if approver.approve() approver.clean_up_after_success() else @reporter = get_default_reporter() approver.report_failure(@reporter) if @reporter.approved_when_reported() approver.clean_up_after_sucess() else approver.fail() end end end |
.approve_xml(data) ⇒ Object
38 39 40 |
# File 'lib/approval_tests/approvals.rb', line 38 def approve_xml(data) approve_with_writer(TextWriter.new(XmlWriter.pretty_xml(data))) end |
.get_default_reporter ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/approval_tests/approvals.rb', line 58 def get_default_reporter() @reporters ||= [] unless @reporters.empty? if @single_use @single_use = false return @reporters.pop end return @reporters.last end if defined? Spec::Mate TextMateReporter.instance else QuietReporter.instance end end |
.prepare_reporters ⇒ Object
79 80 81 82 83 |
# File 'lib/approval_tests/approvals.rb', line 79 def prepare_reporters @reporters ||= [] @reporters.pop if @single_use @single_use = false end |
.reporter(reporter) ⇒ Object
74 75 76 77 |
# File 'lib/approval_tests/approvals.rb', line 74 def reporter(reporter) prepare_reporters @reporters.push(reporter) end |
.single_use_reporter(reporter) ⇒ Object
85 86 87 88 89 |
# File 'lib/approval_tests/approvals.rb', line 85 def single_use_reporter(reporter) prepare_reporters @reporters.push(reporter) @single_use = true end |
.unregister_last_reporter ⇒ Object
95 96 97 |
# File 'lib/approval_tests/approvals.rb', line 95 def unregister_last_reporter() @reporters.pop() if @reporters end |
.unregister_reporter(reporter) ⇒ Object
91 92 93 |
# File 'lib/approval_tests/approvals.rb', line 91 def unregister_reporter(reporter) @reporters.remove(reporter) end |