qed 2.5.0 → 2.5.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 +47 -0
- data/bin/qed +1 -1
- data/lib/qed/demo.rb +18 -7
- data/lib/qed/evaluator.rb +31 -8
- data/lib/qed/reporter/abstract.rb +4 -4
- data/lib/qed/reporter/verbatim.rb +5 -3
- data/lib/qed/scope.rb +22 -6
- data/lib/qed/session.rb +240 -18
- data/lib/qed/settings.rb +155 -0
- data/lib/qed.rb +18 -17
- data/lib/qed.yml +47 -0
- data/lib/yard-qed.rb +1 -0
- metadata +16 -24
- data/History.rdoc +0 -210
- data/eg/hello_world.rdoc +0 -15
- data/eg/view_error.rdoc +0 -21
- data/eg/website.rdoc +0 -12
- data/lib/qed/command.rb +0 -387
- data/lib/qed/meta/data.rb +0 -27
- data/lib/qed/meta/package +0 -10
- data/lib/qed/meta/profile +0 -16
- data/meta/data.rb +0 -27
- data/meta/package +0 -10
- data/meta/profile +0 -16
data/lib/qed/settings.rb
ADDED
@@ -0,0 +1,155 @@
|
|
1
|
+
module QED
|
2
|
+
|
3
|
+
# Ecapsulate confiduration information needed for QED
|
4
|
+
# run and set user and project options.
|
5
|
+
class Settings
|
6
|
+
|
7
|
+
require 'tmpdir'
|
8
|
+
require 'fileutils'
|
9
|
+
|
10
|
+
# Configuration directory `.qed`, `.config/qed` or `config/qed`.
|
11
|
+
# In this directory special configuration files can be placed
|
12
|
+
# to autmatically effect qed execution. In particular you can
|
13
|
+
# add a `profiles.yml` file to setup convenient execution
|
14
|
+
# scenarios.
|
15
|
+
CONFIG_PATTERN = "{.,.set/,set/.config/,config/}qed"
|
16
|
+
|
17
|
+
# Glob pattern used to search for project's root directory.
|
18
|
+
ROOT_PATTERN = '{.ruby,.git/,.hg/,_darcs/,.qed/,.set/qed/,set/qed/.config/qed/,config/qed/}'
|
19
|
+
|
20
|
+
# Home directory.
|
21
|
+
HOME = File.expand_path('~')
|
22
|
+
|
23
|
+
#
|
24
|
+
def initialize(options={})
|
25
|
+
@rootless = options[:rootless]
|
26
|
+
end
|
27
|
+
|
28
|
+
#
|
29
|
+
def rootless?
|
30
|
+
@rootless
|
31
|
+
end
|
32
|
+
|
33
|
+
# Project's root directory.
|
34
|
+
def root_directory
|
35
|
+
@root_directory ||= find_root
|
36
|
+
end
|
37
|
+
|
38
|
+
# Project's QED configuration directory.
|
39
|
+
# TODO: rename to `config_directory` ?
|
40
|
+
def settings_directory
|
41
|
+
@settings_directory ||= find_settings
|
42
|
+
end
|
43
|
+
|
44
|
+
#
|
45
|
+
def temporary_directory
|
46
|
+
@temporary_directory ||= (
|
47
|
+
if rootless?
|
48
|
+
File.join(Dir.tmpdir, 'qed', File.filename(Dir.pwd), Time.new.strftime("%Y%m%d%H%M%S"))
|
49
|
+
else
|
50
|
+
File.join(root_directory, 'tmp', 'qed')
|
51
|
+
end
|
52
|
+
#FileUtils.mkdir_p(dir) unless File.directory?(dir)
|
53
|
+
)
|
54
|
+
end
|
55
|
+
|
56
|
+
#
|
57
|
+
alias_method :tmpdir, :temporary_directory
|
58
|
+
|
59
|
+
# Remove and recreate temporary working directory.
|
60
|
+
def clear_directory
|
61
|
+
FileUtils.rm_r(tmpdir) if File.exist?(tmpdir)
|
62
|
+
FileUtils.mkdir_p(tmpdir)
|
63
|
+
end
|
64
|
+
|
65
|
+
# Profile configurations.
|
66
|
+
def profiles
|
67
|
+
@profiles ||= (
|
68
|
+
files = Dir["#{settings_directory}/*.rb"]
|
69
|
+
files.map do |file|
|
70
|
+
File.basename(file).chomp('.rb')
|
71
|
+
end
|
72
|
+
)
|
73
|
+
end
|
74
|
+
|
75
|
+
# Require requirement file (from -e option).
|
76
|
+
def require_profile(profile)
|
77
|
+
return unless settings_directory
|
78
|
+
if file = Dir["#{settings_directory}/#{profile}.rb"].first
|
79
|
+
require(file)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
# Locate project's root directory. This is done by searching upward
|
84
|
+
# in the file heirarchy for the existence of one of the following
|
85
|
+
# path names, each group being tried in turn.
|
86
|
+
#
|
87
|
+
# * .git/
|
88
|
+
# * .hg/
|
89
|
+
# * _darcs/
|
90
|
+
# * .config/qed/
|
91
|
+
# * config/qed/
|
92
|
+
# * .qed/
|
93
|
+
# * .ruby
|
94
|
+
#
|
95
|
+
# Failing to find any of these locations, resort to the fallback:
|
96
|
+
#
|
97
|
+
# * lib/
|
98
|
+
#
|
99
|
+
def find_root(path=nil)
|
100
|
+
path = File.expand_path(path || Dir.pwd)
|
101
|
+
path = File.dirname(path) unless File.directory?(path)
|
102
|
+
|
103
|
+
root = lookup(ROOT_PATTERN, path)
|
104
|
+
return root if root
|
105
|
+
|
106
|
+
#root = lookup(path, '{.qed,.config/qed,config/qed}/')
|
107
|
+
#return root if root
|
108
|
+
|
109
|
+
#root = lookup(path, '{qed,demo,demos}/')
|
110
|
+
#return root if root
|
111
|
+
|
112
|
+
root = lookup('lib/', path)
|
113
|
+
|
114
|
+
return root if root
|
115
|
+
|
116
|
+
abort "QED failed to resolve project's root location.\n" +
|
117
|
+
"QED looks for following entries to identify the root:\n" +
|
118
|
+
" .set/qed/\n" +
|
119
|
+
" set/qed/\n" +
|
120
|
+
" .config/qed/\n" +
|
121
|
+
" config/qed/\n" +
|
122
|
+
" .qed/\n" +
|
123
|
+
" .ruby\n" +
|
124
|
+
" lib/\n" +
|
125
|
+
"Please add one of them to your project to proceed."
|
126
|
+
end
|
127
|
+
|
128
|
+
# Locate configuration directory by seaching up the
|
129
|
+
# file hierachy relative to the working directory
|
130
|
+
# for one of the following paths:
|
131
|
+
#
|
132
|
+
# * .config/qed/
|
133
|
+
# * config/qed/
|
134
|
+
# * .qed/
|
135
|
+
#
|
136
|
+
def find_settings
|
137
|
+
Dir[File.join(root_directory,CONFIG_PATTERN)].first
|
138
|
+
end
|
139
|
+
|
140
|
+
# Lookup path +glob+, searching each higher directory
|
141
|
+
# in turn until just before the users home directory
|
142
|
+
# is reached or just before the system's root directory.
|
143
|
+
#
|
144
|
+
# TODO: include HOME directory in search?
|
145
|
+
def lookup(glob, path=Dir.pwd)
|
146
|
+
until path == HOME or path == '/' # until home or root
|
147
|
+
mark = Dir.glob(File.join(path,glob), File::FNM_CASEFOLD).first
|
148
|
+
return path if mark
|
149
|
+
path = File.dirname(path)
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
153
|
+
end
|
154
|
+
|
155
|
+
end
|
data/lib/qed.rb
CHANGED
@@ -1,26 +1,27 @@
|
|
1
|
-
require 'yaml'
|
2
|
-
|
3
1
|
module QED
|
4
|
-
DIRECTORY = File.dirname(__FILE__) + '/qed'
|
5
|
-
|
6
|
-
PROFILE = YAML.load(File.new(DIRECTORY + '/profile.yml')) rescue {}
|
7
|
-
PACKAGE = YAML.load(File.new(DIRECTORY + '/package.yml')) rescue {}
|
8
2
|
|
9
|
-
|
3
|
+
# Access to project metadata.
|
4
|
+
def self.metadata
|
5
|
+
@metadata ||= (
|
6
|
+
require 'yaml'
|
7
|
+
YAML.load(File.new(File.dirname(__FILE__) + '/qed.yml')) rescue {}
|
8
|
+
)
|
9
|
+
end
|
10
10
|
|
11
|
-
#
|
11
|
+
# Access to project metadata as constants.
|
12
12
|
def self.const_missing(name)
|
13
13
|
key = name.to_s.downcase
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
14
|
+
metadata[key] || super(name)
|
15
|
+
end
|
16
|
+
|
17
|
+
# TODO: Only b/c of Ruby 1.8.x bug.
|
18
|
+
VERSION = metadata['version']
|
19
|
+
|
20
|
+
#
|
21
|
+
def self.cli(*argv)
|
22
|
+
Session.cli(*argv)
|
21
23
|
end
|
24
|
+
|
22
25
|
end
|
23
26
|
|
24
|
-
require 'qed/command'
|
25
27
|
require 'qed/session'
|
26
|
-
|
data/lib/qed.yml
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
---
|
2
|
+
spec_version: 1.0.0
|
3
|
+
replaces: []
|
4
|
+
|
5
|
+
loadpath:
|
6
|
+
- lib
|
7
|
+
name: qed
|
8
|
+
repositories:
|
9
|
+
public: git://github.com/proutils/qed.git
|
10
|
+
conflicts: []
|
11
|
+
|
12
|
+
engine_check: []
|
13
|
+
|
14
|
+
title: QED
|
15
|
+
resources:
|
16
|
+
home: http://proutils.github.com/qed
|
17
|
+
work: http://github.com/proutils/qed
|
18
|
+
maintainers: []
|
19
|
+
|
20
|
+
requires:
|
21
|
+
- group: []
|
22
|
+
|
23
|
+
name: ansi
|
24
|
+
version: 0+
|
25
|
+
- group: []
|
26
|
+
|
27
|
+
name: facets
|
28
|
+
version: 2.8+
|
29
|
+
- group: []
|
30
|
+
|
31
|
+
name: ae
|
32
|
+
version: 0+
|
33
|
+
- group:
|
34
|
+
- build
|
35
|
+
name: syckle
|
36
|
+
version: 0+
|
37
|
+
manifest: Manifest
|
38
|
+
version: 2.5.1
|
39
|
+
licenses: []
|
40
|
+
|
41
|
+
copyright: Copyright (c) 2006 Thomas Sawyer
|
42
|
+
authors:
|
43
|
+
- Thomas Sawyer <transfire@gmail.com>
|
44
|
+
organization: RubyWorks
|
45
|
+
description: QED (Quality Ensured Demonstrations) is a TDD/BDD framework utilizing Literate Programming techniques.
|
46
|
+
summary: Quod Erat Demonstrandum
|
47
|
+
created: 2006-12-16
|
data/lib/yard-qed.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
# TODO: Create a YARD plugin for QED.
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qed
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 25
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 5
|
9
|
-
-
|
10
|
-
version: 2.5.
|
9
|
+
- 1
|
10
|
+
version: 2.5.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Thomas Sawyer <transfire@gmail.com>
|
@@ -15,8 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
19
|
-
default_executable:
|
18
|
+
date: 2011-06-08 00:00:00 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
21
|
name: ansi
|
@@ -40,10 +39,11 @@ dependencies:
|
|
40
39
|
requirements:
|
41
40
|
- - ">="
|
42
41
|
- !ruby/object:Gem::Version
|
43
|
-
hash:
|
42
|
+
hash: 19
|
44
43
|
segments:
|
45
|
-
-
|
46
|
-
|
44
|
+
- 2
|
45
|
+
- 8
|
46
|
+
version: "2.8"
|
47
47
|
type: :runtime
|
48
48
|
version_requirements: *id002
|
49
49
|
- !ruby/object:Gem::Dependency
|
@@ -84,22 +84,16 @@ extensions: []
|
|
84
84
|
extra_rdoc_files:
|
85
85
|
- README.rdoc
|
86
86
|
files:
|
87
|
+
- .ruby
|
87
88
|
- bin/qed
|
88
89
|
- bin/qedoc
|
89
|
-
- eg/hello_world.rdoc
|
90
|
-
- eg/view_error.rdoc
|
91
|
-
- eg/website.rdoc
|
92
90
|
- lib/qed/advice.rb
|
93
91
|
- lib/qed/applique.rb
|
94
|
-
- lib/qed/command.rb
|
95
92
|
- lib/qed/core_ext.rb
|
96
93
|
- lib/qed/demo.rb
|
97
94
|
- lib/qed/evaluator.rb
|
98
95
|
- lib/qed/helpers/file_fixtures.rb
|
99
96
|
- lib/qed/helpers/shell_session.rb
|
100
|
-
- lib/qed/meta/data.rb
|
101
|
-
- lib/qed/meta/package
|
102
|
-
- lib/qed/meta/profile
|
103
97
|
- lib/qed/parser.rb
|
104
98
|
- lib/qed/reporter/abstract.rb
|
105
99
|
- lib/qed/reporter/bullet.rb
|
@@ -108,15 +102,15 @@ files:
|
|
108
102
|
- lib/qed/reporter/verbatim.rb
|
109
103
|
- lib/qed/scope.rb
|
110
104
|
- lib/qed/session.rb
|
105
|
+
- lib/qed/settings.rb
|
111
106
|
- lib/qed.rb
|
107
|
+
- lib/qed.yml
|
112
108
|
- lib/qedoc/command.rb
|
113
109
|
- lib/qedoc/document/jquery.js
|
114
110
|
- lib/qedoc/document/markup.rb
|
115
111
|
- lib/qedoc/document/template.rhtml
|
116
112
|
- lib/qedoc/document.rb
|
117
|
-
-
|
118
|
-
- meta/package
|
119
|
-
- meta/profile
|
113
|
+
- lib/yard-qed.rb
|
120
114
|
- qed/01_demos.rdoc
|
121
115
|
- qed/02_advice.rdoc
|
122
116
|
- qed/03_helpers.rdoc
|
@@ -140,11 +134,9 @@ files:
|
|
140
134
|
- test/integration/topcode.rdoc
|
141
135
|
- LICENSE
|
142
136
|
- README.rdoc
|
143
|
-
- History.rdoc
|
144
|
-
has_rdoc: true
|
145
137
|
homepage: http://proutils.github.com/qed
|
146
|
-
licenses:
|
147
|
-
|
138
|
+
licenses: []
|
139
|
+
|
148
140
|
post_install_message:
|
149
141
|
rdoc_options:
|
150
142
|
- --title
|
@@ -174,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
166
|
requirements: []
|
175
167
|
|
176
168
|
rubyforge_project: qed
|
177
|
-
rubygems_version: 1.
|
169
|
+
rubygems_version: 1.8.2
|
178
170
|
signing_key:
|
179
171
|
specification_version: 3
|
180
172
|
summary: Quod Erat Demonstrandum
|
data/History.rdoc
DELETED
@@ -1,210 +0,0 @@
|
|
1
|
-
= RELEASE HISTORY
|
2
|
-
|
3
|
-
== 2.5.0 / 2010-11-04
|
4
|
-
|
5
|
-
The latest release of QED improves on applique loading, such that each
|
6
|
-
demonstrandum gets it's own localized set. The CLI has also been modified
|
7
|
-
so that there is no longer a defualt location, the directory or files to run
|
8
|
-
must be specified.
|
9
|
-
|
10
|
-
Changes:
|
11
|
-
|
12
|
-
* Better handling of Applique.
|
13
|
-
* Remove Advice class --advice is now stored in Applique.
|
14
|
-
* Each applique file is it's own module.
|
15
|
-
* Advice from each applique is applied.
|
16
|
-
* CLI requires files be specified.
|
17
|
-
|
18
|
-
|
19
|
-
== 2.4.0 / 2010-09-02
|
20
|
-
|
21
|
-
All engines go! QED has not been tested against 1.8.6, 1.8.7 and 1.9.2.
|
22
|
-
Underthehood steps are not organized in doubely-linked lists, which makes
|
23
|
-
them much more robust and flexible. This release also improves scoping,
|
24
|
-
test counts, and inline documentation parsing.
|
25
|
-
|
26
|
-
Changes:
|
27
|
-
|
28
|
-
* Use new doubly-linked list step design.
|
29
|
-
* Fix -r option on command line.
|
30
|
-
* Provide #instance_exec core extension for Ruby 1.8.6.
|
31
|
-
* Scope is extended by and includes applique.
|
32
|
-
|
33
|
-
|
34
|
-
== 2.3.0 / 2010-07-14
|
35
|
-
|
36
|
-
Bug to the scurry! QED has broken through the code/document ceiling and
|
37
|
-
is cracking ectoskeletons all the way to the bank. A proverbal can of
|
38
|
-
Roach-Be-Gone this is! What's that you say? I will exlpain. QED can now
|
39
|
-
run directly against code comments. Simply slip the qed command the -c
|
40
|
-
option and feed it some ruby scripts, and presto watch you commnets
|
41
|
-
fail ;) I think you can figure out what to do next.
|
42
|
-
|
43
|
-
In addition to this coolness QED has been improved under the floor
|
44
|
-
boards as well. The parser, which is much faster, now blocks commentary
|
45
|
-
paragraphs and code examples togeher in one-to-one pairings. Not only
|
46
|
-
does this clean-up the code, but it opens up the potential for Around
|
47
|
-
advice in a future version.
|
48
|
-
|
49
|
-
Changes:
|
50
|
-
|
51
|
-
* NEW! Ruby script comment run mode.
|
52
|
-
* Better parsing system uses commentary-example pairs.
|
53
|
-
* Colon can also be used to specify plain text (along with ellipsis).
|
54
|
-
* Now distributed under the more permissive Apache 2.0 license.
|
55
|
-
|
56
|
-
|
57
|
-
== 2.2.2 / 2010-06-21
|
58
|
-
|
59
|
-
An issue was reported in which the a code block at the very
|
60
|
-
top of a demo was being ignored. This release fixes this issue
|
61
|
-
by rewriting the parser (much better now thanks!). At the same
|
62
|
-
time the Data and Table methods have been polished, both of
|
63
|
-
which can now pick up sample data relative to the current demo.
|
64
|
-
|
65
|
-
Changes:
|
66
|
-
|
67
|
-
* Rewrite parser and fix top code issue.
|
68
|
-
* Data method cannot write data, instead executes block.
|
69
|
-
* Data and Table methods look for file relative to demo first.
|
70
|
-
* Added -R option to run demos relative to project root.
|
71
|
-
|
72
|
-
|
73
|
-
== 2.2.1 / 2010-06-20
|
74
|
-
|
75
|
-
Remove dependencies to Tilt and Nokogiri. Should have
|
76
|
-
done this in last release but alas --there is so
|
77
|
-
much to do.
|
78
|
-
|
79
|
-
Changes:
|
80
|
-
|
81
|
-
* Removed HTML parsing dependencies.
|
82
|
-
* Reduce Advice to a single class.
|
83
|
-
|
84
|
-
|
85
|
-
== 2.2.0 / 2010-06-19
|
86
|
-
|
87
|
-
This release returns to a text-based evaluator, rather
|
88
|
-
then use HTML. Processing HTML proved to have too many
|
89
|
-
edge cases to be effective --both in implementation
|
90
|
-
and in end-usage. So to remedy the situation QED has
|
91
|
-
return to supportting simple markup formats such as
|
92
|
-
RDoc and Markup.
|
93
|
-
|
94
|
-
This release also adds multi-pattern advice. Instead of
|
95
|
-
a single pattern, multiple patterns can be matched
|
96
|
-
sequentially. This make it a easier to match large text
|
97
|
-
descriptions without restoring to regular expressions.
|
98
|
-
|
99
|
-
In addition QED now supports raw text blocks. By ending
|
100
|
-
a description section in ellipsis (...), the subsequent
|
101
|
-
code setion becomes a plain text section and is passed
|
102
|
-
into the argument list of any matching When advice. This
|
103
|
-
makes it easy to scaffold fixture files, for example.
|
104
|
-
|
105
|
-
Finally, this release also refines the evaluation scopes.
|
106
|
-
Where before, a new binding was being created, each was
|
107
|
-
attached to the TOPLEVEL, and therefore not truly isolated
|
108
|
-
on a per-dcoument basis. To correct, QED now mocks the
|
109
|
-
TOPLEVEL providing a new instance of this mock object for
|
110
|
-
each document.
|
111
|
-
|
112
|
-
Changes:
|
113
|
-
|
114
|
-
* No longer uses HTML for document processing.
|
115
|
-
* Support for plain text blocks using ellipsis.
|
116
|
-
* New sequential multi-pattern matches.
|
117
|
-
* Mock TOPLEVEL at both the demo and applique levels.
|
118
|
-
* Adjust color support for latest ANSI release.
|
119
|
-
|
120
|
-
|
121
|
-
== 2.1.1 / 2010-04-08
|
122
|
-
|
123
|
-
Fixed bug introduced in the last version that executed all
|
124
|
-
scripts in a single binding. There needed to be a binding
|
125
|
-
for each script.
|
126
|
-
|
127
|
-
Changes:
|
128
|
-
|
129
|
-
* Fixed cross-script bug by moving binding instantiation into Script class.
|
130
|
-
|
131
|
-
|
132
|
-
== 2.1.0 / 2010-04-07
|
133
|
-
|
134
|
-
QED documents are now run in the TOPLEVEL context, rather
|
135
|
-
than in a subclass of Scope. This ensures code runs as
|
136
|
-
one would expect it too in the wild.
|
137
|
-
|
138
|
-
Changes:
|
139
|
-
|
140
|
-
* Scope.new redirect to TOPLEVEL.
|
141
|
-
* DomainLanguage module is added to include into TOPLEVEL.
|
142
|
-
|
143
|
-
|
144
|
-
== 2.0.0 / 2010-03-04
|
145
|
-
|
146
|
-
This is a major new release of QED. All demonstration documents
|
147
|
-
are now converted to HTML via Tilt (http://github.com/tilt) before
|
148
|
-
being run through the test runner. So QED now supports any markup
|
149
|
-
format supported by Tilt, as well as ordinary HTML. Simply
|
150
|
-
stated, QED process <tt>pre</tt> tags as code and everything else
|
151
|
-
as comments. Nokogiri is used to parse the HTML.
|
152
|
-
|
153
|
-
Changes:
|
154
|
-
|
155
|
-
* HTML serves as a common format.
|
156
|
-
* New dependencies: Tilt and Nokogiri.
|
157
|
-
* New system of version numbers.
|
158
|
-
|
159
|
-
|
160
|
-
== 1.2.0 / 2009-12-07
|
161
|
-
|
162
|
-
This release adds a significant new feature, Comment Matchers.
|
163
|
-
These work like Cucumber allowing for background code to
|
164
|
-
be run when matching comments occur --a much better solution
|
165
|
-
for setup and teardown.
|
166
|
-
|
167
|
-
Changes:
|
168
|
-
|
169
|
-
* 2 Major Enhancements
|
170
|
-
|
171
|
-
* Added command matchers via #When method.
|
172
|
-
* All QED methods are now capitalized.
|
173
|
-
|
174
|
-
* 2 Minor Enhancements
|
175
|
-
|
176
|
-
* Use OptionParser for qed exectuable.
|
177
|
-
* Verbatim reporter is literally verbatim.
|
178
|
-
|
179
|
-
|
180
|
-
== 1.1.1 / 2009-09-05
|
181
|
-
|
182
|
-
This release
|
183
|
-
|
184
|
-
Changes:
|
185
|
-
|
186
|
-
* 2 Major Enhancements
|
187
|
-
|
188
|
-
* Helpers are provided by bottom code.
|
189
|
-
* Added Markdown header support.
|
190
|
-
|
191
|
-
* 2 Minor Enhancements
|
192
|
-
|
193
|
-
* Use Ansi project for color output.
|
194
|
-
* Use latest RDoc version.
|
195
|
-
|
196
|
-
|
197
|
-
== 1.0.0 / 2009-06-30
|
198
|
-
|
199
|
-
QED has found itself. It took some time to really figure out
|
200
|
-
what this project "was" and how it should best be utilized.
|
201
|
-
This release is the initial release that puts QED in proper
|
202
|
-
perpective.
|
203
|
-
|
204
|
-
Changes:
|
205
|
-
|
206
|
-
* 2 Major Enhancement
|
207
|
-
|
208
|
-
* Partial rewrite of a project that was once called "Quarry".
|
209
|
-
* Now uese AE for assertions.
|
210
|
-
|
data/eg/hello_world.rdoc
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
= Hello World
|
2
|
-
|
3
|
-
Did you know that famous `Hello World` moniker is
|
4
|
-
eleven characters long?
|
5
|
-
|
6
|
-
"Hello World".size.assert == 11
|
7
|
-
|
8
|
-
To pass a piece of literal text on with a description
|
9
|
-
we simply need to end it with a ...
|
10
|
-
|
11
|
-
Now this text will appear verbatim.
|
12
|
-
In the applique arguments.
|
13
|
-
|
14
|
-
That's all.
|
15
|
-
|
data/eg/view_error.rdoc
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
= Examples of Failure
|
2
|
-
|
3
|
-
This document is here simply to demonstrate what
|
4
|
-
a failed and error raising code steps looks like.
|
5
|
-
|
6
|
-
When run with the -v (verbatim) option, for instance, +qed+
|
7
|
-
will highlight the following sections in red and give a brief
|
8
|
-
error message.
|
9
|
-
|
10
|
-
== Failure
|
11
|
-
|
12
|
-
This step demonstrates a failed assertion.
|
13
|
-
|
14
|
-
1.assert == 2
|
15
|
-
|
16
|
-
== Error
|
17
|
-
|
18
|
-
This step demonstrates a raised error.
|
19
|
-
|
20
|
-
raise "Just because"
|
21
|
-
|