delano-tryouts 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES.txt +6 -1
- data/README.rdoc +1 -1
- data/Rakefile +1 -1
- data/bin/sergeant +4 -0
- data/lib/tryouts/cli/run.rb +21 -21
- data/lib/tryouts/drill.rb +15 -1
- data/lib/tryouts/tryout.rb +45 -9
- data/lib/tryouts.rb +1 -2
- metadata +1 -1
data/CHANGES.txt
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
TRYOUTS, CHANGES
|
2
2
|
|
3
|
+
#### 0.5.1 (2009-06-13) ###############################
|
4
|
+
|
5
|
+
* ADDED: dream method is now available inside drill block
|
6
|
+
* ADDED: Drills that return true are assumed to pass
|
7
|
+
|
3
8
|
|
4
9
|
#### 0.5.0 (2009-06-07) ###############################
|
5
10
|
|
@@ -13,7 +18,7 @@ TRYOUTS, CHANGES
|
|
13
18
|
|
14
19
|
#### 0.4.1 (2009-06-07) ###############################
|
15
20
|
|
16
|
-
* CHANGE: The CLI output is no longer terrifyingly ugly
|
21
|
+
* CHANGE: The CLI output is no longer terrifyingly ugly
|
17
22
|
|
18
23
|
|
19
24
|
#### 0.4.0 (2009-06-05) ###############################
|
data/README.rdoc
CHANGED
data/Rakefile
CHANGED
data/bin/sergeant
CHANGED
@@ -19,6 +19,10 @@ module TryoutsCLI
|
|
19
19
|
default :run, :with_args
|
20
20
|
|
21
21
|
global :q, :quiet, "Decrease output"
|
22
|
+
global :V, :version, "Display version number" do
|
23
|
+
puts "Tryouts version: #{Tryouts::VERSION}"
|
24
|
+
exit 0
|
25
|
+
end
|
22
26
|
global :v, :verbose, "Increase output" do
|
23
27
|
@verbose ||= 0
|
24
28
|
@verbose += 1
|
data/lib/tryouts/cli/run.rb
CHANGED
@@ -146,26 +146,26 @@ class Tryouts::CLI::Run
|
|
146
146
|
`-=;_-' `-----' `-_;=-' -bodom-
|
147
147
|
}
|
148
148
|
PUG = %q{
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
149
|
+
__,-----._ ,-.
|
150
|
+
,' ,-. \`---. ,-----<._/
|
151
|
+
(,.-. o:.` )),"\\\-._ ,' `.
|
152
|
+
('"-` .\ \`:_ )\ `-;'-._ \
|
153
|
+
,,-. \` ; : \( `-' ) -._ : `:
|
154
|
+
( \ `._\\\ ` ; ; ` : )
|
155
|
+
\`. `-. __ , / \ ;, (
|
156
|
+
`.`-.___--' `- / ; | : |
|
157
|
+
`-' `-.`--._ ' ; |
|
158
|
+
(`--._`. ; /\ |
|
159
|
+
\ ' \ , ) :
|
160
|
+
| `--::---- \' ; ;|
|
161
|
+
\ .__,- ( ) : :|
|
162
|
+
\ : `------; \ | | ;
|
163
|
+
\ : / , ) | | (
|
164
|
+
\ \ `-^-| | / , ,\
|
165
|
+
) ) | -^- ; `-^-^'
|
166
|
+
_,' _ ; | |
|
167
|
+
/ , , ,' /---. :
|
168
|
+
`-^-^' ( : :,'
|
169
|
+
`-^--' -hrr-
|
170
170
|
}
|
171
171
|
end
|
data/lib/tryouts/drill.rb
CHANGED
@@ -48,11 +48,25 @@ class Tryouts
|
|
48
48
|
end
|
49
49
|
|
50
50
|
def run(context=nil)
|
51
|
-
return false if @dream.nil?
|
52
51
|
begin
|
53
52
|
print Tryouts::DRILL_MSG % @name
|
54
53
|
@reality = @sergeant.run @drill, context
|
54
|
+
# Store the stash from the drill block
|
55
55
|
@reality.stash = context.stash if context.respond_to? :stash
|
56
|
+
# Create or overwrite an existing dream if onw was defined in the block
|
57
|
+
if context.respond_to?(:dream) && context.has_dream?
|
58
|
+
@dream = Tryouts::Drill::Dream.new
|
59
|
+
@dream.output = context.dream
|
60
|
+
@dream.format = context.format unless context.format.nil?
|
61
|
+
@dream.rcode = context.rcode unless context.rcode.nil?
|
62
|
+
@dream.emsg = context.emsg unless context.emsg.nil?
|
63
|
+
end
|
64
|
+
|
65
|
+
# If the drill block returned true we assume success if there's no dream
|
66
|
+
if @dream.nil? && @reality.output == true
|
67
|
+
@dream = Tryouts::Drill::Dream.new
|
68
|
+
@dream.output = true
|
69
|
+
end
|
56
70
|
process_reality
|
57
71
|
rescue => ex
|
58
72
|
@reality.rcode = -2
|
data/lib/tryouts/tryout.rb
CHANGED
@@ -36,8 +36,19 @@ class Tryouts
|
|
36
36
|
# The before and after blocks are also run in this context.
|
37
37
|
class DrillContext
|
38
38
|
# An ordered Hash of stashed objects.
|
39
|
-
|
40
|
-
|
39
|
+
attr_writer :stash
|
40
|
+
# A value used as the dream output that will overwrite a predefined dream
|
41
|
+
attr_writer :dream
|
42
|
+
attr_writer :format
|
43
|
+
attr_writer :rcode
|
44
|
+
attr_writer :emsg
|
45
|
+
attr_writer :output
|
46
|
+
|
47
|
+
def initialize; @stash = Tryouts::HASH_TYPE.new; @has_dream = false; end
|
48
|
+
|
49
|
+
# Set to to true by DrillContext#dream
|
50
|
+
def has_dream?; @has_dream; end
|
51
|
+
|
41
52
|
# If called with no arguments, returns +@stash+.
|
42
53
|
# If called with arguments, it will add a new value to the +@stash+
|
43
54
|
# and return the new value. e.g.
|
@@ -45,13 +56,37 @@ class Tryouts
|
|
45
56
|
# stash :name, 'some value' # => 'some value'
|
46
57
|
#
|
47
58
|
def stash(*args)
|
48
|
-
if args.empty?
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
59
|
+
return @stash if args.empty?
|
60
|
+
@stash[args[0]] = args[1]
|
61
|
+
args[1]
|
62
|
+
end
|
63
|
+
|
64
|
+
# If called with no arguments, returns +@dream+.
|
65
|
+
# If called with one argument, it will overwrite +@dream+ with the
|
66
|
+
# first element. If called with two arguments, it will check if
|
67
|
+
# the second argument is a Symbol or Fixnum. If it's a Symbol it
|
68
|
+
# will assume it's +@format+. If it's a Fixnum, it will assume
|
69
|
+
# it's +@rcode+. If there's a there's a third argument and it's a
|
70
|
+
# Fixnum, it's assumed to be +@rcode+. In all cases, this method
|
71
|
+
# returns the value of +@dream+. e.g.
|
72
|
+
#
|
73
|
+
# dream 'some value' # => 'some value'
|
74
|
+
# dream :val1, :class, 1 # => :val1
|
75
|
+
#
|
76
|
+
def dream(*args)
|
77
|
+
return @dream if args.empty?
|
78
|
+
@has_dream = true
|
79
|
+
@dream = args.shift
|
80
|
+
@format = args.shift if args.first.is_a? Symbol
|
81
|
+
@rcode = args.shift if args.first.is_a? Fixnum
|
82
|
+
@emsg = args.shift if args.first.is_a? String
|
54
83
|
end
|
84
|
+
|
85
|
+
def output(*args); return @output if args.empty?; @output = args.first; end
|
86
|
+
def format(*args); return @format if args.empty?; @format = args.first; end
|
87
|
+
def rcode(*args); return @rcode if args.empty?; @rcode = args.first; end
|
88
|
+
def emsg(*args); return @emsg if args.empty?; @emsg = args.first; end
|
89
|
+
|
55
90
|
end
|
56
91
|
|
57
92
|
def initialize(name, dtype, command=nil, *args)
|
@@ -108,7 +143,8 @@ class Tryouts
|
|
108
143
|
puts drill.reality.backtrace, $/
|
109
144
|
end
|
110
145
|
else
|
111
|
-
puts '%24s' % ["[nodream]"]
|
146
|
+
puts '%24s: %s' % ["expected output", "[nodream]"]
|
147
|
+
puts '%24s: %s' % ["actual output", drill.reality.output.inspect]
|
112
148
|
end
|
113
149
|
|
114
150
|
end
|
data/lib/tryouts.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
|
2
|
-
require 'rubygems'
|
3
2
|
require 'ostruct'
|
4
3
|
require 'rye'
|
5
4
|
require 'yaml'
|
@@ -30,7 +29,7 @@ class Tryouts
|
|
30
29
|
# Raised when there is a problem loading or parsing a Tryouts::Drill::Dream object
|
31
30
|
class BadDreams < Exception; end
|
32
31
|
|
33
|
-
VERSION = "0.5.
|
32
|
+
VERSION = "0.5.1"
|
34
33
|
|
35
34
|
require 'tryouts/mixins'
|
36
35
|
require 'tryouts/tryout'
|