rcheck 0.1.0
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.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +28 -0
- data/README.md +36 -0
- data/Rakefile +37 -0
- data/TODO +20 -0
- data/bin/rcheck +10 -0
- data/lib/rcheck.rb +40 -0
- data/lib/rcheck/assertions.rb +122 -0
- data/lib/rcheck/backtrace.rb +39 -0
- data/lib/rcheck/class_methods.rb +18 -0
- data/lib/rcheck/cli.rb +57 -0
- data/lib/rcheck/colors.rb +47 -0
- data/lib/rcheck/command.rb +158 -0
- data/lib/rcheck/conf.rb +11 -0
- data/lib/rcheck/debugging.rb +32 -0
- data/lib/rcheck/default_commands.rb +29 -0
- data/lib/rcheck/dsl.rb +25 -0
- data/lib/rcheck/errors.rb +36 -0
- data/lib/rcheck/filters.rb +21 -0
- data/lib/rcheck/formatting.rb +58 -0
- data/lib/rcheck/headers.rb +24 -0
- data/lib/rcheck/option_expander.rb +57 -0
- data/lib/rcheck/options.rb +60 -0
- data/lib/rcheck/progress_printers.rb +16 -0
- data/lib/rcheck/report_printers.rb +118 -0
- data/lib/rcheck/result.rb +38 -0
- data/lib/rcheck/suite.rb +144 -0
- data/lib/rcheck/trollop.rb +861 -0
- data/lib/rcheck/version.rb +3 -0
- data/rcheck.gemspec +26 -0
- data/tests/rcheck/class_methods.rb +50 -0
- data/tests/rcheck/version.rb +4 -0
- data/tests/sanity.rb +113 -0
- metadata +119 -0
data/rcheck.gemspec
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'rcheck/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'rcheck'
|
8
|
+
spec.version = RCheck::VERSION
|
9
|
+
spec.authors = ['Jostein Berre Eliassen']
|
10
|
+
spec.email = []
|
11
|
+
|
12
|
+
spec.summary = 'RCheck < RSpec'
|
13
|
+
spec.description = 'Tests that are very simple, useful and quick'
|
14
|
+
spec.homepage = 'https://github.com/jbe/rcheck'
|
15
|
+
|
16
|
+
spec.require_paths = ['lib']
|
17
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
18
|
+
f.match(%r{^(test|spec|features)/})
|
19
|
+
end
|
20
|
+
spec.bindir = 'bin'
|
21
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
22
|
+
|
23
|
+
spec.add_development_dependency 'bundler', '~> 1.10'
|
24
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
25
|
+
spec.add_development_dependency 'pry'
|
26
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
|
2
|
+
RCheck 'RCheck/ClassMethods' do
|
3
|
+
suite :version do
|
4
|
+
assert RCheck.version, :include?, "Ruby #{RUBY_VERSION}"
|
5
|
+
assert RCheck.version, :include?, RCheck::VERSION
|
6
|
+
end
|
7
|
+
|
8
|
+
suite :which do
|
9
|
+
assert File, :directory?, RCheck.which
|
10
|
+
end
|
11
|
+
|
12
|
+
suite :root do
|
13
|
+
assert RCheck.root, :is_a?, RCheck::Suite
|
14
|
+
assert RCheck.root.name, :nil?
|
15
|
+
assert RCheck.root.parent, :nil?
|
16
|
+
assert RCheck.root, :==, RCheck::ROOT_SUITE
|
17
|
+
end
|
18
|
+
|
19
|
+
sample_name = 'samples/waffles'
|
20
|
+
sample = RCheck.suite(sample_name) { }
|
21
|
+
|
22
|
+
suite :suite do
|
23
|
+
assert RCheck.suite, :==, RCheck.root
|
24
|
+
assert RCheck.suite(sample_name), :==, sample
|
25
|
+
end
|
26
|
+
|
27
|
+
suite :[] do
|
28
|
+
assert RCheck[], :==, RCheck.root
|
29
|
+
assert RCheck[sample_name], :==, sample
|
30
|
+
end
|
31
|
+
|
32
|
+
suite :severity do
|
33
|
+
%i(local total subtree).each do |scope|
|
34
|
+
assert RCheck.severity(scope), :is_a?, Symbol
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
suite :define do
|
39
|
+
name = :sample_command
|
40
|
+
val = RCheck.define(name, '')
|
41
|
+
assert val, :is_a?, RCheck::Command
|
42
|
+
assert RCheck::Command.find(name), :==, val
|
43
|
+
end
|
44
|
+
|
45
|
+
suite :invoke! do
|
46
|
+
# rcheck was probably already invoked using this syntax, so
|
47
|
+
# there is no need, nor possible to do it again here.
|
48
|
+
assert RCheck, :respond_to?, :invoke!
|
49
|
+
end
|
50
|
+
end
|
data/tests/sanity.rb
ADDED
@@ -0,0 +1,113 @@
|
|
1
|
+
RCheck :sanity do
|
2
|
+
|
3
|
+
suite :axioms do
|
4
|
+
suite :foundation do
|
5
|
+
assert true
|
6
|
+
debug "truth asserts"
|
7
|
+
refute false
|
8
|
+
debug "lie refutes"
|
9
|
+
assert_safe { sleep 0.000001 }
|
10
|
+
debug "sleeping is safe"
|
11
|
+
assert_raises(RuntimeError, 'error') { raise 'error' }
|
12
|
+
debug "assert_raises catches runtime error"
|
13
|
+
end
|
14
|
+
|
15
|
+
suite :equality do
|
16
|
+
assert 1, :equal?, 1
|
17
|
+
assert 1, :eql?, 1
|
18
|
+
assert 1, :==, 1
|
19
|
+
assert 1, :===, 1
|
20
|
+
end
|
21
|
+
|
22
|
+
suite :comparison do
|
23
|
+
assert 2, :>, 1
|
24
|
+
assert 1, :>=, 1
|
25
|
+
assert 1, :<, 2
|
26
|
+
assert 1, :<=, 1
|
27
|
+
assert 1, :<=>, 2
|
28
|
+
end
|
29
|
+
|
30
|
+
suite :matching do
|
31
|
+
assert 0..10, :===, 5
|
32
|
+
assert(/hm/, :===, "hmmmmm")
|
33
|
+
end
|
34
|
+
|
35
|
+
suite :brackets do
|
36
|
+
assert [true, false], :[], 0
|
37
|
+
refute [true, false], :[], 1
|
38
|
+
assert [], :[]=, 0, true
|
39
|
+
end
|
40
|
+
|
41
|
+
suite :methods do
|
42
|
+
assert Object, :respond_to?, :new
|
43
|
+
assert Object.new, :instance_of?, Object
|
44
|
+
assert Class, :is_a?, Class
|
45
|
+
end
|
46
|
+
|
47
|
+
suite :within_delta do
|
48
|
+
assert 0.2, :>, 1.0 - 1.0
|
49
|
+
assert 0.1, :>, 100000000.0 - 100000000.0
|
50
|
+
end
|
51
|
+
|
52
|
+
suite :scope do
|
53
|
+
def helper_method() :helper_method end
|
54
|
+
helper_var = :helper_var
|
55
|
+
HELPER_CONST = :helper_const
|
56
|
+
|
57
|
+
suite :upwards do
|
58
|
+
assert helper_method, :==, :helper_method
|
59
|
+
assert helper_var, :==, :helper_var
|
60
|
+
assert HELPER_CONST, :==, :helper_const
|
61
|
+
end
|
62
|
+
|
63
|
+
suite :_unreachable do
|
64
|
+
def descendant_method() :helper_method end
|
65
|
+
descendant_var = :helper_var
|
66
|
+
end
|
67
|
+
|
68
|
+
suite :downwards do
|
69
|
+
assert_raises(NameError) { descendant_method }
|
70
|
+
assert_raises(NameError) { descendant_var }
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
suite :generics do
|
75
|
+
def example_law(suite, *args)
|
76
|
+
suite.assert(*args)
|
77
|
+
end
|
78
|
+
|
79
|
+
suite :child do
|
80
|
+
example_law self, true
|
81
|
+
end
|
82
|
+
|
83
|
+
def assert_custom(left, *rest)
|
84
|
+
assert(left, *rest)
|
85
|
+
val = nil
|
86
|
+
assert_safe do
|
87
|
+
val = rest.any? ? left.send(*rest) : left
|
88
|
+
end
|
89
|
+
assert val
|
90
|
+
refute !val
|
91
|
+
true
|
92
|
+
end
|
93
|
+
|
94
|
+
assert_custom true
|
95
|
+
assert_custom :symbol
|
96
|
+
assert_custom Class
|
97
|
+
assert_custom true, :==, true
|
98
|
+
assert_custom Class, :is_a?, Class
|
99
|
+
assert_custom nil, :nil?
|
100
|
+
assert_custom assert_custom(true)
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
# failures
|
105
|
+
# assert false
|
106
|
+
# debug "it was false!"
|
107
|
+
# refute true, :==, true
|
108
|
+
# debug "it really was"
|
109
|
+
# raise 'bah'
|
110
|
+
#
|
111
|
+
# assert_raises(RuntimeError, "yo") { raise 'bug' }
|
112
|
+
# assert_safe { raise("finger") }
|
113
|
+
end
|
metadata
ADDED
@@ -0,0 +1,119 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rcheck
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jostein Berre Eliassen
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-02-07 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.10'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.10'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: pry
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
description: Tests that are very simple, useful and quick
|
56
|
+
email: []
|
57
|
+
executables:
|
58
|
+
- rcheck
|
59
|
+
extensions: []
|
60
|
+
extra_rdoc_files: []
|
61
|
+
files:
|
62
|
+
- ".gitignore"
|
63
|
+
- Gemfile
|
64
|
+
- Gemfile.lock
|
65
|
+
- README.md
|
66
|
+
- Rakefile
|
67
|
+
- TODO
|
68
|
+
- bin/rcheck
|
69
|
+
- lib/rcheck.rb
|
70
|
+
- lib/rcheck/assertions.rb
|
71
|
+
- lib/rcheck/backtrace.rb
|
72
|
+
- lib/rcheck/class_methods.rb
|
73
|
+
- lib/rcheck/cli.rb
|
74
|
+
- lib/rcheck/colors.rb
|
75
|
+
- lib/rcheck/command.rb
|
76
|
+
- lib/rcheck/conf.rb
|
77
|
+
- lib/rcheck/debugging.rb
|
78
|
+
- lib/rcheck/default_commands.rb
|
79
|
+
- lib/rcheck/dsl.rb
|
80
|
+
- lib/rcheck/errors.rb
|
81
|
+
- lib/rcheck/filters.rb
|
82
|
+
- lib/rcheck/formatting.rb
|
83
|
+
- lib/rcheck/headers.rb
|
84
|
+
- lib/rcheck/option_expander.rb
|
85
|
+
- lib/rcheck/options.rb
|
86
|
+
- lib/rcheck/progress_printers.rb
|
87
|
+
- lib/rcheck/report_printers.rb
|
88
|
+
- lib/rcheck/result.rb
|
89
|
+
- lib/rcheck/suite.rb
|
90
|
+
- lib/rcheck/trollop.rb
|
91
|
+
- lib/rcheck/version.rb
|
92
|
+
- rcheck.gemspec
|
93
|
+
- tests/rcheck/class_methods.rb
|
94
|
+
- tests/rcheck/version.rb
|
95
|
+
- tests/sanity.rb
|
96
|
+
homepage: https://github.com/jbe/rcheck
|
97
|
+
licenses: []
|
98
|
+
metadata: {}
|
99
|
+
post_install_message:
|
100
|
+
rdoc_options: []
|
101
|
+
require_paths:
|
102
|
+
- lib
|
103
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
104
|
+
requirements:
|
105
|
+
- - ">="
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
version: '0'
|
108
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - ">="
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
113
|
+
requirements: []
|
114
|
+
rubyforge_project:
|
115
|
+
rubygems_version: 2.4.5
|
116
|
+
signing_key:
|
117
|
+
specification_version: 4
|
118
|
+
summary: RCheck < RSpec
|
119
|
+
test_files: []
|