dots 0.0.1 → 0.0.2

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.
@@ -1,3 +1,10 @@
1
+ == 0.0.2 / 2009-12-06
2
+
3
+ * 1 bugfix:
4
+
5
+ * Fix a warning (thanks, Scott Taylor).
6
+
7
+
1
8
  == 0.0.1 / 2009-05-10
2
9
 
3
10
  * 1 major enhancement:
@@ -10,7 +10,7 @@
10
10
  ..............F........F.FFFFEEEEEEEEEEFFFFF.F.............................
11
11
  .....................................................................ready!
12
12
 
13
- Free progress dots for your scripts. <tt>Test::Unit</tt>-style.
13
+ Free progress dots for your scripts, <tt>Test::Unit</tt>-style.
14
14
 
15
15
  http://github.com/stephencelis/dots
16
16
 
@@ -70,11 +70,11 @@ Oh, and for heavy, non-iterative processing:
70
70
 
71
71
  (c) 2009-* Stephen Celis, stephen@stephencelis.com.
72
72
 
73
- Permission is hereby granted, free of charge, to any person obtaining a copy
74
- of this software and associated documentation files (the "Software"), to deal
75
- in the Software without restriction, including without limitation the rights
76
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
77
- copies of the Software, and to permit persons to whom the Software is
73
+ Permission is hereby granted, free of charge, to any person obtaining a copy
74
+ of this software and associated documentation files (the "Software"), to deal
75
+ in the Software without restriction, including without limitation the rights
76
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
77
+ copies of the Software, and to permit persons to whom the Software is
78
78
  furnished to do so, subject to the following conditions:
79
79
 
80
80
  The above copyright notice and this permission notice shall be included in all
data/Rakefile CHANGED
@@ -23,11 +23,13 @@ rescue LoadError
23
23
  end
24
24
 
25
25
  begin
26
+ require "cucumber"
26
27
  require "cucumber/rake/task"
27
28
 
28
29
  desc "Run all features"
29
30
  Cucumber::Rake::Task.new :features do |t|
30
- t.cucumber_opts = "--no-source --format=progress features"
31
+ t.cucumber_opts = "features --no-source --format=progress"
32
+ t.fork = false
31
33
  end
32
34
 
33
35
  defaults << :features
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{dots}
5
- s.version = "0.0.1"
5
+ s.version = "0.0.2"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Stephen Celis"]
9
- s.date = %q{2009-05-10}
9
+ s.date = %q{2009-12-06}
10
10
  s.description = %q{Free progress dots for your scripts.}
11
11
  s.email = ["stephen@stephencelis.com"]
12
12
  s.extra_rdoc_files = ["History.rdoc", "Manifest.txt", "README.rdoc"]
@@ -28,7 +28,7 @@ Feature: dot progress
28
28
  And I should see the exception's line number
29
29
  And I should see "<3>"
30
30
  And I should see "5 total, 4 passed, 1 failed, 0 erred"
31
-
31
+
32
32
  Scenario: Display errors
33
33
  Given an array [1, 2, 3, 4, 5]
34
34
  When I divide each by zero
@@ -39,7 +39,7 @@ Then(/^I should see (\d+) "([^\"])" dots?$/) do |dot, number|
39
39
  end
40
40
 
41
41
  Then(/^I should see how long it took$/) do
42
- @content.should match(/Finished in \d+\.\d+ seconds/)
42
+ @content.should match(/Finished in .+? seconds/)
43
43
  end
44
44
 
45
45
  Then(/^I should see "([^\"]*)" (\d+) times?$/) do |message, number|
@@ -1,6 +1,6 @@
1
1
  # Dots makes dots.
2
2
  module Dots
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
 
5
5
  class InvalidDot < StandardError
6
6
  end
@@ -57,7 +57,7 @@ module Dots
57
57
  # ?> end
58
58
  # E...F.
59
59
  # Finished in 0.000430 seconds.
60
- #
60
+ #
61
61
  # 1) Error
62
62
  # ZeroDivisionError: divided by 0
