blob: a113ad0b9135ade92dd3f3719f9a85d1887051f7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
require 'test/unit'
require 'mauve/datamapper'
require 'timecop'
require 'log4r'
require 'pp'
module Mauve
class TestOutputter < Log4r::Outputter
def initialize( _name, hash={})
@buffer = []
super
end
def pop ; @buffer.pop ; end
def shift ; @buffer.shift ; end
def write(data)
@buffer << data
end
def flush
print "\n" if @buffer.length > 0
while d = @buffer.shift
print d
end
end
end
end
module Mauve
class UnitTest < Test::Unit::TestCase
def setup
setup_logger
setup_time
end
def teardown
teardown_logger
teardown_time
end
def setup_logger
@logger = Log4r::Logger.new 'Mauve'
@outputter = Mauve::TestOutputter.new("test")
@outputter.formatter = Log4r::PatternFormatter.new( :pattern => "%d %l %m" )
@outputter.level = Log4r::DEBUG
@logger.outputters << @outputter
return @logger
end
def logger_pop
@outputter.pop
end
def teardown_logger
logger = Log4r::Logger['Mauve']
return if logger.nil?
o = logger.outputters.find{|o| o.name == "test"}
o.flush if o.respond_to?("flush")
# Delete the logger.
Log4r::Logger::Repository.instance.loggers.delete('Mauve')
end
def setup_database
DataMapper::Model.raise_on_save_failure = true
end
def teardown_database
DataObjects::Pooling.pools.each{|pool| pool.dispose}
end
def setup_time
Timecop.freeze(Time.local(2011,8,1,0,0,0,0))
end
def teardown_time
Timecop.return
end
def default_test
#
#
flunk("No tests specified") unless self.class == Mauve::UnitTest
end
end
end
|