qed 2.8.0 → 2.8.1
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 +2 -2
- data/COPYING.rdoc +31 -0
- data/HISTORY.rdoc +12 -0
- data/lib/qed.yml +2 -2
- data/lib/qed/document.rb +3 -0
- data/lib/qed/document/template.rhtml +11 -3
- data/lib/qed/qparser.rb +41 -0
- data/lib/qed/reporter/linear.rb +132 -0
- data/lib/qed/step.rb +2 -2
- data/qed/applique/ae.rb +1 -0
- data/qed/applique/quote.rdoc +8 -0
- metadata +21 -15
data/.ruby
CHANGED
@@ -42,10 +42,10 @@ revision: 0
|
|
42
42
|
created: '2009-06-16'
|
43
43
|
summary: Quod Erat Demonstrandum
|
44
44
|
title: QED
|
45
|
-
version: 2.8.
|
45
|
+
version: 2.8.1
|
46
46
|
scm_uri: http://github.com/rubyworks/qed/blob/master/
|
47
47
|
name: qed
|
48
48
|
description: ! 'QED (Quality Ensured Demonstrations) is a TDD/BDD framework
|
49
49
|
|
50
50
|
utilizing Literate Programming techniques.'
|
51
|
-
date: '2012-01
|
51
|
+
date: '2012-02-01'
|
data/COPYING.rdoc
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
= COPYRIGHT NOTICES
|
2
|
+
|
3
|
+
== QED
|
4
|
+
|
5
|
+
Copyright:: (c) 2009 Rubyworks, Thomas Sawyer
|
6
|
+
License:: BSD-2-Clause
|
7
|
+
Website:: http://rubyworks.github.com/qed
|
8
|
+
|
9
|
+
Copyright 2009 Rubyworks. All rights reserved.
|
10
|
+
|
11
|
+
Redistribution and use in source and binary forms, with or without
|
12
|
+
modification, are permitted provided that the following conditions are met:
|
13
|
+
|
14
|
+
* Redistributions of source code must retain the above copyright notice,
|
15
|
+
this list of conditions and the following disclaimer.
|
16
|
+
|
17
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
18
|
+
this list of conditions and the following disclaimer in the documentation
|
19
|
+
and/or other materials provided with the distribution.
|
20
|
+
|
21
|
+
THIS SOFTWARE IS PROVIDED BY Thomas Sawyer ``AS IS'' AND ANY EXPRESS
|
22
|
+
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
23
|
+
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
|
24
|
+
NO EVENT SHALL Thomas Sawyer OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
25
|
+
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
26
|
+
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
27
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
28
|
+
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
29
|
+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
30
|
+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31
|
+
|
data/HISTORY.rdoc
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
= RELEASE HISTORY
|
2
2
|
|
3
|
+
== 2.8.1 | 2012-02-01
|
4
|
+
|
5
|
+
This release fixes a bug in the parsing of `#=>` notation. It also
|
6
|
+
adds syntax highlighting to qedoc generated documentation. It does
|
7
|
+
this with highlight.js.
|
8
|
+
|
9
|
+
Changes:
|
10
|
+
|
11
|
+
* Fix parsing of `#=>`.
|
12
|
+
* Add highlight.js to qedocs.
|
13
|
+
|
14
|
+
|
3
15
|
== 2.8.0 | 2012-01-19
|
4
16
|
|
5
17
|
IMPORTANT: READ THIS RELEASE NOTICE! This release makes a minor
|
data/lib/qed.yml
CHANGED
@@ -42,10 +42,10 @@ revision: 0
|
|
42
42
|
created: '2009-06-16'
|
43
43
|
summary: Quod Erat Demonstrandum
|
44
44
|
title: QED
|
45
|
-
version: 2.8.
|
45
|
+
version: 2.8.1
|
46
46
|
scm_uri: http://github.com/rubyworks/qed/blob/master/
|
47
47
|
name: qed
|
48
48
|
description: ! 'QED (Quality Ensured Demonstrations) is a TDD/BDD framework
|
49
49
|
|
50
50
|
utilizing Literate Programming techniques.'
|
51
|
-
date: '2012-01
|
51
|
+
date: '2012-02-01'
|
data/lib/qed/document.rb
CHANGED
@@ -100,8 +100,6 @@
|
|
100
100
|
.wikistyle pre.console code{padding:0!important;font-size:100%!important;background-color:black!important;border:none!important;color:white!important;}
|
101
101
|
.wikistyle pre.console span{color:#888!important;}
|
102
102
|
.wikistyle pre.console span.command{color:yellow!important;}
|
103
|
-
|
104
|
-
.title { font-size: 2em; }
|
105
103
|
</style>
|
106
104
|
|
107
105
|
<% if css %>
|
@@ -111,6 +109,16 @@
|
|
111
109
|
<!-- JQuery is needed -->
|
112
110
|
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript" language="javascript"></script>
|
113
111
|
|
112
|
+
<!-- Highlight.js -->
|
113
|
+
<script src="http://yandex.st/highlightjs/6.1/highlight.min.js"></script>
|
114
|
+
<link rel="stylesheet" href="http://yandex.st/highlightjs/6.1/styles/github.min.css">
|
115
|
+
|
116
|
+
<script>
|
117
|
+
$(document).ready(function() {
|
118
|
+
$('pre').each(function(i, e) {hljs.highlightBlock(e)});
|
119
|
+
});
|
120
|
+
</script>
|
121
|
+
|
114
122
|
</head>
|
115
123
|
|
116
124
|
<body class="wikistyle">
|
@@ -131,7 +139,7 @@
|
|
131
139
|
<!-- TODO: find a preminatn image on web to use -->
|
132
140
|
<!-- <img src="http://www.cdnjs.com/images/poweredbycloudflare.png" align="left" style="padding-right: 10px;" alt=""/> -->
|
133
141
|
|
134
|
-
<div
|
142
|
+
<div style="font-size: 2em"><%= title %></div>
|
135
143
|
|
136
144
|
<h1>Table of Contents</h1>
|
137
145
|
|
data/lib/qed/qparser.rb
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
module QED
|
2
|
+
|
3
|
+
# Expiremntal quick parser.
|
4
|
+
#
|
5
|
+
# NOT USED YET!
|
6
|
+
#
|
7
|
+
class QuickParser #:nodoc:
|
8
|
+
|
9
|
+
#
|
10
|
+
def initialize(demo)
|
11
|
+
@lines = demo.lines
|
12
|
+
end
|
13
|
+
|
14
|
+
#
|
15
|
+
def parse
|
16
|
+
flush = true
|
17
|
+
script = []
|
18
|
+
|
19
|
+
@lines.each do |line|
|
20
|
+
case line
|
21
|
+
when /^\s/
|
22
|
+
if flush
|
23
|
+
script << "Test do\n"
|
24
|
+
end
|
25
|
+
script << line
|
26
|
+
flush = false
|
27
|
+
else
|
28
|
+
if !flush
|
29
|
+
script << "end"
|
30
|
+
end
|
31
|
+
script << "# " + line
|
32
|
+
flush = true
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
script.join()
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
@@ -0,0 +1,132 @@
|
|
1
|
+
module QED
|
2
|
+
module Reporter #:nodoc:
|
3
|
+
|
4
|
+
require 'ansi/terminal'
|
5
|
+
require 'qed/reporter/abstract'
|
6
|
+
|
7
|
+
# Linear reporter limits each step to a single line.
|
8
|
+
#
|
9
|
+
class Linear < Abstract
|
10
|
+
|
11
|
+
#
|
12
|
+
def before_session(session)
|
13
|
+
@width = ANSI::Terminal.terminal_width - 12
|
14
|
+
@start_time = Time.now
|
15
|
+
puts "[INFO] Session @ #{Time.now}".ansi(:bold)
|
16
|
+
end
|
17
|
+
|
18
|
+
#
|
19
|
+
def before_demo(demo)
|
20
|
+
file = localize_file(demo.file)
|
21
|
+
puts "[DEMO] #{file}".ansi(:bold)
|
22
|
+
end
|
23
|
+
|
24
|
+
#
|
25
|
+
def before_applique(step)
|
26
|
+
super(step)
|
27
|
+
#post
|
28
|
+
str = "[NOTE] #{step.explain.gsub(/\s+/,' ')} "[0,@width]
|
29
|
+
pad = @width - str.size + 1
|
30
|
+
print str + (' ' * pad)
|
31
|
+
puts "[#{timestamp}]"
|
32
|
+
end
|
33
|
+
|
34
|
+
#
|
35
|
+
def pass(step)
|
36
|
+
super(step)
|
37
|
+
|
38
|
+
print_step(step, 'PASS', :green)
|
39
|
+
|
40
|
+
#s = []
|
41
|
+
#s << "PASS".ansi(:green)
|
42
|
+
#puts s.join("\n")
|
43
|
+
end
|
44
|
+
|
45
|
+
#
|
46
|
+
def fail(step, assertion)
|
47
|
+
super(step, assertion)
|
48
|
+
|
49
|
+
print_step(step, 'FAIL', :red)
|
50
|
+
|
51
|
+
#puts "FAIL".ansi(:red)
|
52
|
+
|
53
|
+
s = []
|
54
|
+
s << assertion.class.name
|
55
|
+
s << assertion.message
|
56
|
+
|
57
|
+
backtrace = sane_backtrace(assertion)
|
58
|
+
backtrace.each do |bt|
|
59
|
+
s << bt
|
60
|
+
s << code_snippet(bt)
|
61
|
+
end
|
62
|
+
|
63
|
+
puts s.join("\n").tabto(8)
|
64
|
+
end
|
65
|
+
|
66
|
+
#
|
67
|
+
def error(step, exception)
|
68
|
+
super(step, exception)
|
69
|
+
|
70
|
+
print_step(step, 'ERRO', :red)
|
71
|
+
|
72
|
+
#puts "ERROR".ansi(:red)
|
73
|
+
|
74
|
+
s = []
|
75
|
+
s << assertion.class.name
|
76
|
+
s << assertion.message
|
77
|
+
|
78
|
+
backtrace = sane_backtrace(assertion)
|
79
|
+
backtrace.each do |bt|
|
80
|
+
s << bt
|
81
|
+
s << code_snippet(bt)
|
82
|
+
end
|
83
|
+
|
84
|
+
puts s.join("\n").tabto(8)
|
85
|
+
end
|
86
|
+
|
87
|
+
#
|
88
|
+
def after_session(session)
|
89
|
+
puts "[INFO] %s demos, %s steps: %s failures, %s errors (%s/%s assertions)" % get_tally
|
90
|
+
puts "[INFO] Finished in %.5f seconds." % [Time.now - @start_time]
|
91
|
+
puts "[INFO] End Session @ #{Time.now}".ansi(:bold)
|
92
|
+
end
|
93
|
+
|
94
|
+
private
|
95
|
+
|
96
|
+
def timestamp
|
97
|
+
(Time.now - @start_time).to_s[0,8]
|
98
|
+
end
|
99
|
+
|
100
|
+
#
|
101
|
+
def print(str)
|
102
|
+
@appendable = true
|
103
|
+
io.print str
|
104
|
+
end
|
105
|
+
|
106
|
+
#
|
107
|
+
def puts(str)
|
108
|
+
@appendable = false
|
109
|
+
io.puts str
|
110
|
+
end
|
111
|
+
|
112
|
+
#
|
113
|
+
def post
|
114
|
+
io.puts if @appendable
|
115
|
+
@appendable = false
|
116
|
+
end
|
117
|
+
|
118
|
+
#
|
119
|
+
def print_step(step, stat, *color)
|
120
|
+
desc = step.explain.gsub(/\s+/,' ')
|
121
|
+
if desc.start_with?('=') or desc.start_with?('#')
|
122
|
+
desc = desc.ansi(:magenta)
|
123
|
+
end
|
124
|
+
str = "[#{stat}] #{desc} "[0,@width]
|
125
|
+
pad = @width - str.unansi.size + 1
|
126
|
+
print (str + (' ' * pad)).ansi(*color)
|
127
|
+
puts "[#{timestamp}]"
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
end#module Reporter
|
132
|
+
end#module QED
|
data/lib/qed/step.rb
CHANGED
@@ -229,8 +229,8 @@ module QED
|
|
229
229
|
code = @example_lines.map{ |lineno, line| line }.join("")
|
230
230
|
#code.gsub!(/\n\s*\#\ ?\=\>/, '.assert = ')
|
231
231
|
#code.gsub!(/\s*\#\ ?\=\>/, '.assert = ')
|
232
|
-
code.gsub!(/\n\s*\#\ ?\=\>(.*?)$/, ' == \1 ? assert(true) : assert(false,
|
233
|
-
code.gsub!(/\s*\#\ ?\=\>(.*?)$/, ' == \1 ? assert(true) : assert(false,
|
232
|
+
code.gsub!(/\n\s*\#\ ?\=\>(.*?)$/, ' == \1 ? assert(true) : assert(false, %{not returned -- \1})') # TODO: what kind of error ?
|
233
|
+
code.gsub!(/\s*\#\ ?\=\>(.*?)$/, ' == \1 ? assert(true) : assert(false, %{not returned -- \1})')
|
234
234
|
code
|
235
235
|
end
|
236
236
|
|
data/qed/applique/ae.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'ae'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qed
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.8.
|
4
|
+
version: 2.8.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01
|
12
|
+
date: 2012-02-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ansi
|
16
|
-
requirement: &
|
16
|
+
requirement: &30707900 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *30707900
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: facets
|
27
|
-
requirement: &
|
27
|
+
requirement: &30723160 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '2.8'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *30723160
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: brass
|
38
|
-
requirement: &
|
38
|
+
requirement: &30722380 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *30722380
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: confection
|
49
|
-
requirement: &
|
49
|
+
requirement: &30721540 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *30721540
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: detroit
|
60
|
-
requirement: &
|
60
|
+
requirement: &30720900 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *30720900
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: ae
|
71
|
-
requirement: &
|
71
|
+
requirement: &30720020 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *30720020
|
80
80
|
description: ! 'QED (Quality Ensured Demonstrations) is a TDD/BDD framework
|
81
81
|
|
82
82
|
utilizing Literate Programming techniques.'
|
@@ -89,6 +89,7 @@ extensions: []
|
|
89
89
|
extra_rdoc_files:
|
90
90
|
- HISTORY.rdoc
|
91
91
|
- README.rdoc
|
92
|
+
- COPYING.rdoc
|
92
93
|
files:
|
93
94
|
- .ruby
|
94
95
|
- .yardopts
|
@@ -108,9 +109,11 @@ files:
|
|
108
109
|
- lib/qed/helpers/file_fixtures.rb
|
109
110
|
- lib/qed/helpers/shell_session.rb
|
110
111
|
- lib/qed/parser.rb
|
112
|
+
- lib/qed/qparser.rb
|
111
113
|
- lib/qed/reporter/abstract.rb
|
112
114
|
- lib/qed/reporter/dotprogress.rb
|
113
115
|
- lib/qed/reporter/html.rb
|
116
|
+
- lib/qed/reporter/linear.rb
|
114
117
|
- lib/qed/reporter/tapy.rb
|
115
118
|
- lib/qed/reporter/verbatim.rb
|
116
119
|
- lib/qed/scope.rb
|
@@ -130,10 +133,12 @@ files:
|
|
130
133
|
- qed/10_constant_lookup.rdoc
|
131
134
|
- qed/11_embedded_rules.rdoc
|
132
135
|
- qed/99_issues/02_topcode.rdoc
|
136
|
+
- qed/applique/ae.rb
|
133
137
|
- qed/applique/constant.rb
|
134
138
|
- qed/applique/env.rb
|
135
139
|
- qed/applique/fileutils.rb
|
136
140
|
- qed/applique/markup.rb
|
141
|
+
- qed/applique/quote.rdoc
|
137
142
|
- qed/applique/toplevel.rb
|
138
143
|
- qed/helpers/advice.rb
|
139
144
|
- qed/helpers/toplevel.rb
|
@@ -141,6 +146,7 @@ files:
|
|
141
146
|
- qed/samples/table.yml
|
142
147
|
- HISTORY.rdoc
|
143
148
|
- README.rdoc
|
149
|
+
- COPYING.rdoc
|
144
150
|
homepage: http://rubyworks.github.com/qed
|
145
151
|
licenses:
|
146
152
|
- BSD-2-Clause
|
@@ -162,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
162
168
|
version: '0'
|
163
169
|
requirements: []
|
164
170
|
rubyforge_project:
|
165
|
-
rubygems_version: 1.8.
|
171
|
+
rubygems_version: 1.8.11
|
166
172
|
signing_key:
|
167
173
|
specification_version: 3
|
168
174
|
summary: Quod Erat Demonstrandum
|