tryouts 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +2 -2
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'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tryouts
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Delano Mandelbaum
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-06-
|
12
|
+
date: 2009-06-13 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|