ae 1.7.1 → 1.7.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.
Files changed (7) hide show
  1. data/.ruby +5 -1
  2. data/HISTORY.rdoc +18 -1
  3. data/lib/ae.rb +18 -0
  4. data/lib/ae.yml +5 -1
  5. data/lib/ae/assertor.rb +18 -5
  6. metadata +23 -12
  7. data/Redfile +0 -82
data/.ruby CHANGED
@@ -24,6 +24,10 @@ resources:
24
24
  maintainers: []
25
25
 
26
26
  requires:
27
+ - group: []
28
+
29
+ name: ansi
30
+ version: 0+
27
31
  - group:
28
32
  - build
29
33
  name: redline
@@ -33,7 +37,7 @@ requires:
33
37
  name: qed
34
38
  version: 0+
35
39
  manifest: MANIFEST
36
- version: 1.7.1
40
+ version: 1.7.2
37
41
  licenses:
38
42
  - Apache 2.0
39
43
  copyright: Copyright (c) 2008 Thomas Sawyer
@@ -1,14 +1,31 @@
1
1
  = RELEASE HISTORY
2
2
 
3
+ == 1.7.2 / 2011-06-02
4
+
5
+ Minor release adds color diffs for failed equality comparisons to
6
+ the error message, and it fixes an issue in which class references
7
+ needed the toplevel prefix (`::`) to ensure they can be found in
8
+ all cases. Note that ANSI color diffs can be deactivated via
9
+ AE.ansi = false or using the master switch an upcoming release
10
+ of the ANSI gem.
11
+
12
+ Changes:
13
+
14
+ * Add toplevel prefix (`::`) to class references in assertor.rb.
15
+ * Provide ANSI colored diffs for failed equality comparisons.
16
+
17
+
3
18
  == 1.7.1 / 2011-05-06
4
19
 
5
20
  This release adds a specialized message for certain comparision
6
21
  operators to allow them have a more forensic output. This is done
7
- via ANSI::Diff library.
22
+ via ANSI::Diff library. This release also deprecateds the optional
23
+ dot.rb and detest.rb emulation scripts.
8
24
 
9
25
  Changes:
10
26
 
11
27
  * Add special message for comparison assertions.
28
+ * Remove optional dot.rb and detest.rb emulation scripts.
12
29
 
13
30
 
14
31
  == 1.7.0 / 2011-04-28
data/lib/ae.rb CHANGED
@@ -24,6 +24,24 @@ module AE
24
24
  $VERBOSE = verbose
25
25
  end
26
26
 
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
+
27
45
  end
28
46
 
29
47
  require 'ae/version'
data/lib/ae.yml CHANGED
@@ -24,6 +24,10 @@ resources:
24
24
  maintainers: []
25
25
 
26
26
  requires:
27
+ - group: []
28
+
29
+ name: ansi
30
+ version: 0+
27
31
  - group:
28
32
  - build
29
33
  name: redline
@@ -33,7 +37,7 @@ requires:
33
37
  name: qed
34
38
  version: 0+
35
39
  manifest: MANIFEST
36
- version: 1.7.1
40
+ version: 1.7.2
37
41
  licenses:
38
42
  - Apache 2.0
39
43
  copyright: Copyright (c) 2008 Thomas Sawyer
@@ -1,5 +1,6 @@
1
1
  require 'ae/assertion'
2
2
  require 'ae/basic_object'
3
+ require 'ansi/diff'
3
4
 
4
5
  module AE
5
6
 
@@ -71,7 +72,7 @@ module AE
71
72
  # The intent of the method is to raise an assertion failure
72
73
  # class that the test framework supports.
73
74
  def self.raise_assertion(error, negated, backtrace=nil)
74
- if not Exception === error
75
+ if not ::Exception === error
75
76
  error = assertion_error.new(error)
76
77
  end
77
78
  error.set_negative(negated)
@@ -307,10 +308,18 @@ module AE
307
308
  COMPARISON_OPERATORS = { :"==" => :"!=" }
308
309
 
309
310
  # Message to use when making a comparion assertion.
311
+ #
312
+ # NOTE: This message utilizes the ANSI gem to produce colorized
313
+ # comparisons. If you need to remove color output (for non-ANSI
314
+ # terminals) you can either set `AE.ansi = false` or use the
315
+ # ANSI library's master switch to deactive all ANSI codes,
316
+ # which can be set in your test helper.
317
+ #
318
+ # @see http://rubyworks.github.com/ansi
310
319
  def compare_message(operator, *args, &blk)
311
320
  return nil unless COMPARISON_OPERATORS.key?(operator)
312
321
  prefix = ""
313
- a, b = @delegate, args.first
322
+ a, b = @delegate.inspect, args.first.inspect
314
323
  if @negated
315
324
  op = COMPARISON_OPERATORS[operator]
316
325
  if op
@@ -319,11 +328,15 @@ module AE
319
328
  prefix = "NOT "
320
329
  end
