ae 1.8.1 → 1.8.2
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/.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
|
+
[](http://travis-ci.org/rubyworks/ae)
|
11
|
+
[](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'
|