# File lib/test/unit/assertions.rb, line 1760 def convert(object) if object.is_a?(Exception) object = AssertExceptionHelper::WrappedException.new(object) end inspector = Inspector.new(object) if use_pp begin require 'pp' unless defined?(PP) begin return PP.pp(inspector, '').chomp rescue NameError end rescue LoadError self.use_pp = false end end inspector.inspect end
# File lib/test/unit/assertions.rb, line 1737 def delayed_diff(from, to) delayed_literal do from, to = prepare_for_diff(from, to) diff = "" if from.nil? or to.nil? diff ||= Diff.readable(from, to) if /^[-+]/ !~ diff diff = "" elsif /^[ ?]/ =~ diff or /(?:.*\n){2,}/ =~ diff diff = "\n\ndiff:\n#{diff}" else diff = "" end if Diff.need_fold?(diff) folded_diff = Diff.folded_readable(from, to) diff << "\n\nfolded diff:\n#{folded_diff}" end diff end end
# File lib/test/unit/assertions.rb, line 1665 def delayed_literal(&block) DelayedLiteral.new(block) end
# File lib/test/unit/assertions.rb, line 1706 def diff_target_string?(string) if string.respond_to?(:bytesize) string.bytesize < max_diff_target_string_size else string.size < max_diff_target_string_size end end
# File lib/test/unit/assertions.rb, line 1714 def ensure_diffable_string(string) if string.respond_to?(:encoding) and !string.encoding.ascii_compatible? string = string.dup.force_encoding("ASCII-8BIT") end string end
# File lib/test/unit/assertions.rb, line 1661 def literal(value) Literal.new(value) end
# File lib/test/unit/assertions.rb, line 1687 def max_diff_target_string_size return @@max_diff_target_string_size if @@max_diff_target_string_size size = ENV["TEST_UNIT_MAX_DIFF_TARGET_STRING_SIZE"] if size begin size = Integer(size) rescue ArgumentError size = nil end end size || MAX_DIFF_TARGET_STRING_SIZE end
# File lib/test/unit/assertions.rb, line 1702 def max_diff_target_string_size=(size) @@max_diff_target_string_size = size end
# File lib/test/unit/assertions.rb, line 1669 def maybe_container(value, &formatter) MaybeContainer.new(value, &formatter) end
# File lib/test/unit/assertions.rb, line 2044 def initialize(head, template_string, parameters) @head = head @template_string = template_string @parameters = parameters end
# File lib/test/unit/assertions.rb, line 1673 def normalize_tag(tag) case tag when /\A:/ tag[1..-1].intern when /\A`(.+)'\z/ $1.intern when String tag.intern else tag end end
# File lib/test/unit/assertions.rb, line 1722 def prepare_for_diff(from, to) if !from.is_a?(String) or !to.is_a?(String) from = convert(from) to = convert(to) end if diff_target_string?(from) and diff_target_string?(to) from = ensure_diffable_string(from) to = ensure_diffable_string(to) [from, to] else [nil, nil] end end
# File lib/test/unit/assertions.rb, line 2058 def add_period(string) (string =~ /\.\Z/ ? string : string + '.') end
# File lib/test/unit/assertions.rb, line 2050 def convert(object) self.class.convert(object) end
# File lib/test/unit/assertions.rb, line 2054 def template @template ||= Template.create(@template_string) end
# File lib/test/unit/assertions.rb, line 2062 def to_s message_parts = [] if (@head) head = @head.to_s unless(head.empty?) message_parts << add_period(head) end end tail = template.result(@parameters.collect{|e| convert(e)}) message_parts << tail unless(tail.empty?) message_parts.join("\n") end
Generated with the Darkfish Rdoc Generator 2.