nanotest 0.9.3 → 0.9.4
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/.gitignore +1 -0
- data/Manifest +2 -1
- data/README.md +64 -0
- data/Rakefile +1 -1
- data/examples.rb +12 -10
- data/markdown.watchr +38 -0
- data/nanotest.gemspec +1 -1
- metadata +4 -3
- data/README.rdoc +0 -59
data/.gitignore
CHANGED
data/Manifest
CHANGED
data/README.md
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
*"Frustra fit per plura quod potest fieri per pauciora."* --William of Ockham
|
2
|
+
"It is futile to do with more things that which can be done with fewer."
|
3
|
+
|
4
|
+
### Summary
|
5
|
+
|
6
|
+
Extremely mynymal test framework. Perfect for DIY lovers. Nanotest provides
|
7
|
+
the bare mynymum needed; for everything else, there's ruby.
|
8
|
+
|
9
|
+
### Install
|
10
|
+
|
11
|
+
gem install nanotest
|
12
|
+
|
13
|
+
### Examples
|
14
|
+
|
15
|
+
require 'nanotest'
|
16
|
+
include Nanotest
|
17
|
+
|
18
|
+
assert { 1 == 1 }
|
19
|
+
assert { 2 > 1 }
|
20
|
+
assert { not 1 > 2 }
|
21
|
+
assert { 1 == 2 } #line 12
|
22
|
+
|
23
|
+
outputs:
|
24
|
+
|
25
|
+
...F
|
26
|
+
(examples.rb:012) assertion failed
|
27
|
+
|
28
|
+
See actual use at <http://github.com/mynyml/phocus/blob/master/test/test_phocus.rb>
|
29
|
+
|
30
|
+
### API
|
31
|
+
|
32
|
+
Nanotest has a single method: `#assert`. You can either include Nanotest as
|
33
|
+
above, or use its method directly: `Nanotest.assert { true }`. Its block is
|
34
|
+
expected to return a boolean. If it's false it fails, otherwise it passes.
|
35
|
+
Simple as that.
|
36
|
+
|
37
|
+
`#assert` also accepts a custom failure message:
|
38
|
+
|
39
|
+
assert("foo is too small") { @foo > 5 } #line 36
|
40
|
+
#=> (examples.rb:036) foo is too small
|
41
|
+
|
42
|
+
That's pretty much it. Maximum Simplicity. If you insist on doing something
|
43
|
+
fancy, check out the wiki for a few tips and tricks.
|
44
|
+
|
45
|
+
### Stats
|
46
|
+
|
47
|
+
$ rake -s loc
|
48
|
+
lib contains 18 SLOCs
|
49
|
+
|
50
|
+
### See Also
|
51
|
+
|
52
|
+
* [nanotest/extensions][1]
|
53
|
+
* [redgreen][2]
|
54
|
+
|
55
|
+
### Links
|
56
|
+
|
57
|
+
* code: <http://github.com/mynyml/nanotest>
|
58
|
+
* docs: <http://rdoc.info/projects/mynyml/nanotest>
|
59
|
+
* wiki: <http://wiki.github.com/mynyml/nanotest>
|
60
|
+
* bugs: <http://github.com/mynyml/nanotest/issues>
|
61
|
+
|
62
|
+
|
63
|
+
[1]: http://github.com/mynyml/nanotest_extensions
|
64
|
+
[2]: http://github.com/mynyml/redgreen
|
data/Rakefile
CHANGED
data/examples.rb
CHANGED
@@ -1,29 +1,31 @@
|
|
1
1
|
require 'nanotest'
|
2
|
-
include
|
2
|
+
include Nanotest
|
3
3
|
|
4
4
|
class Foo
|
5
|
-
attr_accessor :
|
5
|
+
attr_accessor :bar
|
6
6
|
end
|
7
7
|
|
8
8
|
@foo = Foo.new
|
9
9
|
|
10
10
|
assert { @foo.is_a?(Foo) }
|
11
|
-
assert { @foo.respond_to?(:
|
12
|
-
assert { @foo.
|
11
|
+
assert { @foo.respond_to?(:bar) }
|
12
|
+
assert { @foo.bar.nil? }
|
13
13
|
|
14
|
-
@foo.
|
15
|
-
@foo.
|
14
|
+
@foo.bar = 'a'
|
15
|
+
@foo.bar << 'b'
|
16
16
|
|
17
|
-
assert {
|
17
|
+
assert { @foo.bar == 'ab' }
|
18
|
+
assert { not @foo.bar == 'xy' }
|
18
19
|
|
19
|
-
@foo.
|
20
|
+
@foo.bar = nil
|
20
21
|
|
21
|
-
assert { @foo.
|
22
|
+
assert { @foo.bar == 'ab' }
|
22
23
|
assert('boom') { false }
|
23
24
|
|
24
25
|
__END__
|
25
26
|
output:
|
26
27
|
|
27
|
-
|
28
|
+
.....FF
|
28
29
|
(examples.rb:021) assertion failed
|
29
30
|
(examples.rb:022) boom
|
31
|
+
|
data/markdown.watchr
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
#!/usr/bin/env watchr
|
2
|
+
|
3
|
+
require 'pathname'
|
4
|
+
require 'rdiscount'
|
5
|
+
# --------------------------------------------------
|
6
|
+
# Helpers
|
7
|
+
# --------------------------------------------------
|
8
|
+
class ::String
|
9
|
+
def md2html
|
10
|
+
RDiscount.new(self).to_html
|
11
|
+
end
|
12
|
+
def save_as(path)
|
13
|
+
Pathname(path).open('w') {|f| f << self }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
default_action do
|
18
|
+
md = Pathname('README.md').expand_path
|
19
|
+
html = Pathname('doc/README.html').expand_path
|
20
|
+
|
21
|
+
puts "Translating #{md.basename} (file://#{html})"
|
22
|
+
md.read.md2html.save_as(html)
|
23
|
+
end
|
24
|
+
|
25
|
+
# --------------------------------------------------
|
26
|
+
# Watchr Rules
|
27
|
+
# --------------------------------------------------
|
28
|
+
watch( '^README\.md' )
|
29
|
+
|
30
|
+
# --------------------------------------------------
|
31
|
+
# Signal Handling
|
32
|
+
# --------------------------------------------------
|
33
|
+
# Ctrl-\
|
34
|
+
Signal.trap('QUIT') { default_action.call }
|
35
|
+
|
36
|
+
# Ctrl-C
|
37
|
+
Signal.trap('INT') { abort("\n") }
|
38
|
+
|
data/nanotest.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nanotest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Aumont
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-12-07 00:00:00 -03:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -34,11 +34,12 @@ files:
|
|
34
34
|
- .gitignore
|
35
35
|
- LICENSE
|
36
36
|
- Manifest
|
37
|
-
- README.
|
37
|
+
- README.md
|
38
38
|
- Rakefile
|
39
39
|
- examples.rb
|
40
40
|
- gem.watchr
|
41
41
|
- lib/nanotest.rb
|
42
|
+
- markdown.watchr
|
42
43
|
- nanotest.gemspec
|
43
44
|
- specs.watchr
|
44
45
|
- test/test_helper.rb
|
data/README.rdoc
DELETED
@@ -1,59 +0,0 @@
|
|
1
|
-
=== Summary
|
2
|
-
|
3
|
-
Extremely mynymal test framework. Perfect for DIY lovers. Nanotest provides
|
4
|
-
the bare mynymum needed; for everything else, there's ruby.
|
5
|
-
|
6
|
-
=== Install
|
7
|
-
|
8
|
-
gem install nanotest --source http://gemcutter.org
|
9
|
-
|
10
|
-
=== Examples
|
11
|
-
|
12
|
-
require 'nanotest'
|
13
|
-
include Nanotest
|
14
|
-
|
15
|
-
assert { 1 == 1 }
|
16
|
-
assert { 2 > 1 }
|
17
|
-
assert { not 1 > 2 }
|
18
|
-
assert { 1 == 2 } #line 12
|
19
|
-
|
20
|
-
outputs:
|
21
|
-
|
22
|
-
...F
|
23
|
-
(examples.rb:012) assertion failed
|
24
|
-
|
25
|
-
There's also a real life example at http://github.com/mynyml/phocus/blob/master/test/test_phocus.rb
|
26
|
-
|
27
|
-
=== API
|
28
|
-
|
29
|
-
Nanotest has a single method: #assert. You can either include Nanotest as
|
30
|
-
above, or use its method directly:
|
31
|
-
|
32
|
-
Nanotest.assert { true }
|
33
|
-
|
34
|
-
Its block is expected to return a boolean. If it's false it fails, otherwise
|
35
|
-
it passes. Simple as that.
|
36
|
-
|
37
|
-
#assert also accepts a custom failure message (defaults to "assertion failed"):
|
38
|
-
|
39
|
-
assert("foo is too small") { @foo > 5 } #line 36
|
40
|
-
#=> (examples.rb:036) foo is too small
|
41
|
-
|
42
|
-
That's pretty much it. Maximum Simplicity. If you insist on doing something
|
43
|
-
fancy, check out the wiki for a few tips and tricks.
|
44
|
-
|
45
|
-
=== Stats
|
46
|
-
|
47
|
-
$ rake -s loc
|
48
|
-
lib files contain 18 SLOCs
|
49
|
-
|
50
|
-
=== Links
|
51
|
-
|
52
|
-
source:: http://github.com/mynyml/nanotest
|
53
|
-
docs:: http://rdoc.info/projects/mynyml/nanotest
|
54
|
-
wiki:: http://wiki.github.com/mynyml/nanotest
|
55
|
-
bugs:: http://github.com/mynyml/nanotest/issues
|
56
|
-
|
57
|
-
|
58
|
-
tl;dr: is small test fw. is fun. assert("msg") { bool }
|
59
|
-
|