ae 1.7.4 → 1.8.0
Sign up to get free protection for your applications and to get access to all the features.
- 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'
|