ae 1.7.4 → 1.8.0
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 +38 -39
- data/.yardopts +7 -0
- data/HISTORY.rdoc +31 -16
- data/NOTICE.rdoc +33 -15
- data/README.rdoc +14 -19
- data/lib/ae.rb +12 -33
- data/lib/ae.yml +38 -39
- data/lib/ae/adapters/minitest.rb +25 -15
- data/lib/ae/adapters/testunit.rb +1 -1
- data/lib/ae/assert.rb +20 -9
- data/lib/ae/assertion.rb +8 -5
- data/lib/ae/assertor.rb +127 -68
- data/lib/ae/basic_object.rb +0 -1
- data/lib/ae/check.rb +138 -10
- data/lib/ae/expect.rb +3 -6
- data/lib/ae/legacy.rb +84 -8
- data/lib/ae/must.rb +20 -12
- data/lib/ae/pry.rb +9 -8
- data/lib/ae/should.rb +14 -9
- data/lib/ae/subjunctive.rb +5 -6
- data/lib/ae/version.rb +3 -1
- data/qed/03_assert.rdoc +12 -6
- metadata +63 -69
- data/APACHE2.txt +0 -206
- data/lib/ae/ok.rb +0 -38
data/.ruby
CHANGED
@@ -1,49 +1,48 @@
|
|
1
|
-
---
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
-
|
9
|
-
|
10
|
-
|
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:
|
11
14
|
- name: ansi
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
- name: redline
|
16
|
-
version: 0+
|
17
|
-
group:
|
15
|
+
- name: detroit
|
16
|
+
groups:
|
18
17
|
- build
|
18
|
+
development: true
|
19
19
|
- name: qed
|
20
|
-
|
21
|
-
group:
|
20
|
+
groups:
|
22
21
|
- test
|
22
|
+
development: true
|
23
|
+
dependencies: []
|
23
24
|
conflicts: []
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
- ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]
|
30
|
-
organization: Rubyworks
|
31
|
-
contact: trans <transfire@gmail.com>
|
32
|
-
created: 2008-08-17
|
33
|
-
copyright: Copyright (c) 2008 Thomas Sawyer
|
34
|
-
licenses:
|
35
|
-
- Apache 2.0
|
36
|
-
authors:
|
37
|
-
- Thomas Sawyer
|
38
|
-
maintainers: []
|
39
|
-
|
40
|
-
resources:
|
25
|
+
repositories:
|
26
|
+
- uri: git://github.com/rubyworks/ae.git
|
27
|
+
scm: git
|
28
|
+
name: upstream
|
29
|
+
resources:
|
41
30
|
home: http://rubyworks.github.com/ae
|
42
31
|
code: http://github.com/rubyworks/ae
|
43
|
-
docs: http://
|
32
|
+
docs: http://rubydoc.info/gems/ae
|
44
33
|
wiki: http://wiki.github.com/rubyworks/ae
|
45
34
|
bugs: http://github.com/rubyworks/ae/issues
|
46
35
|
mail: http://groups.google.com/group/rubyworks-mailinglist
|
47
|
-
|
48
|
-
|
49
|
-
|
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.0
|
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-03'
|
data/.yardopts
ADDED
data/HISTORY.rdoc
CHANGED
@@ -1,17 +1,32 @@
|
|
1
1
|
= RELEASE HISTORY
|
2
2
|
|
3
|
-
== 1.
|
3
|
+
== 1.8.0 / 2011-12-03 / Checkered Flag
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
This new release improves support for Proc-based assertions and
|
6
|
+
RSpec-style matchers. In addition, this release sees the optional
|
7
|
+
Check Ok/No library in a usable state. And, lastly, note the license
|
8
|
+
has been changed to BSD-2-Clause.
|
9
|
+
|
10
|
+
Changes:
|
11
|
+
|
12
|
+
* Finalize the Check mixin API.
|
13
|
+
* Improve Proc and RSpec-style matchers.
|
14
|
+
* Modernize the build configuration.
|
15
|
+
* Change licenses to BSD-2-Clause.
|
16
|
+
|
17
|
+
|
18
|
+
== 1.7.4 / 2011-06-08
|
19
|
+
|
20
|
+
Quick release fixes an issue due to Ruby 1.9+'s constant look-up
|
21
|
+
system. Yes, BasicObject has no clue. This is fixed using the
|
22
|
+
`const_missing` hook.
|
8
23
|
|
9
24
|
Changes:
|
10
25
|
|
11
26
|
* Add const_missing hook to Assertor class to redirect to
|
12
27
|
toplevel methods.
|
13
28
|
|
14
|
-
== 1.7.3
|
29
|
+
== 1.7.3 / 2011-06-06 / D-Day
|
15
30
|
|
16
31
|
This release simply adds a new optional help library, `ok.rb`.
|
17
32
|
The API is still in it's infancy, so it probably will change
|
@@ -39,9 +54,9 @@ Changes:
|
|
39
54
|
|
40
55
|
== 1.7.1 / 2011-05-06
|
41
56
|
|
42
|
-
This release adds a specialized message for certain
|
57
|
+
This release adds a specialized message for certain comparison
|
43
58
|
operators to allow them have a more forensic output. This is done
|
44
|
-
via ANSI::Diff library. This release also
|
59
|
+
via ANSI::Diff library. This release also deprecates the optional
|
45
60
|
dot.rb and detest.rb emulation scripts.
|
46
61
|
|
47
62
|
Changes:
|
@@ -55,7 +70,7 @@ Changes:
|
|
55
70
|
AE now uses proper namespace for all classes. In particular, the `Assertor`
|
56
71
|
class has become `AE::Assertor`. Only the `Assertion` class remains outside
|
57
72
|
the `AE` namespace, as it is now used to map to the current exception class
|
58
|
-
for raising assertions as defined by current test
|
73
|
+
for raising assertions as defined by current test framework. In addition,
|
59
74
|
AE's Kernel extensions, which are used to adapt AE for use with any given
|
60
75
|
test framework have been moved to the AE and AE::Assertor classes as
|
61
76
|
class methods along with AE's assertion count methods.
|
@@ -65,7 +80,7 @@ Changes:
|
|
65
80
|
* All AE classes use proper namespace.
|
66
81
|
* Framework methods moved to AE::Assertor class.
|
67
82
|
* Assertion count tracking methods moved to AE::Assertor class.
|
68
|
-
* AE::Assertion class simplified to a simple
|
83
|
+
* AE::Assertion class simplified to a simple subclass of Exception.
|
69
84
|
|
70
85
|
|
71
86
|
== 1.6.1 / 2010-11-05
|
@@ -85,7 +100,7 @@ Changes:
|
|
85
100
|
Support libraries defining toplevel methods, such as `legacy.rb`, now place
|
86
101
|
their methods in AE::World module instead of Object. AE::World needs to
|
87
102
|
to be included in the context desired for the testing framework used. This
|
88
|
-
is important to prevent
|
103
|
+
is important to prevent pollution of the Object namespace.
|
89
104
|
|
90
105
|
Changes:
|
91
106
|
|
@@ -99,7 +114,7 @@ Changes:
|
|
99
114
|
This release adds adapters for TestUnit, MiniTest and RSpec. AE worked with
|
100
115
|
them previously but AE assertions were seen as errors rather than nice
|
101
116
|
assertions. Likewise assertion counts were off in the final tally. These
|
102
|
-
adapters insert AE's counts so the
|
117
|
+
adapters insert AE's counts so the tally are correct.
|
103
118
|
|
104
119
|
In addition to this the Assertion class itself now acts as the final end
|
105
120
|
point for all assertions, which makes for a very clean interface.
|
@@ -129,7 +144,7 @@ Changes:
|
|
129
144
|
New release of AE adds support for RSpec-style matchers. This means
|
130
145
|
it should be usable with Shoulda 3.0 and any other matchers library.
|
131
146
|
This release also cleans up the underlying code, which is now
|
132
|
-
extremely clean. Lastly a
|
147
|
+
extremely clean. Lastly a small API change allows #assert to compare
|
133
148
|
it's argument to the return of it's block using #==, just as #expect
|
134
149
|
does using #===.
|
135
150
|
|
@@ -137,7 +152,7 @@ Changes:
|
|
137
152
|
|
138
153
|
* Add RSpec-style matchers support.
|
139
154
|
* Move #expect code to Assertor.
|
140
|
-
* #assert method can do equality
|
155
|
+
* #assert method can do equality comparison.
|
141
156
|
|
142
157
|
|
143
158
|
== 1.2.3 / 2010-06-07
|
@@ -153,7 +168,7 @@ Changes:
|
|
153
168
|
|
154
169
|
Version 1.2.2 simply add one new feature --the ability to
|
155
170
|
use 'object.assert = other' instead of 'object.assert == other'.
|
156
|
-
This was added simply
|
171
|
+
This was added simply because I found I often made the mistake
|
157
172
|
of a missing '=', and since #assert= has no definition, there
|
158
173
|
was no reason not to have behave accordingly.
|
159
174
|
|
@@ -180,10 +195,10 @@ Changes:
|
|
180
195
|
|
181
196
|
== 1.1.0 / 2009-09-06
|
182
197
|
|
183
|
-
This release provided two major
|
198
|
+
This release provided two major improvements. The first is
|
184
199
|
the #expect method which is similar to #assert, but uses
|
185
200
|
case equality (#===) for comparison. And second, an optional
|
186
|
-
library
|
201
|
+
library `ae/legacy.rb`, is has been added that provides
|
187
202
|
backward compatibility with Test::Unit assertions, should it
|
188
203
|
be needed.
|
189
204
|
|
data/NOTICE.rdoc
CHANGED
@@ -2,29 +2,47 @@
|
|
2
2
|
|
3
3
|
== AE
|
4
4
|
|
5
|
-
Copyright (c) 2008
|
5
|
+
Copyright:: (c) 2008 Thomas Sawyer
|
6
|
+
License: BSD-2-Clause
|
6
7
|
|
7
|
-
|
8
|
-
you may not use this file except in compliance with the License.
|
9
|
-
You may obtain a copy of the License at
|
8
|
+
Copyright 2008 Thomas Sawyer. All rights reserved.
|
10
9
|
|
11
|
-
|
10
|
+
Redistribution and use in source and binary forms, with or without modification, are
|
11
|
+
permitted provided that the following conditions are met:
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
1. Redistributions of source code must retain the above copyright notice, this list of
|
14
|
+
conditions and the following disclaimer.
|
15
|
+
|
16
|
+
2. Redistributions in binary form must reproduce the above copyright notice, this list
|
17
|
+
of conditions and the following disclaimer in the documentation and/or other materials
|
18
|
+
provided with the distribution.
|
19
|
+
|
20
|
+
THIS SOFTWARE IS PROVIDED BY Thomas Sawyer ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
21
|
+
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
22
|
+
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Thomas Sawyer OR
|
23
|
+
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
24
|
+
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
25
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
26
|
+
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
27
|
+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
28
|
+
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
29
|
+
|
30
|
+
The views and conclusions contained in the software and documentation are those of the
|
31
|
+
authors and should not be interpreted as representing official policies, either expressed
|
32
|
+
or implied, of Thoams Sawyer.
|
18
33
|
|
19
34
|
|
20
35
|
== BlankSlate
|
21
36
|
|
37
|
+
Copyright:: (c) 2004,2006 Jim Weirich
|
38
|
+
License:: Custom
|
39
|
+
|
22
40
|
AE::BasicObject is based on Jim Weirich's BlankSlate class.
|
23
41
|
|
24
|
-
Copyright 2004, 2006 by Jim Weirich (jim@weirichhouse.org).
|
25
|
-
All rights reserved.
|
42
|
+
Copyright 2004, 2006 by Jim Weirich (jim@weirichhouse.org).
|
43
|
+
All rights reserved.
|
26
44
|
|
27
|
-
Permission is granted for use, copying, modification, distribution,
|
28
|
-
and distribution of modified versions of this work as long as the
|
29
|
-
above copyright notice is included.
|
45
|
+
Permission is granted for use, copying, modification, distribution,
|
46
|
+
and distribution of modified versions of this work as long as the
|
47
|
+
above copyright notice is included.
|
30
48
|
|
data/README.rdoc
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
= Assertive Expressive
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
{home}[http://rubyworks.github.com/ae] |
|
4
|
+
{code}[http://github.com/rubyworks/ae] |
|
5
|
+
{docs}[http://rubydoc.info/gems/ae] |
|
6
|
+
{wiki}[http://wiki.github.com/rubyworks/ae] |
|
7
|
+
{bugs}[http://github.com/rubyworks/ae/issues] |
|
8
|
+
{mail}[http://googlegroups.com/group/rubyworks-mailinglist]
|
9
|
+
|
10
|
+
{<img src="http://travis-ci.org/rubyworks/ae.png" />}[http://travis-ci.org/rubyworks/ae]
|
5
11
|
|
6
12
|
|
7
13
|
== DESCRIPTION
|
@@ -21,16 +27,6 @@ intended for reuse by any TDD, BDD or similar system.
|
|
21
27
|
* Eats it's own dog food.
|
22
28
|
|
23
29
|
|
24
|
-
== RESOURCES
|
25
|
-
|
26
|
-
* home: http://rubyworks.github.com/ae
|
27
|
-
* code: http://github.com/rubyworks/ae
|
28
|
-
* docs: http://wiki.github.com/rubyworks/ae/docs/qed
|
29
|
-
* wiki: http://wiki.github.com/rubyworks/ae
|
30
|
-
* bugs: http://github.com/rubyworks/ae/issues
|
31
|
-
* mail: http://googlegroups.com/group/rubyworks-mailinglist
|
32
|
-
|
33
|
-
|
34
30
|
== SYNOPSIS
|
35
31
|
|
36
32
|
AE defines the method +assert+. It's is compatible with the method
|
@@ -126,9 +122,9 @@ a TestUnit legacy module.
|
|
126
122
|
|
127
123
|
require 'ae/legacy'
|
128
124
|
|
129
|
-
This provides a module AE::Legacy::Assertions which is included in AE::World
|
125
|
+
This provides a module `AE::Legacy::Assertions` which is included in AE::World
|
130
126
|
and can be mixed into your test environment to provide old-school assertion
|
131
|
-
methods
|
127
|
+
methods, e.g.
|
132
128
|
|
133
129
|
assert_equal(foo, bar, "it failed")
|
134
130
|
|
@@ -159,16 +155,15 @@ Windows users use 'ruby setup.rb all'.
|
|
159
155
|
|
160
156
|
== COPYRIGHTS & LICENSE
|
161
157
|
|
162
|
-
(
|
158
|
+
(BSD-2-Clause License)
|
163
159
|
|
164
160
|
Copyright (c) 2008,2010 Thomas Sawyer
|
165
161
|
|
166
162
|
Unless otherwise provided for by the originating author, this
|
167
|
-
program is distributed under the terms of the
|
168
|
-
|
163
|
+
program is distributed under the terms of the *BSD-2-Clause* license.
|
164
|
+
Portions of this program may be copyrighted by others.
|
169
165
|
|
170
|
-
|
171
|
-
NOTICE.rdoc file for details.
|
166
|
+
See the NOTICE.rdoc file for details.
|
172
167
|
|
173
168
|
AE is a Rubyworks[http://rubyworks.github.com] project.
|
174
169
|
|
data/lib/ae.rb
CHANGED
@@ -1,50 +1,29 @@
|
|
1
|
-
# Copyright (c) 2008,2011 Thomas Sawyer
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
|
15
|
-
# AE namespace.
|
16
1
|
module AE
|
17
2
|
|
3
|
+
# TODO: Should we really be reseting a constant for ::Assertion?
|
4
|
+
# How about using a variable instead?
|
5
|
+
|
18
6
|
# Set Assertion class. This is a convenience method
|
19
7
|
# for framework adapters, used to set the exception class
|
20
8
|
# that a framework uses to raise an assertion error.
|
9
|
+
#
|
10
|
+
# @param [Class] exception_class
|
11
|
+
# The Exception subclass used to raise assertions.
|
12
|
+
#
|
21
13
|
def self.assertion_error=(exception_class)
|
22
14
|
verbose, $VERBOSE = $VERBOSE, nil
|
23
15
|
Object.const_set(:Assertion, exception_class)
|
24
16
|
$VERBOSE = verbose
|
25
17
|
end
|
26
18
|
|
27
|
-
@ansi = true
|
28
|
-
|
29
|
-
#
|
30
|
-
def self.ansi?
|
31
|
-
@ansi
|
32
|
-
end
|
33
|
-
|
34
|
-
# To turn of ANSI colorized error messages off, set
|
35
|
-
# ansi to +false+ in your test helper.
|
36
|
-
#
|
37
|
-
# Example
|
38
|
-
#
|
39
|
-
# AE.ansi = false
|
40
|
-
#
|
41
|
-
def self.ansi=(boolean)
|
42
|
-
@ansi = boolean
|
43
|
-
end
|
44
|
-
|
45
19
|
end
|
46
20
|
|
47
21
|
require 'ae/version'
|
48
22
|
require 'ae/assert'
|
49
23
|
require 'ae/expect'
|
50
24
|
|
25
|
+
class ::Object
|
26
|
+
include AE::Assert
|
27
|
+
include AE::Expect
|
28
|
+
end
|
29
|
+
|
data/lib/ae.yml
CHANGED
@@ -1,49 +1,48 @@
|
|
1
|
-
---
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
-
|
9
|
-
|
10
|
-
|
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:
|
11
14
|
- name: ansi
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
- name: redline
|
16
|
-
version: 0+
|
17
|
-
group:
|
15
|
+
- name: detroit
|
16
|
+
groups:
|
18
17
|
- build
|
18
|
+
development: true
|
19
19
|
- name: qed
|
20
|
-
|
21
|
-
group:
|
20
|
+
groups:
|
22
21
|
- test
|
22
|
+
development: true
|
23
|
+
dependencies: []
|
23
24
|
conflicts: []
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
- ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]
|
30
|
-
organization: Rubyworks
|
31
|
-
contact: trans <transfire@gmail.com>
|
32
|
-
created: 2008-08-17
|
33
|
-
copyright: Copyright (c) 2008 Thomas Sawyer
|
34
|
-
licenses:
|
35
|
-
- Apache 2.0
|
36
|
-
authors:
|
37
|
-
- Thomas Sawyer
|
38
|
-
maintainers: []
|
39
|
-
|
40
|
-
resources:
|
25
|
+
repositories:
|
26
|
+
- uri: git://github.com/rubyworks/ae.git
|
27
|
+
scm: git
|
28
|
+
name: upstream
|
29
|
+
resources:
|
41
30
|
home: http://rubyworks.github.com/ae
|
42
31
|
code: http://github.com/rubyworks/ae
|
43
|
-
docs: http://
|
32
|
+
docs: http://rubydoc.info/gems/ae
|
44
33
|
wiki: http://wiki.github.com/rubyworks/ae
|
45
34
|
bugs: http://github.com/rubyworks/ae/issues
|
46
35
|
mail: http://groups.google.com/group/rubyworks-mailinglist
|
47
|
-
|
48
|
-
|
49
|
-
|
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.0
|
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-03'
|