Sha256: 5749ea4773947e3af1fc358a49a4659413e4dcedebc7703eb402a58eeab74f4e

Contents?: true

Size: 734 Bytes

Versions: 4

Compression:

Stored size: 734 Bytes

Contents

# This module is to be included in unit tests that involve matching chunks.
# It provides a easy way to test whether a chunk matches a particular string
# and any the values of any fields that should be set after a match.
module ChunkMatch

  # Asserts a number of tests for the given type and text.
  def match(type, test_text, expected)
	pattern = type.pattern
    assert_match(pattern, test_text)
    pattern =~ test_text   # Previous assertion guarantees match
    chunk = type.new($~)
    
    # Test if requested parts are correct.
    for method_sym, value in expected do
      assert_respond_to(chunk, method_sym)
      assert_equal(value, chunk.method(method_sym).call, "Checking value of '#{method_sym}'")
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
Pimki-1.4.092 app/models/chunks/match.rb
Pimki-1.5.092 app/models/chunks/match.rb
Pimki-1.6.092 app/models/chunks/match.rb
Pimki-1.7.092 app/models/chunks/match.rb