321
330
  end
331
+ if AE.ansi?
332
+ diff = ::ANSI::Diff.new(a,b)
333
+ a = diff.diff1
334
+ b = diff.diff2
335
+ end
322
336
  if a.size > 13 or b.size > 13
323
- diff = ANSI::Diff.new(a,b)
324
- prefix + "a #{operator} b\na) " + diff.diff1 + "\nb) " + diff.diff2
337
+ prefix + "a #{operator} b\na) " + a + "\nb) " + b
325
338
  else
326
- prefix + "#{a.inspect} #{operator} #{b.inspect}"
339
+ prefix + "#{a} #{operator} #{b}"
327
340
  end
328
341
  end
329
342
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ae
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
5
- prerelease: false
4
+ hash: 15
5
+ prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 7
9
- - 1
10
- version: 1.7.1
9
+ - 2
10
+ version: 1.7.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Thomas Sawyer
@@ -15,11 +15,10 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-05-07 00:00:00 -04:00
19
- default_executable:
18
+ date: 2011-06-03 00:00:00 Z
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
- name: redline
21
+ name: ansi
23
22
  prerelease: false
24
23
  requirement: &id001 !ruby/object:Gem::Requirement
25
24
  none: false
@@ -30,10 +29,10 @@ dependencies:
30
29
  segments:
31
30
  - 0
32
31
  version: "0"
33
- type: :development
32
+ type: :runtime
34
33
  version_requirements: *id001
35
34
  - !ruby/object:Gem::Dependency
36
- name: qed
35
+ name: redline
37
36
  prerelease: false
38
37
  requirement: &id002 !ruby/object:Gem::Requirement
39
38
  none: false
@@ -46,6 +45,20 @@ dependencies:
46
45
  version: "0"
47
46
  type: :development
48
47
  version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: qed
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
60
+ type: :development
61
+ version_requirements: *id003
49
62
  description: Assertive Expressive is an assertions library specifically designed for reuse by other test frameworks.
50
63
  email: transfire@gmail.com
51
64
  executables: []
@@ -87,9 +100,7 @@ files:
87
100
  - HISTORY.rdoc
88
101
  - APACHE2.txt
89
102
  - README.rdoc
90
- - Redfile
91
103
  - NOTICE.rdoc
92
- has_rdoc: true
93
104
  homepage: http://rubyworks.github.com/ae
94
105
  licenses:
95
106
  - Apache 2.0
@@ -122,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
122
133
  requirements: []
123
134
 
124
135
  rubyforge_project: ae
125
- rubygems_version: 1.3.7
136
+ rubygems_version: 1.8.2
126
137
  signing_key:
127
138
  specification_version: 3
128
139
  summary: Assertive Expressive
data/Redfile DELETED
@@ -1,82 +0,0 @@
1
- ---
2
- gem:
3
- service: Gem
4
- active : true
5
-
6
- dnote:
7
- service : DNote
8
- loadpath : ~
9
- labels : ~
10
- output : ~
11
- format : ~
12
- active : true
13
-
14
- stats:
15
- service : Stats
16
- title : ~
17
- loadpath : ~
18
- exclude : ~
19
- output : ~
20
- active : true
21
-
22
- rdoc:
23
- service : rdoc
24
- format : redfish
25
- exclude : [Redfile, Profile, MANIFEST, Version]
26
- output : site/doc/api
27
-
28
- ri:
29
- service: RI
30
- include: ~
31
- exclude: ~
32
- output : .ri
33
- active : true
34
-
35
- qedoc:
36
- service: custom
37
- cycle: main
38
- document: |
39
- puts `qedoc -o site/doc/qed -t "AE Demonstrandum" qed`
40
-
41
- testrb:
42
- service : testrb
43
- tests : ~
44
- exclude : ~
45
- loadpath : ~
46
- requires : ~
47
- live : false
48
- active : false
49
-
50
- grancher:
51
- service: Grancher
52
- active: true
53
- #sitemap:
54
- # - site
55
- # - [doc/rdoc, rdoc]
56
- # - [doc/qedoc, qedoc]
57
-
58
- gemcutter:
59
- active: true
60
-
61
- email:
62
- service : Email
63
- file : ~
64
- subject : ~
65
- mailto : ruby-talk@ruby-lang.org
66
- # from : transfire@gmail.com
67
- # server : <%= ENV['EMAIL_SERVER'] %>
68
- # port : <%= ENV['EMAIL_PORT'] %>
69
- # account : <%= ENV['EMAIL_ACCOUNT'] %>
70
- # domain : <%= ENV['EMAIL_DOMAIN'] %>
71
- # login : <%= ENV['EMAIL_LOGIN'] %>
72
- # secure : <%= ENV['EMAIL_SECURE'] %>
73
- active : true
74
-
75
- vclog:
76
- service : VClog
77
- format : html # xml, txt
78
- layout : rel # gnu
79
- typed : false
80
- output : ~
81
- active : false
82
-