monkeyspecdoc 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+ $: << File.join(File.dirname(__FILE__), '..', 'lib')
3
+
4
+ $:.push File.dirname(__FILE__)
5
+ require 'monkeyspecdoc'
6
+
7
+ ARGV.each do |file|
8
+ require file
9
+ end
@@ -0,0 +1,7 @@
1
+ task :default => [:test]
2
+
3
+ task :test do
4
+ require 'rake/runtest'
5
+ require '../specdoc'
6
+ Rake.run_tests 'helloworld_test.rb'
7
+ end
@@ -0,0 +1,5 @@
1
+ class HelloWorld
2
+ def say_hello(io)
3
+ io.write('Hello, World')
4
+ end
5
+ end
@@ -0,0 +1,20 @@
1
+ $: << File.dirname(__FILE__)
2
+
3
+ require 'test/unit'
4
+ require 'rubygems'
5
+ require 'stringio'
6
+ require 'helloworld'
7
+
8
+ describe HelloWorld do
9
+
10
+ before(:each) do
11
+ @hello = HelloWorld.new
12
+ end
13
+
14
+ it 'should say "Hello, World!"' do
15
+ sio = StringIO.new
16
+ @hello.say_hello(sio)
17
+ sio.string.should == 'Hello, World!'
18
+ end
19
+
20
+ end
@@ -0,0 +1,24 @@
1
+ $: << File.dirname(__FILE__)
2
+
3
+ require 'test/unit'
4
+ require 'rubygems'
5
+ require 'shoulda'
6
+ require 'stringio'
7
+ require 'helloworld'
8
+
9
+ class TestHelloWorld < Test::Unit::TestCase
10
+
11
+ context 'HelloWorld' do
12
+
13
+ setup do
14
+ @hello = HelloWorld.new
15
+ end
16
+
17
+ should 'say "Hello, World!"' do
18
+ sio = StringIO.new
19
+ @hello.say_hello(sio)
20
+ assert_equal 'Hello, World!', sio.string
21
+ end
22
+
23
+ end
24
+ end
@@ -0,0 +1,81 @@
1
+ require 'test/unit'
2
+ require 'test/unit/ui/console/testrunner'
3
+
4
+ def split_shoulda_names(name)
5
+ if /test: (.*) (should .*)\./ =~ name
6
+ [$1, $2]
7
+ elsif /(.*)\(Test(.*)\)/ =~ name
8
+ [$2, $1]
9
+ end
10
+ end
11
+
12
+ module Test
13
+ module Unit
14
+
15
+ class Failure
16
+ def long_display
17
+ location_display = if(location.size == 1)
18
+ location[0].sub(/\A(.+:\d+).*/, ' [\\1]')
19
+ else
20
+ "\n [#{location.join("\n ")}]"
21
+ end
22
+ name=(split=split_shoulda_names(@test_name))?split.join(" "):@test_name
23
+ "#{name} FAILED: #{location_display}:\n #@message"
24
+ end
25
+ end
26
+
27
+ class Error
28
+ def long_display
29
+ backtrace = filter_backtrace(@exception.backtrace).join("\n ")
30
+ name=(split=split_shoulda_names(@test_name))?split.join(" "):@test_name
31
+ "#{@exception.class.name} in #{name}:\n#{message}\n #{backtrace}"
32
+ end
33
+ end
34
+
35
+ module UI
36
+ module Console
37
+ class TestRunner
38
+
39
+ alias_method :test_started_old, :test_started
40
+
41
+ def test_started(name)
42
+ ctx, should = split_shoulda_names(name)
43
+ unless ctx.nil? or should.nil?
44
+ if ctx != @ctx
45
+ nl
46
+ output("#{ctx}:")
47
+ end
48
+ @ctx = ctx
49
+ @current_test_text = " ==> #{should}"
50
+ #output_single("- #{should}: ")
51
+ else
52
+ test_started_old(name)
53
+ end
54
+ end
55
+
56
+ def add_fault(fault)
57
+ @faults << fault
58
+ @already_outputted = true
59
+ end
60
+
61
+ def test_finished(name)
62
+ # can cause issues if there's no test text.
63
+ @current_test_text = ' ' if @current_test_text.empty? || @current_test_text.nil?
64
+ if fault = @faults.find {|f| f.test_name == name}
65
+ # Added ! to ERROR for length consistency
66
+ fault_type = fault.is_a?(Test::Unit::Failure) ? "FAILED" : "ERROR!"
67
+ # NOTE -- Concatenation because "\e[0m]" does funky stuff.
68
+ output("[\e[0;31m#{fault_type}\e[0m" + "]#{@current_test_text} (#{@faults.length})")
69
+ else
70
+ # Added spaces on either side of OK for length consistency
71
+ output("[ \e[0;32mOK\e[0m ]#{@current_test_text}")
72
+ end
73
+ @already_outputted = false
74
+ end
75
+
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
81
+
@@ -0,0 +1,18 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = %q{monkeyspecdoc}
3
+ s.version = "0.9.5"
4
+
5
+ s.authors = ["Janico Greifenberg"]
6
+ s.date = %q{2008-12-18}
7
+ s.default_executable = %q{mkspecdoc}
8
+ s.description = %q{Specdoc output for Ruby's Test::Unit and Shoulda}
9
+ s.email = %q{jgre@jgre.org}
10
+ s.executables = ["mkspecdoc"]
11
+ s.require_paths = ["lib"]
12
+ s.files = %w{bin/mkspecdoc monkeyspecdoc.gemspec lib/monkeyspecdoc.rb examples/helloworld.rb examples/helloworld_spec.rb examples/helloworld_test.rb examples/Rakefile test/error_test.rb test/failure_test.rb test/monkeyspecdoc_test.rb test/success_test.rb}
13
+ s.has_rdoc = false
14
+ s.homepage = %q{http://jgre.org/2008/09/03/monkeyspecdoc/}
15
+ s.summary = %q{Specdoc output for Ruby's Test::Unit and Shoulda}
16
+ s.test_files = ["test/monkeyspecdoc_test.rb"]
17
+ end
18
+
@@ -0,0 +1,11 @@
1
+ require 'test/unit'
2
+ require 'rubygems'
3
+ require 'shoulda'
4
+
5
+ class TestError < Test::Unit::TestCase
6
+
7
+ should 'be ok' do
8
+ bla
9
+ end
10
+
11
+ end
@@ -0,0 +1,12 @@
1
+ require 'test/unit'
2
+ require 'rubygems'
3
+ require 'shoulda'
4
+
5
+ class TestFailure < Test::Unit::TestCase
6
+
7
+ should 'be ok' do
8
+ flunk
9
+ end
10
+
11
+ end
12
+
@@ -0,0 +1,44 @@
1
+ $: << File.join(File.dirname(__FILE__), '..', 'lib')
2
+ $: << File.dirname(__FILE__)
3
+
4
+ require 'test/unit'
5
+ require 'test/unit/ui/console/testrunner'
6
+
7
+ require 'rubygems'
8
+ require 'shoulda'
9
+ require 'monkeyspecdoc'
10
+ require 'stringio'
11
+
12
+
13
+ class TestMonkeySpecDoc < Test::Unit::TestCase
14
+
15
+ def setup
16
+ @sio = StringIO.new
17
+ end
18
+
19
+ should 'print success messages' do
20
+ require 'success_test'
21
+ Test::Unit::UI::Console::TestRunner.new(TestSuccess, 2, @sio).start
22
+ assert_match /^Success:$/, @sio.string
23
+ assert_match /^\[ .*OK.* \] ==> should be ok/, @sio.string
24
+ end
25
+
26
+ should 'print failure messages' do
27
+ require 'failure_test'
28
+ Test::Unit::UI::Console::TestRunner.new(TestFailure, 2, @sio).start
29
+ assert_match /^Failure:$/, @sio.string
30
+ assert_match /^\[.*FAILED.*\] ==> should be ok \(\d\)/, @sio.string
31
+ assert_match /1\) Failure should be ok FAILED:/, @sio.string
32
+ assert_match /Flunked./, @sio.string
33
+ end
34
+
35
+ should 'print error messages' do
36
+ require 'error_test'
37
+ Test::Unit::UI::Console::TestRunner.new(TestError, 2, @sio).start
38
+ assert_match /^Error:$/, @sio.string
39
+ assert_match /^\[.*ERROR\!.*\] ==> should be ok \(\d\)/, @sio.string
40
+ assert_match /1\) NameError in Error should be ok:/, @sio.string
41
+ assert_match /NameError: undefined local variable or method .bla. for/,
42
+ @sio.string
43
+ end
44
+ end
@@ -0,0 +1,11 @@
1
+ require 'test/unit'
2
+ require 'rubygems'
3
+ require 'shoulda'
4
+
5
+ class TestSuccess < Test::Unit::TestCase
6
+
7
+ should 'be ok' do
8
+ assert true
9
+ end
10
+
11
+ end
metadata ADDED
@@ -0,0 +1,72 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: monkeyspecdoc
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 9
8
+ - 5
9
+ version: 0.9.5
10
+ platform: ruby
11
+ authors:
12
+ - Janico Greifenberg
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2008-12-18 00:00:00 +01:00
18
+ default_executable: mkspecdoc
19
+ dependencies: []
20
+
21
+ description: Specdoc output for Ruby's Test::Unit and Shoulda
22
+ email: jgre@jgre.org
23
+ executables:
24
+ - mkspecdoc
25
+ extensions: []
26
+
27
+ extra_rdoc_files: []
28
+
29
+ files:
30
+ - bin/mkspecdoc
31
+ - monkeyspecdoc.gemspec
32
+ - lib/monkeyspecdoc.rb
33
+ - examples/helloworld.rb
34
+ - examples/helloworld_spec.rb
35
+ - examples/helloworld_test.rb
36
+ - examples/Rakefile
37
+ - test/error_test.rb
38
+ - test/failure_test.rb
39
+ - test/monkeyspecdoc_test.rb
40
+ - test/success_test.rb
41
+ has_rdoc: false
42
+ homepage: http://jgre.org/2008/09/03/monkeyspecdoc/
43
+ licenses: []
44
+
45
+ post_install_message:
46
+ rdoc_options: []
47
+
48
+ require_paths:
49
+ - lib
50
+ required_ruby_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ segments:
55
+ - 0
56
+ version: "0"
57
+ required_rubygems_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ segments:
62
+ - 0
63
+ version: "0"
64
+ requirements: []
65
+
66
+ rubyforge_project:
67
+ rubygems_version: 1.3.6
68
+ signing_key:
69
+ specification_version: 3
70
+ summary: Specdoc output for Ruby's Test::Unit and Shoulda
71
+ test_files:
72
+ - test/monkeyspecdoc_test.rb