dfect 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/HISTORY +25 -4
- data/MANUAL +23 -0
- data/USAGE +303 -290
- data/bin/dfect +57 -0
- data/doc/api/Dfect.html +835 -544
- data/doc/api/Object.html +9 -5
- data/doc/api/_index.html +5 -5
- data/doc/api/class_list.html +1 -1
- data/doc/api/css/style.css +6 -1
- data/doc/api/file.LICENSE.html +4 -4
- data/doc/api/file_list.html +1 -1
- data/doc/api/frames.html +1 -1
- data/doc/api/index.html +4 -4
- data/doc/api/js/app.js +12 -0
- data/doc/api/js/full_list.js +11 -0
- data/doc/api/method_list.html +13 -5
- data/doc/api/top-level-namespace.html +5 -3
- data/doc/index.html +233 -137
- data/inochi.opts +31 -0
- data/lib/dfect.rb +2 -7
- data/lib/dfect/inochi.rb +83 -29
- data/test/dfect_test.rb +2 -0
- metadata +22 -11
- data/doc/index.erb +0 -18
- data/lib/dfect/inochi.yaml +0 -75
- data/test/dfect/inochi_test.rb +0 -17
data/inochi.opts
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
##
|
2
|
+
# Location where project documentation will be uploaded by `inochi pub:doc`.
|
3
|
+
# This value can utilize any remote/destination syntax supported by `rsync`.
|
4
|
+
#
|
5
|
+
:pub_doc_target: ~/www/lib/dfect
|
6
|
+
|
7
|
+
##
|
8
|
+
# Options for the `rsync` command used to upload this project's documentation.
|
9
|
+
#
|
10
|
+
:pub_doc_options: --verbose --compress --archive --update --delete
|
11
|
+
|
12
|
+
##
|
13
|
+
# Arbitrary Ruby code that will configure this project's RubyGem before it
|
14
|
+
# is built by `inochi gem`. This code has access to a local variable named
|
15
|
+
# `gem` which holds a Gem::Specification object representing this project.
|
16
|
+
#
|
17
|
+
# @example
|
18
|
+
#
|
19
|
+
# :gem_spec_logic: |
|
20
|
+
# # show the Inochi-provided specification for this project's RubyGem
|
21
|
+
# puts gem
|
22
|
+
#
|
23
|
+
# # add files that are outside this project directory to the RubyGem
|
24
|
+
# gem.files += FileList['/some/outside/**/*.files']
|
25
|
+
#
|
26
|
+
# # omit some files in this project's directory from the RubyGem
|
27
|
+
# gem.files.exclude '{some*files,in_this,project/**/directory}'
|
28
|
+
#
|
29
|
+
# # and so on... anything is possible! use your imagination!
|
30
|
+
#
|
31
|
+
:gem_spec_logic: |
|
data/lib/dfect.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'dfect/inochi'
|
2
|
+
|
1
3
|
require 'yaml'
|
2
4
|
#
|
3
5
|
# YAML raises this error when we try to serialize a class:
|
@@ -21,14 +23,7 @@ end
|
|
21
23
|
|
22
24
|
# load interactive debugger
|
23
25
|
begin
|
24
|
-
|
25
|
-
begin
|
26
|
-
require 'rubygems'
|
27
|
-
rescue LoadError
|
28
|
-
end
|
29
|
-
|
30
26
|
require 'ruby-debug'
|
31
|
-
|
32
27
|
rescue LoadError
|
33
28
|
require 'irb'
|
34
29
|
end
|
data/lib/dfect/inochi.rb
CHANGED
@@ -1,48 +1,102 @@
|
|
1
1
|
module Dfect
|
2
2
|
|
3
|
-
|
3
|
+
##
|
4
|
+
# Official name of this project.
|
5
|
+
#
|
6
|
+
PROJECT = "Dfect"
|
4
7
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
+
##
|
9
|
+
# Short single-line description of this project.
|
10
|
+
#
|
11
|
+
TAGLINE = "Assertion testing library for Ruby"
|
8
12
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
+
##
|
14
|
+
# Address of this project's official home page.
|
15
|
+
#
|
16
|
+
WEBSITE = "http://snk.tuxfamily.org/lib/dfect/"
|
13
17
|
|
14
|
-
|
15
|
-
|
16
|
-
|
18
|
+
##
|
19
|
+
# Number of this release of this project.
|
20
|
+
#
|
21
|
+
VERSION = "2.1.0"
|
17
22
|
|
18
|
-
|
23
|
+
##
|
24
|
+
# Date of this release of this project.
|
25
|
+
#
|
26
|
+
RELDATE = "2010-03-31"
|
19
27
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
28
|
+
##
|
29
|
+
# Description of this release of this project.
|
30
|
+
#
|
31
|
+
def self.inspect
|
32
|
+
"#{PROJECT} #{VERSION} (#{RELDATE})"
|
24
33
|
end
|
25
34
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
35
|
+
##
|
36
|
+
# Location of this release of this project.
|
37
|
+
#
|
38
|
+
INSTDIR = File.expand_path('../../..', __FILE__)
|
30
39
|
|
31
|
-
|
32
|
-
|
33
|
-
|
40
|
+
##
|
41
|
+
# RubyGems required by this project during runtime.
|
42
|
+
#
|
43
|
+
# @example
|
44
|
+
#
|
45
|
+
# RUNTIME = {
|
46
|
+
# # this project needs exactly version 1.2.3 of the "an_example" gem
|
47
|
+
# "an_example" => [ "1.2.3" ],
|
48
|
+
#
|
49
|
+
# # this project needs at least version 1.2 (but not
|
50
|
+
# # version 1.2.4 or newer) of the "another_example" gem
|
51
|
+
# "another_example" => [ ">= 1.2" , "< 1.2.4" ],
|
52
|
+
#
|
53
|
+
# # this project needs any version of the "yet_another_example" gem
|
54
|
+
# "yet_another_example" => [],
|
55
|
+
# }
|
56
|
+
#
|
57
|
+
RUNTIME = {}
|
34
58
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
59
|
+
##
|
60
|
+
# RubyGems required by this project during development.
|
61
|
+
#
|
62
|
+
# @example
|
63
|
+
#
|
64
|
+
# DEVTIME = {
|
65
|
+
# # this project needs exactly version 1.2.3 of the "an_example" gem
|
66
|
+
# "an_example" => [ "1.2.3" ],
|
67
|
+
#
|
68
|
+
# # this project needs at least version 1.2 (but not
|
69
|
+
# # version 1.2.4 or newer) of the "another_example" gem
|
70
|
+
# "another_example" => [ ">= 1.2" , "< 1.2.4" ],
|
71
|
+
#
|
72
|
+
# # this project needs any version of the "yet_another_example" gem
|
73
|
+
# "yet_another_example" => [],
|
74
|
+
# }
|
75
|
+
#
|
76
|
+
DEVTIME = {
|
77
|
+
"inochi" => [ "~> 2" ], # for managing this project
|
78
|
+
}
|
79
|
+
|
80
|
+
##
|
81
|
+
# Loads the correct version (as defined by the {RUNTIME} or {DEVTIME}
|
82
|
+
# constant in this module) of the given gem or the gem that contains
|
83
|
+
# the given library.
|
84
|
+
#
|
85
|
+
def self.require gem_name_or_library
|
86
|
+
# prepare the correct version of the gem for loading
|
87
|
+
if respond_to? :gem
|
88
|
+
gem_name = gem_name_or_library.to_s.sub(%r{/.*$}, '')
|
89
|
+
if gem_version = RUNTIME[gem_name] || DEVTIME[gem_name]
|
39
90
|
begin
|
40
|
-
gem gem_name, *
|
91
|
+
gem gem_name, *gem_version
|
41
92
|
rescue LoadError => error
|
42
|
-
warn "#{inspect}
|
93
|
+
warn "#{self.inspect}: #{error}"
|
43
94
|
end
|
44
95
|
end
|
45
96
|
end
|
97
|
+
|
98
|
+
# do the loading
|
99
|
+
super
|
46
100
|
end
|
47
101
|
|
48
102
|
end
|
data/test/dfect_test.rb
CHANGED
metadata
CHANGED
@@ -4,42 +4,54 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 2
|
7
|
+
- 1
|
7
8
|
- 0
|
8
|
-
|
9
|
-
version: 2.0.0
|
9
|
+
version: 2.1.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
|
-
- Suraj N. Kurapati
|
12
|
+
- Suraj N. Kurapati
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-03-
|
17
|
+
date: 2010-03-31 00:00:00 -07:00
|
18
18
|
default_executable:
|
19
|
-
dependencies:
|
20
|
-
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: inochi
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ~>
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 2
|
29
|
+
version: "2"
|
30
|
+
type: :development
|
31
|
+
version_requirements: *id001
|
21
32
|
description: " Dfect is an assertion testing library for Ruby that\n emphasizes a simple assertion vocabulary, instant\n debuggability of failures, and flexibility in composing\n tests.\n"
|
22
33
|
email:
|
23
|
-
executables:
|
24
|
-
|
34
|
+
executables:
|
35
|
+
- dfect
|
25
36
|
extensions: []
|
26
37
|
|
27
38
|
extra_rdoc_files: []
|
28
39
|
|
29
40
|
files:
|
30
41
|
- CREDITS
|
42
|
+
- inochi.opts
|
31
43
|
- INSTALL
|
44
|
+
- MANUAL
|
32
45
|
- test/runner
|
33
|
-
- test/dfect/inochi_test.rb
|
34
46
|
- test/test_helper.rb
|
35
47
|
- test/dfect_test.rb
|
36
48
|
- lib/dfect/inochi.rb
|
37
49
|
- lib/dfect/auto.rb
|
38
|
-
- lib/dfect/inochi.yaml
|
39
50
|
- lib/dfect/mini.rb
|
40
51
|
- lib/dfect/unit.rb
|
41
52
|
- lib/dfect/spec.rb
|
42
53
|
- lib/dfect.rb
|
54
|
+
- bin/dfect
|
43
55
|
- USAGE
|
44
56
|
- LICENSE
|
45
57
|
- HISTORY
|
@@ -61,7 +73,6 @@ files:
|
|
61
73
|
- doc/api/Dfect.html
|
62
74
|
- doc/api/file.LICENSE.html
|
63
75
|
- doc/api/file_list.html
|
64
|
-
- doc/index.erb
|
65
76
|
has_rdoc: true
|
66
77
|
homepage: http://snk.tuxfamily.org/lib/dfect/
|
67
78
|
licenses: []
|
data/doc/index.erb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
% api_reference_url = 'api/index.html'
|
2
|
-
% api_reference = "[API reference](#{api_reference_url})"
|
3
|
-
% source_code_tool = '[Git](http://git-scm.com)'
|
4
|
-
% source_code_url = 'http://github.com/sunaku/dfect'
|
5
|
-
% issue_tracker_url = 'http://github.com/sunaku/dfect/issues'
|
6
|
-
|
7
|
-
%|part "Welcome"
|
8
|
-
%+ "../README"
|
9
|
-
|
10
|
-
%|part "Setup"
|
11
|
-
%+ "../INSTALL"
|
12
|
-
|
13
|
-
%|part "Usage"
|
14
|
-
%+ "../USAGE"
|
15
|
-
|
16
|
-
%|part "History"
|
17
|
-
%|project_history
|
18
|
-
%+ "../HISTORY"
|
data/lib/dfect/inochi.yaml
DELETED
@@ -1,75 +0,0 @@
|
|
1
|
-
--- # information about your project -----------------------------------------
|
2
|
-
|
3
|
-
# Name of your project.
|
4
|
-
:project: Dfect
|
5
|
-
|
6
|
-
# Name of your project when packaged as a directory.
|
7
|
-
:package: dfect
|
8
|
-
|
9
|
-
# Name of Ruby module that namespaces your project.
|
10
|
-
:library: Dfect
|
11
|
-
|
12
|
-
# A short, single-line description of your project.
|
13
|
-
:tagline: Assertion testing library for Ruby
|
14
|
-
|
15
|
-
# Address of your project's published website.
|
16
|
-
:website: http://snk.tuxfamily.org/lib/dfect/
|
17
|
-
|
18
|
-
# A list of the core developers of your project.
|
19
|
-
#
|
20
|
-
# :authors:
|
21
|
-
# - An Example <an@example.com> # with email
|
22
|
-
# - Another Example # without email
|
23
|
-
#
|
24
|
-
:authors:
|
25
|
-
- Suraj N. Kurapati <sunaku@gmail.com>
|
26
|
-
|
27
|
-
# Number of the current release of your project.
|
28
|
-
:version: 2.0.0
|
29
|
-
|
30
|
-
# Date of the current release of your project.
|
31
|
-
:release: 2010-03-21
|
32
|
-
|
33
|
-
# A list of gems required by your project during runtime.
|
34
|
-
#
|
35
|
-
# :runtime:
|
36
|
-
# # your project needs exactly version 1.2.3 of the "an_example" gem
|
37
|
-
# an_example: 1.2.3
|
38
|
-
#
|
39
|
-
# # your project needs at least version 1.2 (but not
|
40
|
-
# # version 1.2.4 or newer) of the "another_example" gem
|
41
|
-
# another_example: [ >= 1.2 , < 1.2.4 ]
|
42
|
-
#
|
43
|
-
# # your project needs any version of the "yet_another_example" gem
|
44
|
-
# yet_another_example:
|
45
|
-
#
|
46
|
-
:runtime:
|
47
|
-
|
48
|
-
# A list of gems required by your project during development.
|
49
|
-
#
|
50
|
-
# :devtime:
|
51
|
-
# # your project needs exactly version 1.2.3 of the "an_example" gem
|
52
|
-
# an_example: 1.2.3
|
53
|
-
#
|
54
|
-
# # your project needs at least version 1.2 (but not
|
55
|
-
# # version 1.2.4 or newer) of the "another_example" gem
|
56
|
-
# another_example: [ >= 1.2 , < 1.2.4 ]
|
57
|
-
#
|
58
|
-
# # your project needs any version of the "yet_another_example" gem
|
59
|
-
# yet_another_example:
|
60
|
-
#
|
61
|
-
:devtime:
|
62
|
-
|
63
|
-
--- # parameters for the `inochi` command ------------------------------------
|
64
|
-
|
65
|
-
# Location where project documentation will be uploaded by `inochi pub:doc`.
|
66
|
-
:pub_doc_target: ~/www/lib/dfect/
|
67
|
-
|
68
|
-
# Options for the `rsync` command used to upload your project's documentation.
|
69
|
-
:pub_doc_options: --verbose --compress --archive --update --delete
|
70
|
-
|
71
|
-
# Path to YAML file containing login information for publishing announcements.
|
72
|
-
:pub_ann_logins: ~/.config/inochi/pub_ann_logins.yaml
|
73
|
-
|
74
|
-
# Your project's unique identifier in the RAA (Ruby Application Archive).
|
75
|
-
:pub_ann_raa_id: dfect
|
data/test/dfect/inochi_test.rb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
require 'dfect/inochi'
|
2
|
-
|
3
|
-
unless defined? Dfect::INOCHI
|
4
|
-
fail "Dfect module must be established by Inochi"
|
5
|
-
end
|
6
|
-
|
7
|
-
Dfect::INOCHI.each do |param, value|
|
8
|
-
const = param.to_s.upcase
|
9
|
-
|
10
|
-
unless Dfect.const_defined? const
|
11
|
-
fail "Dfect::#{const} must be established by Inochi"
|
12
|
-
end
|
13
|
-
|
14
|
-
unless Dfect.const_get(const) == value
|
15
|
-
fail "Dfect::#{const} is not what Inochi established"
|
16
|
-
end
|
17
|
-
end
|