Sha256: 658c34e4fb75d9020a8e0d7e1f9b4f47f0b9c5ba6343220fb103977f35e21da8
Contents?: true
Size: 666 Bytes
Versions: 6
Compression:
Stored size: 666 Bytes
Contents
class Object def context(description, options = {}, &block) superclass = options[:extend] || Screw::Unit::TestCase test_case_class = Class.new(superclass, &block) test_case_class.test_case_description = description Object.send(:const_set, unique_test_case_name(description.sanitize.camelize), test_case_class) end def unique_test_case_name(name, n=1) candidate_name = (n > 1 ? "#{name}#{n}" : name).to_sym if Object.const_defined?(candidate_name) unique_test_case_name(name, n + 1) else candidate_name end end alias :describe :context end class String def sanitize self.gsub(/[^\w]+/, "_") end end
Version data entries
6 entries across 6 versions & 1 rubygems