Module: Testotron

Defined in:
lib/test.rb,
lib/testotron.rb,
lib/tests/http.rb,
lib/tests/smtp.rb

Defined Under Namespace

Modules: Tests Classes: Test, TestBuilder, TestFailed, TestRunner

Constant Summary collapse

TEST_CLASSES =
[ Tests::HTTP, Tests::SMTP ]

Class Method Summary collapse

Class Method Details

.test(*args) ⇒ Object



118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# File 'lib/testotron.rb', line 118

def self.test(*args)
	runner = TestRunner.new
	runner.quiet = true

	if block_given?
		return yield(TestBuilder.new(runner))
	else
		raise ArgumentError if args.empty?
		test = args.shift.to_sym
		raise KeyError, "Unknown test: #{test}" unless TEST_CLASSES.map { |x| x.const_get(:KEY).to_sym }.include?(test)
		TEST_CLASSES.each { |klass|
			if klass.const_get(:KEY).to_sym == test
				klass.new(*args).run(runner)
				break
			end
		}
	end
end