InlineTester 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/lib/assertions.rb +72 -0
- data/lib/inline_tester.rb +7 -0
- metadata +52 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: dfa8eab0b0edc262020d149d928b11e8c379f79c
|
4
|
+
data.tar.gz: bd64e31e4073bc95ea42a32155dbc88cb48d79a9
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9914c721a40092ef19b998dc6c293d087ad67521efbe4275ebe92b1679a56c2d03e9cf1a4e944c9b58e13f203454bf614da2abe3581c09a24d381d6cc68685c8
|
7
|
+
data.tar.gz: bd0c3522c7de07d9ea2e7a90484340e9074f59835d40804cf7fdec23f49195f263eba69d6895320279916179449566ad04b6f89506ab8581859413d41c63945a
|
data/lib/assertions.rb
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
module InlineTester
|
2
|
+
|
3
|
+
module Assertions
|
4
|
+
|
5
|
+
$__stack_ = 2
|
6
|
+
|
7
|
+
public
|
8
|
+
def assert boolean, message=nil
|
9
|
+
unless boolean
|
10
|
+
# MESSAGE::: Assertion did not pass.
|
11
|
+
$stdout.print(message ||
|
12
|
+
"Expected a truthy value, but instead got #{boolean}")
|
13
|
+
stack_trace_print
|
14
|
+
else
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def refute boolean, message=nil
|
20
|
+
if boolean
|
21
|
+
# MESSAGE::: Refution did not pass.
|
22
|
+
$stdout.print(message ||
|
23
|
+
"Expected a falsy value, but instead got #{boolean}")
|
24
|
+
stack_trace_print
|
25
|
+
else
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def assert_something_raised message=nil, &block
|
31
|
+
begin
|
32
|
+
yield
|
33
|
+
# Message::: Nothing raised.
|
34
|
+
$stdout.print(message ||
|
35
|
+
"Expected #{block} to raise an Exception, but it did not.")
|
36
|
+
stack_trace_print
|
37
|
+
rescue => e
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def assert_matches string, pattern, message=nil
|
43
|
+
$__stack_+=1
|
44
|
+
assert(string =~ pattern, message ||
|
45
|
+
"Expected #{string} to match #{pattern}, but it did not.")
|
46
|
+
$__stack_-=1
|
47
|
+
end
|
48
|
+
|
49
|
+
def skip message=nil, &block
|
50
|
+
$stdout.print message || "Skipped assertion."
|
51
|
+
if block_given?
|
52
|
+
yield
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def todo message=nil
|
57
|
+
$stdout.print message || "TODO!"
|
58
|
+
stack_trace_print
|
59
|
+
end
|
60
|
+
|
61
|
+
private
|
62
|
+
def stack_trace_print
|
63
|
+
puts " from:"
|
64
|
+
# Print stack trace from _stack_ with at most 3 more deep
|
65
|
+
caller_locations($__stack_, 3).map do |call|
|
66
|
+
$stdout.puts "===> #{call.to_s}"
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
71
|
+
|
72
|
+
end
|
metadata
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: InlineTester
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Christian Tschoepe
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-04-20 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: An amazingly simple way to test & debug with assertions -- right in your
|
14
|
+
code! Allows you to test inline without writing any seperate unit tests as everything
|
15
|
+
is mixed into pour code. This helps ensure, for web apps like Rails, that if something
|
16
|
+
has gone wrong that shouldn't it gets reported in your logs without having to worry
|
17
|
+
about exception raising and rescuing. Want a unit testing library? This small library
|
18
|
+
can get you started in the right direction!
|
19
|
+
email: tschoepe.christian@gmail.com
|
20
|
+
executables: []
|
21
|
+
extensions: []
|
22
|
+
extra_rdoc_files: []
|
23
|
+
files:
|
24
|
+
- lib/assertions.rb
|
25
|
+
- lib/inline_tester.rb
|
26
|
+
homepage: http://rubygems.org/gems/inlinetester
|
27
|
+
licenses:
|
28
|
+
- MIT
|
29
|
+
metadata: {}
|
30
|
+
post_install_message:
|
31
|
+
rdoc_options: []
|
32
|
+
require_paths:
|
33
|
+
- lib
|
34
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - ">="
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
39
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
requirements: []
|
45
|
+
rubyforge_project:
|
46
|
+
rubygems_version: 2.2.2
|
47
|
+
signing_key:
|
48
|
+
specification_version: 4
|
49
|
+
summary: An amazingly simple way to test & debug with assertions -- right in your
|
50
|
+
code!
|
51
|
+
test_files: []
|
52
|
+
has_rdoc:
|