Class: Test::Unit::Assertions::AssertionMessage::Template
- Inherits:
-
Object
- Object
- Test::Unit::Assertions::AssertionMessage::Template
- Defined in:
- lib/test/unit/assertions.rb
Instance Attribute Summary collapse
-
#count ⇒ Object
readonly
Returns the value of attribute count.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(parts) ⇒ Template
constructor
A new instance of Template.
- #result(parameters) ⇒ Object
Constructor Details
#initialize(parts) ⇒ Template
Returns a new instance of Template.
2226 2227 2228 2229 |
# File 'lib/test/unit/assertions.rb', line 2226 def initialize(parts) @parts = parts @count = parts.find_all{|e| e == '?'}.size end |
Instance Attribute Details
#count ⇒ Object (readonly)
Returns the value of attribute count.
2224 2225 2226 |
# File 'lib/test/unit/assertions.rb', line 2224 def count @count end |
Class Method Details
.create(string) ⇒ Object
2219 2220 2221 2222 |
# File 'lib/test/unit/assertions.rb', line 2219 def self.create(string) parts = (string ? string.scan(/(?=[^\\])\?|(?:\\\?|[^\?])+/m) : []) self.new(parts) end |
Instance Method Details
#result(parameters) ⇒ Object
2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 |
# File 'lib/test/unit/assertions.rb', line 2231 def result(parameters) raise "The number of parameters does not match the number of substitutions." if(parameters.size != count) params = parameters.dup = "" @parts.each do |part| if part == '?' param = params.shift if Object.const_defined?(:Encoding) += concatenatable(param, .encoding) else += param end else += part.gsub(/\\\?/m, '?') end end end |