63
63
  # with <0>
@@ -66,26 +66,25 @@ module Dots
66
66
  # (irb):2:in `irb_binding'
67
67
  # /usr/local/lib/ruby/1.8/irb/workspace.rb:52:in `irb_binding'
68
68
  # /usr/local/lib/ruby/1.8/irb/workspace.rb:52
69
- #
69
+ #
70
70
  # 2) Failure
71
- # No fours!
71
+ # No fours!
72
72
  # with <4>
73
73
  # [(irb):4]
74
+ #
75
+ # 6 total, 4 passed, 1 failed, 1 erred
76
+ # => 0..5
74
77
  def each_with_dots(io = $stdout)
75
78
  old_sync, io.sync = io.sync, true
76
79
  exceptions, passed, start = [], 0, Time.now
77
- trap("INT") { return io.puts "abort!" }
80
+ trap("INT") { return io.puts("abort!") }
78
81
  each do |object|
79
82
  begin
80
83
  yield object
81
84
  io.print Dots["."]
82
85
  passed += 1
83
86
  rescue => e
84
- if e.is_a? RuntimeError
85
- io.print Dots["F"]
86
- else
87
- io.print Dots["E"]
88
- end
87
+ io.print Dots[e.is_a?(RuntimeError) ? "F" : "E"]
89
88
  exceptions << [object, e] unless exceptions.nil?
90
89
  end
91
90
  end
@@ -115,7 +114,7 @@ module Dots
115
114
  # ?> end
116
115
  # .....=> 5
117
116
  def dots(interval = 1, io = $stdout)
118
- old_sync, io.sync = io.sync, true
117
+ old_sync, io.sync = io.sync, true
119
118
 
120
119
  thread = Thread.new do
121
120
  dot = lambda do
@@ -1,13 +1,14 @@
1
1
  require "spec/mocks"
2
2
  $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + "/../lib")
3
3
  require "dots"
4
- include Enumerable # To bring 1.8.7's Enumerator top-level.
5
4
 
6
5
  def enumerator?
7
6
  RUBY_VERSION >= "1.8.7"
8
7
  end
9
8
 
10
- describe Dots do
9
+ include Enumerable # To bring 1.8.7's Enumerator top-level.
10
+
11
+ describe "Dots" do
11
12
  it 'should be configurable for "."' do
12
13
  Dots["."].should == "."
13
14
  proc { Dots["."] = ":)" }.should_not raise_error
@@ -35,19 +36,22 @@ end
35
36
  describe "Monkey-patched" do
36
37
  describe "Enumerable.instance_methods" do
37
38
  it do
38
- Enumerable.instance_methods.should include("each_with_dots")
39
+ instance_methods = Enumerable.instance_methods.map { |m| m.to_s }
40
+ instance_methods.should include("each_with_dots")
39
41
  end
40
42
  end
41
43
 
42
44
  describe "Enumerator.instance_methods" do
43
45
  it do
44
- Enumerator.instance_methods.should include("with_dots")
46
+ instance_methods = Enumerator.instance_methods.map { |m| m.to_s }
47
+ instance_methods.should include("with_dots")
45
48
  end
46
49
  end if enumerator?
47
50
 
48
51
  describe "Kernel.methods" do
49
52
  it do
50
- Kernel.private_instance_methods.should include("dots")
53
+ instance_methods = Kernel.private_instance_methods.map { |m| m.to_s }
54
+ instance_methods.should include("dots")
51
55
  end
52
56
  end
53
57
  end
@@ -109,7 +113,7 @@ end if enumerator?
109
113
  describe "with_dots" do
110
114
  it "should print dots" do
111
115
  Dots.should_receive(:[]).with "."
112
- dots(1, StringIO.new) {}
116
+ dots(1, StringIO.new) { sleep 0.001 }
113
117
  end
114
118
 
115
119
  it "should require a block" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dots
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen Celis
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-10 00:00:00 -05:00
12
+ date: 2009-12-06 00:00:00 -06:00
13
13
  default_executable:
14
14
  dependencies: []
15
15