ae 1.8.1 → 1.8.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.ruby +0 -48
- data/{QED.rdoc → DEMO.rdoc} +0 -0
- data/{HISTORY.rdoc → HISTORY.md} +29 -18
- data/{NOTICE.rdoc → NOTICE.md} +3 -3
- data/{README.rdoc → README.md} +52 -53
- data/lib/ae.yml +42 -29
- data/lib/ae/assertor.rb +3 -3
- data/lib/ae/legacy.rb +12 -0
- metadata +33 -25
- data/qed/01_overview.rdoc +0 -92
- data/qed/02_assertion.rdoc +0 -4
- data/qed/03_assert.rdoc +0 -298
- data/qed/04_subjunctive.rdoc +0 -100
- data/qed/05_expect.rdoc +0 -104
- data/qed/06_counts.rdoc +0 -33
- data/qed/07_matchers.rdoc +0 -34
- data/qed/08_check.rdoc +0 -63
data/.ruby
CHANGED
@@ -1,48 +0,0 @@
|
|
1
|
-
---
|
2
|
-
source:
|
3
|
-
- meta
|
4
|
-
authors:
|
5
|
-
- name: Trans
|
6
|
-
email: transfire@gmail.com
|
7
|
-
copyrights:
|
8
|
-
- holder: Rubyworks
|
9
|
-
year: '2008'
|
10
|
-
license: BSD-2-Clause
|
11
|
-
replacements: []
|
12
|
-
alternatives: []
|
13
|
-
requirements:
|
14
|
-
- name: ansi
|
15
|
-
- name: detroit
|
16
|
-
groups:
|
17
|
-
- build
|
18
|
-
development: true
|
19
|
-
- name: qed
|
20
|
-
groups:
|
21
|
-
- test
|
22
|
-
development: true
|
23
|
-
dependencies: []
|
24
|
-
conflicts: []
|
25
|
-
repositories:
|
26
|
-
- uri: git://github.com/rubyworks/ae.git
|
27
|
-
scm: git
|
28
|
-
name: upstream
|
29
|
-
resources:
|
30
|
-
home: http://rubyworks.github.com/ae
|
31
|
-
code: http://github.com/rubyworks/ae
|
32
|
-
docs: http://rubydoc.info/gems/ae
|
33
|
-
wiki: http://wiki.github.com/rubyworks/ae
|
34
|
-
bugs: http://github.com/rubyworks/ae/issues
|
35
|
-
mail: http://groups.google.com/group/rubyworks-mailinglist
|
36
|
-
extra: {}
|
37
|
-
load_path:
|
38
|
-
- lib
|
39
|
-
revision: 0
|
40
|
-
created: '2008-08-17'
|
41
|
-
summary: Assertive Expressive
|
42
|
-
title: AE
|
43
|
-
version: 1.8.1
|
44
|
-
name: ae
|
45
|
-
description: ! "Assertive Expressive is an assertions library specifically designed
|
46
|
-
\nfor reuse by other test frameworks."
|
47
|
-
organization: Rubyworks
|
48
|
-
date: '2011-11-04'
|
data/{QED.rdoc → DEMO.rdoc}
RENAMED
File without changes
|
data/{HISTORY.rdoc → HISTORY.md}
RENAMED
@@ -1,6 +1,17 @@
|
|
1
|
-
|
1
|
+
# RELEASE HISTORY
|
2
2
|
|
3
|
-
|
3
|
+
## 1.8.2 / 2013-02-18
|
4
|
+
|
5
|
+
This release primarily fixes one bug --the assertions count
|
6
|
+
global variable wasn't all caps, which prevented assertions
|
7
|
+
from being counted correctly.
|
8
|
+
|
9
|
+
Changes:
|
10
|
+
|
11
|
+
* Fix $ASSERTION_COUNTS letter case.
|
12
|
+
|
13
|
+
|
14
|
+
## 1.8.1 / 2011-12-04
|
4
15
|
|
5
16
|
Fixed missing ae/ansi.rb file from distribution.
|
6
17
|
|
@@ -9,7 +20,7 @@ Changes:
|
|
9
20
|
* Update manifest, missing ae/ansi.rb
|
10
21
|
|
11
22
|
|
12
|
-
|
23
|
+
## 1.8.0 / 2011-12-03 / Checkered Flag
|
13
24
|
|
14
25
|
This new release improves support for Proc-based assertions and
|
15
26
|
RSpec-style matchers. In addition, this release sees the optional
|
@@ -24,7 +35,7 @@ Changes:
|
|
24
35
|
* Change licenses to BSD-2-Clause.
|
25
36
|
|
26
37
|
|
27
|
-
|
38
|
+
## 1.7.4 / 2011-06-08
|
28
39
|
|
29
40
|
Quick release fixes an issue due to Ruby 1.9+'s constant look-up
|
30
41
|
system. Yes, BasicObject has no clue. This is fixed using the
|
@@ -35,7 +46,7 @@ Changes:
|
|
35
46
|
* Add const_missing hook to Assertor class to redirect to
|
36
47
|
toplevel methods.
|
37
48
|
|
38
|
-
|
49
|
+
## 1.7.3 / 2011-06-06 / D-Day
|
39
50
|
|
40
51
|
This release simply adds a new optional help library, `ok.rb`.
|
41
52
|
The API is still in it's infancy, so it probably will change
|
@@ -46,7 +57,7 @@ Changes:
|
|
46
57
|
* Add option `ok` helper library.
|
47
58
|
|
48
59
|
|
49
|
-
|
60
|
+
## 1.7.2 / 2011-06-02
|
50
61
|
|
51
62
|
Minor release adds color diffs for failed equality comparisons to
|
52
63
|
the error message, and it fixes an issue in which class references
|
@@ -61,7 +72,7 @@ Changes:
|
|
61
72
|
* Provide ANSI colored diffs for failed equality comparisons.
|
62
73
|
|
63
74
|
|
64
|
-
|
75
|
+
## 1.7.1 / 2011-05-06
|
65
76
|
|
66
77
|
This release adds a specialized message for certain comparison
|
67
78
|
operators to allow them have a more forensic output. This is done
|
@@ -74,7 +85,7 @@ Changes:
|
|
74
85
|
* Remove optional dot.rb and detest.rb emulation scripts.
|
75
86
|
|
76
87
|
|
77
|
-
|
88
|
+
## 1.7.0 / 2011-04-28
|
78
89
|
|
79
90
|
AE now uses proper namespace for all classes. In particular, the `Assertor`
|
80
91
|
class has become `AE::Assertor`. Only the `Assertion` class remains outside
|
@@ -92,7 +103,7 @@ Changes:
|
|
92
103
|
* AE::Assertion class simplified to a simple subclass of Exception.
|
93
104
|
|
94
105
|
|
95
|
-
|
106
|
+
## 1.6.1 / 2010-11-05
|
96
107
|
|
97
108
|
This release has test passing for Ruby 1.9.2. Ruby 1.9.2 doesn't appear
|
98
109
|
to like &block and block_given? to be used in same method scope. It
|
@@ -104,7 +115,7 @@ Changes:
|
|
104
115
|
* Use `&block` and not `block_given?`.
|
105
116
|
|
106
117
|
|
107
|
-
|
118
|
+
## 1.6.0 / 2010-11-04
|
108
119
|
|
109
120
|
Support libraries defining toplevel methods, such as `legacy.rb`, now place
|
110
121
|
their methods in AE::World module instead of Object. AE::World needs to
|
@@ -118,7 +129,7 @@ Changes:
|
|
118
129
|
* In dot.rb `#true!`/`#false!` methods can take an error or error message.
|
119
130
|
|
120
131
|
|
121
|
-
|
132
|
+
## 1.5.0 / 2010-09-06
|
122
133
|
|
123
134
|
This release adds adapters for TestUnit, MiniTest and RSpec. AE worked with
|
124
135
|
them previously but AE assertions were seen as errors rather than nice
|
@@ -134,7 +145,7 @@ Changes:
|
|
134
145
|
* Move final assertion call to Assertion#test.
|
135
146
|
|
136
147
|
|
137
|
-
|
148
|
+
## 1.4.0 / 2010-09-02
|
138
149
|
|
139
150
|
Version 1.4 brings Ruby 1.9 compatibility. The Assertor class is now a
|
140
151
|
subclass of BasicObject. This fixes an issues Assertor would had
|
@@ -148,7 +159,7 @@ Changes:
|
|
148
159
|
* Add #refute= which works like `refute ==`.
|
149
160
|
|
150
161
|
|
151
|
-
|
162
|
+
## 1.3.0 / 2010-06-17
|
152
163
|
|
153
164
|
New release of AE adds support for RSpec-style matchers. This means
|
154
165
|
it should be usable with Shoulda 3.0 and any other matchers library.
|
@@ -164,7 +175,7 @@ Changes:
|
|
164
175
|
* #assert method can do equality comparison.
|
165
176
|
|
166
177
|
|
167
|
-
|
178
|
+
## 1.2.3 / 2010-06-07
|
168
179
|
|
169
180
|
This release is a quick fix, which adds a missing `require 'yaml'`.
|
170
181
|
|
@@ -173,7 +184,7 @@ Changes:
|
|
173
184
|
* Add missing require 'yaml'.
|
174
185
|
|
175
186
|
|
176
|
-
|
187
|
+
## 1.2.2 / 2010-06-06
|
177
188
|
|
178
189
|
Version 1.2.2 simply add one new feature --the ability to
|
179
190
|
use 'object.assert = other' instead of 'object.assert == other'.
|
@@ -191,7 +202,7 @@ Changes:
|
|
191
202
|
* Now distributed under MIT license.
|
192
203
|
|
193
204
|
|
194
|
-
|
205
|
+
## 1.2.0 / 2010-01-27
|
195
206
|
|
196
207
|
This release fixes '=~' assertions and now requires the
|
197
208
|
ae/expect library by default.
|
@@ -202,7 +213,7 @@ Changes:
|
|
202
213
|
* Fixed bug where #=~ did not work correctly against Assertor.
|
203
214
|
|
204
215
|
|
205
|
-
|
216
|
+
## 1.1.0 / 2009-09-06
|
206
217
|
|
207
218
|
This release provided two major improvements. The first is
|
208
219
|
the #expect method which is similar to #assert, but uses
|
@@ -218,7 +229,7 @@ Changes:
|
|
218
229
|
* Added backtrace parameter to flunk calls.
|
219
230
|
|
220
231
|
|
221
|
-
|
232
|
+
## 1.0.0 / 2009-09-03
|
222
233
|
|
223
234
|
This is the initial release of AE.
|
224
235
|
|
data/{NOTICE.rdoc → NOTICE.md}
RENAMED
@@ -1,6 +1,6 @@
|
|
1
|
-
|
1
|
+
# COPYRIGHT NOTICES
|
2
2
|
|
3
|
-
|
3
|
+
## AE
|
4
4
|
|
5
5
|
Copyright:: (c) 2008 Thomas Sawyer
|
6
6
|
License: BSD-2-Clause
|
@@ -32,7 +32,7 @@ License: BSD-2-Clause
|
|
32
32
|
or implied, of Thoams Sawyer.
|
33
33
|
|
34
34
|
|
35
|
-
|
35
|
+
## BlankSlate
|
36
36
|
|
37
37
|
Copyright:: (c) 2004,2006 Jim Weirich
|
38
38
|
License:: Custom
|
data/{README.rdoc → README.md}
RENAMED
@@ -1,22 +1,23 @@
|
|
1
|
-
|
1
|
+
# Assertive Expressive
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
[Homepage](http://rubyworks.github.com/ae) /
|
4
|
+
[Source Code](http://github.com/rubyworks/ae) /
|
5
|
+
[Documentation](http://rubydoc.info/gems/ae) /
|
6
|
+
[User Manual](http://wiki.github.com/rubyworks/ae) /
|
7
|
+
[Report Issue](http://github.com/rubyworks/ae/issues) /
|
8
|
+
[Mailing List](http://googlegroups.com/group/rubyworks-mailinglist) /
|
9
|
+
[IRC Channel](irc://irc.freenode.net/rubyworks)
|
10
|
+
[![Build Status](https://secure.travis-ci.org/rubyworks/qed.png)](http://travis-ci.org/rubyworks/ae)
|
11
|
+
[![Gem Version](https://badge.fury.io/rb/qed.png)](http://badge.fury.io/rb/ae)
|
9
12
|
|
10
|
-
{<img src="http://travis-ci.org/rubyworks/ae.png" />}[http://travis-ci.org/rubyworks/ae]
|
11
13
|
|
12
|
-
|
13
|
-
== DESCRIPTION
|
14
|
+
## About
|
14
15
|
|
15
16
|
Assertive Expressive (AE) is an assertions framework
|
16
17
|
intended for reuse by any TDD, BDD or similar system.
|
17
18
|
|
18
19
|
|
19
|
-
|
20
|
+
## Features
|
20
21
|
|
21
22
|
* Clear, simple and concise syntax.
|
22
23
|
* Uses higher-order functions and fluid notation.
|
@@ -27,43 +28,43 @@ intended for reuse by any TDD, BDD or similar system.
|
|
27
28
|
* Eats it's own dog food.
|
28
29
|
|
29
30
|
|
30
|
-
|
31
|
+
## Synopsis
|
31
32
|
|
32
|
-
AE defines the method
|
33
|
+
AE defines the method `assert`. It's is compatible with the method
|
33
34
|
as defined by Test::Unit and MiniTest, which verifies truth of a
|
34
35
|
single argument (and can accept an optional failure message).
|
35
36
|
|
36
|
-
|
37
|
+
assert(true)
|
37
38
|
|
38
|
-
In addition AE's
|
39
|
+
In addition AE's `assert` method has been extended to accept a block,
|
39
40
|
the result of which is likewise verified.
|
40
41
|
|
41
|
-
|
42
|
+
assert{true}
|
42
43
|
|
43
44
|
But the real power the AE's +assert+ method lies in it's use
|
44
45
|
without argument or block. In that case it returns an instance of
|
45
|
-
|
46
|
-
|
46
|
+
`Assertor`. An `Assertor` is an *Assertions Functor*, or
|
47
|
+
*Higher-Order Function*. It is a function that operates on
|
47
48
|
another function. With it, we can make assertions like so:
|
48
49
|
|
49
|
-
|
50
|
+
x.assert == y
|
50
51
|
|
51
|
-
|
52
|
+
a.assert.include? e
|
52
53
|
|
53
|
-
|
54
|
-
|
55
|
-
|
54
|
+
StandardError.assert.raised? do
|
55
|
+
...
|
56
|
+
end
|
56
57
|
|
57
58
|
And so forth. Any method can be used in conjunction with +assert+
|
58
59
|
to make an assertion. Eg.
|
59
60
|
|
60
|
-
|
61
|
-
|
62
|
-
|
61
|
+
class String
|
62
|
+
def daffy?
|
63
|
+
/daffy/i =~ self
|
64
|
+
end
|
63
65
|
end
|
64
|
-
end
|
65
66
|
|
66
|
-
|
67
|
+
"Daffy Duck".assert.daffy?
|
67
68
|
|
68
69
|
When an assertion fails an Assertion exception is raised. Any test
|
69
70
|
framework can catch this exception and process it accordingly.
|
@@ -75,10 +76,10 @@ Assertion class.
|
|
75
76
|
Please have a look at the QED and API documentation to learn more.
|
76
77
|
|
77
78
|
|
78
|
-
|
79
|
+
## Integration
|
79
80
|
|
80
81
|
Generally speaking, AE can be used with any test framework simply by putting
|
81
|
-
|
82
|
+
`require 'ae'` in a test helper script. However to fully
|
82
83
|
integrate with a test framework and ensure the test framework recognizes
|
83
84
|
AE assertions (as more than just exceptions) and to ensure assertion
|
84
85
|
counts are correct, a little extra interfacing code may be necessary.
|
@@ -86,9 +87,9 @@ counts are correct, a little extra interfacing code may be necessary.
|
|
86
87
|
Lucky for you AE has already done the leg work for the most common
|
87
88
|
test frameworks:
|
88
89
|
|
89
|
-
|
90
|
-
|
91
|
-
|
90
|
+
require 'ae/adapters/testunit'
|
91
|
+
require 'ae/adapters/minitest'
|
92
|
+
require 'ae/adapters/rspec'
|
92
93
|
|
93
94
|
(Note that Cucumber does not need an adapter.)
|
94
95
|
|
@@ -96,10 +97,10 @@ AE also includes a script that will automatically detect the current
|
|
96
97
|
test framework by checking for the existence of their respective
|
97
98
|
namespace modules.
|
98
99
|
|
99
|
-
|
100
|
+
require 'ae/adapter'
|
100
101
|
|
101
102
|
|
102
|
-
|
103
|
+
## Nomenclature
|
103
104
|
|
104
105
|
With AE, defining assertions centers around the #assert method. So
|
105
106
|
*assert* can be thought of as AE's primary _nomenclature_. However, variant
|
@@ -107,57 +108,55 @@ nomenclatures have been popularized by other test frameworks, in particular
|
|
107
108
|
*should* and *must*. If you prefer one of them terms, AE provides optional
|
108
109
|
libraries that can loaded for utilizing them.
|
109
110
|
|
110
|
-
|
111
|
-
|
111
|
+
require 'ae/should'
|
112
|
+
require 'ae/must'
|
112
113
|
|
113
114
|
By loading one of these scripts (or both) into your test system (e.g. via a test
|
114
115
|
helper script) you gain access to subjunctive terminology. See the API documentation
|
115
116
|
for the Subjunctive module for details.
|
116
117
|
|
117
118
|
|
118
|
-
|
119
|
+
## Legacy
|
119
120
|
|
120
121
|
To ease transition from TestUnit style assertion methods, AE provides
|
121
122
|
a TestUnit legacy module.
|
122
123
|
|
123
|
-
|
124
|
+
require 'ae/legacy'
|
124
125
|
|
125
126
|
This provides a module `AE::Legacy::Assertions` which is included in AE::World
|
126
127
|
and can be mixed into your test environment to provide old-school assertion
|
127
128
|
methods, e.g.
|
128
129
|
|
129
|
-
|
130
|
+
assert_equal(foo, bar, "it failed")
|
130
131
|
|
131
132
|
|
132
|
-
|
133
|
+
## Installation
|
133
134
|
|
134
|
-
|
135
|
+
### Gem Installs
|
135
136
|
|
136
137
|
Install AE in the usual fashion:
|
137
138
|
|
138
|
-
|
139
|
+
$ gem install ae
|
139
140
|
|
140
|
-
|
141
|
+
### Site Installs
|
141
142
|
|
142
143
|
Local installation requires Setup.rb.
|
143
144
|
|
144
|
-
|
145
|
+
$ gem install setup
|
145
146
|
|
146
147
|
Then download the tarball package from GitHub
|
147
148
|
and do:
|
148
149
|
|
149
|
-
|
150
|
-
|
151
|
-
|
150
|
+
$ tar -xvzf ae-1.0.0.tgz
|
151
|
+
$ cd ae-1.0.0.tgz
|
152
|
+
$ sudo setup.rb all
|
152
153
|
|
153
154
|
Windows users use 'ruby setup.rb all'.
|
154
155
|
|
155
156
|
|
156
|
-
|
157
|
-
|
158
|
-
(BSD-2-Clause License)
|
157
|
+
## Copyrights & License
|
159
158
|
|
160
|
-
Copyright (c) 2008
|
159
|
+
Copyright (c) 2008 Rubyworks. All rights reserved.
|
161
160
|
|
162
161
|
Unless otherwise provided for by the originating author, this
|
163
162
|
program is distributed under the terms of the *BSD-2-Clause* license.
|
@@ -165,5 +164,5 @@ Portions of this program may be copyrighted by others.
|
|
165
164
|
|
166
165
|
See the NOTICE.rdoc file for details.
|
167
166
|
|
168
|
-
AE is a Rubyworks
|
167
|
+
AE is a [Rubyworks](http://rubyworks.github.com) project.
|
169
168
|
|
data/lib/ae.yml
CHANGED
@@ -1,48 +1,61 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
|
2
|
+
revision: 2013
|
3
|
+
type: ruby
|
4
|
+
sources:
|
5
|
+
- var
|
4
6
|
authors:
|
5
7
|
- name: Trans
|
6
8
|
email: transfire@gmail.com
|
7
|
-
|
8
|
-
- holder: Rubyworks
|
9
|
-
year: '2008'
|
10
|
-
license: BSD-2-Clause
|
11
|
-
replacements: []
|
12
|
-
alternatives: []
|
9
|
+
organizations: []
|
13
10
|
requirements:
|
14
11
|
- name: ansi
|
15
|
-
-
|
16
|
-
groups:
|
12
|
+
- groups:
|
17
13
|
- build
|
18
14
|
development: true
|
19
|
-
|
20
|
-
|
15
|
+
name: detroit
|
16
|
+
- groups:
|
21
17
|
- test
|
22
18
|
development: true
|
23
|
-
|
19
|
+
name: qed
|
24
20
|
conflicts: []
|
21
|
+
alternatives: []
|
22
|
+
resources:
|
23
|
+
- type: home
|
24
|
+
uri: http://rubyworks.github.com/ae
|
25
|
+
label: Homepage
|
26
|
+
- type: code
|
27
|
+
uri: http://github.com/rubyworks/ae
|
28
|
+
label: Source Code
|
29
|
+
- type: docs
|
30
|
+
uri: http://rubydoc.info/gems/ae
|
31
|
+
label: Documentation
|
32
|
+
- type: wiki
|
33
|
+
uri: http://wiki.github.com/rubyworks/ae
|
34
|
+
label: User Guide
|
35
|
+
- type: bugs
|
36
|
+
uri: http://github.com/rubyworks/ae/issues
|
37
|
+
label: Issue Tracker
|
38
|
+
- type: mail
|
39
|
+
uri: http://groups.google.com/group/rubyworks-mailinglist
|
40
|
+
label: Mailing List
|
25
41
|
repositories:
|
26
|
-
-
|
42
|
+
- name: upstream
|
27
43
|
scm: git
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
- lib
|
39
|
-
revision: 0
|
44
|
+
uri: git://github.com/rubyworks/ae.git
|
45
|
+
categories: []
|
46
|
+
copyrights:
|
47
|
+
- holder: Rubyworks
|
48
|
+
year: '2008'
|
49
|
+
license: BSD-2-Clause
|
50
|
+
customs: []
|
51
|
+
paths:
|
52
|
+
lib:
|
53
|
+
- lib
|
40
54
|
created: '2008-08-17'
|
41
55
|
summary: Assertive Expressive
|
42
56
|
title: AE
|
43
|
-
version: 1.8.
|
57
|
+
version: 1.8.2
|
44
58
|
name: ae
|
45
59
|
description: ! "Assertive Expressive is an assertions library specifically designed
|
46
60
|
\nfor reuse by other test frameworks."
|
47
|
-
|
48
|
-
date: '2011-11-04'
|
61
|
+
date: '2013-02-18'
|