Class: GoldmasterTestCase
- Inherits:
-
ConcordionTestCase
- Object
- Test::Unit::TestCase
- ConcordionTestCase
- GoldmasterTestCase
- Includes:
- FailConditionally
- Defined in:
- lib/goldmaster_test_case.rb
Instance Method Summary collapse
-
#initialize(suite, conf = {}) ⇒ GoldmasterTestCase
constructor
A new instance of GoldmasterTestCase.
- #rcor_writer ⇒ Object
- #teardown ⇒ Object
- #test_spec ⇒ Object
- #writer ⇒ Object
Methods included from FailConditionally
Methods inherited from ConcordionTestCase
inherited, #is_trivial?, original_inherited, #test_something_trivial_to_shut_runit_up, #trivial
Methods included from Concordion::ConfigMethods
#bind_test_method_to, #default_config
Methods included from Concordion::InternalTestMethods
#assert_concordion_document, #assert_no_failures, #parse_spec, #report_spec, #run_spec, #show_failures
Methods included from Concordion::Utility
#concordion_arguments, #concordion_cmd_attr_exists?, #concordion_cmd_attr_for, #concordion_property_reference, #concordion_variable_name, #has_property_reference?, #instrumentation
Methods included from Concordion::StringUtility
#assignment, #attr_writer_method?, #concordion_assignment, #concordion_method_name, #ends_in_empty_parens?, #escape_single_quotes, #has_arguments?, #has_assignment?, #is_direct_method_call?
Methods included from Concordion::PluralToSingularUtility
Methods included from Concordion::SnakeCaseUtility
#snake_case, #snake_cased_goldmaster_name, #snake_cased_test_name
Methods included from Concordion::Constants
#concordion_command_attributes, #supported?
Constructor Details
#initialize(suite, conf = {}) ⇒ GoldmasterTestCase
Returns a new instance of GoldmasterTestCase.
18 19 20 21 22 23 24 |
# File 'lib/goldmaster_test_case.rb', line 18 def initialize(suite, conf = {}) @writer = Concordion::StringWriter.new config = ConcordionTestCase.default_config.merge(conf) @write_goldmaster = config[:write_goldmaster] super(suite, config) end |
Instance Method Details
#rcor_writer ⇒ Object
26 27 28 |
# File 'lib/goldmaster_test_case.rb', line 26 def rcor_writer @writer end |
#teardown ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/goldmaster_test_case.rb', line 38 def teardown fail_if_write_still_enabled(self.class, writer, @writer.data, snake_cased_goldmaster_name(self.class.to_s)) unless is_trivial? goldmaster = Concordion::Reader.new.read(snake_cased_goldmaster_name(self.class.to_s)) assert @writer.data.size > 0 diffs = Diff::LCS.diff(@writer.data, goldmaster) pos = diffs[0].entries[0].position context_exp = goldmaster.slice(pos - 50, 100) context_act = @writer.data.slice(pos - 50, 100) assert_equal @writer.data, goldmaster, "First difference at #{pos} bytes into goldmaster:\n(#{context_exp}) goldmaster vs\n(#{context_act}) actual" end end |
#test_spec ⇒ Object
29 30 31 |
# File 'lib/goldmaster_test_case.rb', line 29 def test_spec trivial end |
#writer ⇒ Object
33 34 35 |
# File 'lib/goldmaster_test_case.rb', line 33 def writer Concordion::Writer.new end |