structured_warnings 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -7,7 +7,7 @@ class Foo
7
7
  end
8
8
  end
9
9
 
10
- class TestStructuredWarnings < Test::Unit::TestCase
10
+ class StructuredWarningsTest < Test::Unit::TestCase
11
11
  def test_warn
12
12
  assert_warn(DeprecatedMethodWarning) do
13
13
  Foo.new.old_method
@@ -79,6 +79,51 @@ class TestStructuredWarnings < Test::Unit::TestCase
79
79
  end
80
80
  end
81
81
 
82
+ def test_passing_an_additional_message_to_assert_no_warn
83
+ assert_no_warn(Warning, "with message") do
84
+ warn Warning, "with another message"
85
+ end
86
+ end
87
+
88
+ def test_passing_an_additional_message_to_assert_warn
89
+ assert_warn(Warning, "with message") do
90
+ warn Warning, "with message"
91
+ end
92
+ end
93
+
94
+ def test_passing_a_warning_instance_to_assert_warn
95
+ assert_warn(Warning.new("with message")) do
96
+ warn Warning, "with message"
97
+ end
98
+ end
99
+
100
+ def test_passing_a_warning_instance_to_assert_no_warn
101
+ assert_no_warn(Warning.new("with message")) do
102
+ warn DeprecationWarning, "with another message"
103
+ end
104
+ assert_no_warn(Warning.new) do
105
+ warn Warning, "with message"
106
+ end
107
+ end
108
+
109
+ def test_passing_a_regexp_as_message_to_assert_warn
110
+ assert_warn(Warning, /message/) do
111
+ warn DeprecationWarning, "with another message"
112
+ end
113
+ end
114
+
115
+ def test_passing_a_regexp_as_message_to_no_assert_warn
116
+ assert_no_warn(Warning, /message/) do
117
+ warn DeprecationWarning
118
+ end
119
+ end
120
+
121
+ def test_passing_a_message_only_to_assert_warn
122
+ assert_warn("I told you so") do
123
+ warn "I told you so"
124
+ end
125
+ end
126
+
82
127
  def test_warnings_may_not_be_disabled_twice
83
128
  assert [Warning], Warning.disable
84
129
  assert [Warning], Warning.disable
data/test/test_helper.rb CHANGED
@@ -1,2 +1,4 @@
1
+ $:.unshift File.dirname(__FILE__) + '/../lib'
2
+
1
3
  require 'test/unit'
2
- require File.dirname(__FILE__) + '/../lib/structured_warnings'
4
+ require 'structured_warnings'
data/version.yml ADDED
@@ -0,0 +1,4 @@
1
+ ---
2
+ :major: 0
3
+ :minor: 1
4
+ :patch: 2
metadata CHANGED
@@ -1,89 +1,70 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: structured_warnings
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregor Schmidt
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain:
11
- - |
12
- -----BEGIN CERTIFICATE-----
13
- MIIDODCCAiCgAwIBAgIBADANBgkqhkiG9w0BAQUFADBCMQ0wCwYDVQQDDARydWJ5
14
- MR0wGwYKCZImiZPyLGQBGRYNc2NobWlkdHdpc3NlcjESMBAGCgmSJomT8ixkARkW
15
- AmRlMB4XDTA3MDkxNjEwMzkyN1oXDTA4MDkxNTEwMzkyN1owQjENMAsGA1UEAwwE
16
- cnVieTEdMBsGCgmSJomT8ixkARkWDXNjaG1pZHR3aXNzZXIxEjAQBgoJkiaJk/Is
17
- ZAEZFgJkZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOzbl83o33wh
18
- veLMQ2JyEstgOulisHRBFpfbF9LbdavuS/EdoOUeEPkziWL/ZI0jvUo0MGmQ/8Of
19
- F9DJbvNbhDdg0bK7BMe4R/I3Wpu49mX+7pOsdlC44nzJkVG1DQ67qWp6jx1zvDRc
20
- iCoXaQKnROtsx6bCavVvm4P7XLrAQvs7l+1Ke5KLkXRtJ9xJWtAyBLRFoM4e6DeT
21
- Py0DsixF9Zb5Nrb7UvK0CN8m6dulsKXNRDVQLHkFa5Zg/BEb0RI93LPmeBt8KGIE
22
- eYVjk+6z+py03D18xd9KsUhOB/0lC0a5vWSZIKfZnxf1uYY9TTZVqTGGUMFi1sD4
23
- k2TYBqQVsS8CAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0O
24
- BBYEFAeq4388e2PUlF/YeemzaY8neefWMA0GCSqGSIb3DQEBBQUAA4IBAQAArQQo
25
- 3teQbCcYmZFTrdOzujMca6F4JVzTp+yTnOsp1/5hiBEUMc3GreCVAPh2tU9+IpuB
26
- Lif+s5nLfYdI+JrpCHDzm+ecJEJ7u7gxidzUwEBPYpVuU32ALge7fuWWhQfi29JY
27
- QwNZgIkGe34z3a2+r2GLBns/GY7t0Lomv6U2SvwLreLc8g7thr2hZfgEJidvcrJR
28
- Q6amsFqY06NalH+I175Bp4y9rR7IArgNDS3I5Cly5/heVKK2SRm5Z+IACmKMxIXh
29
- hzBK8YDsrjUvPNIJn9yl0LeEsZ5VhupI2OXr6Cqa/tVMJq0oiTsLfel3Tsb9Ph83
30
- y3O9DT3o4BiyPe77
31
- -----END CERTIFICATE-----
10
+ cert_chain: []
32
11
 
33
- date: 2008-02-22 00:00:00 +01:00
12
+ date: 2009-11-28 00:00:00 +01:00
34
13
  default_executable:
35
- dependencies: []
36
-
37
- description: Provides structured warnings
38
- email:
39
- - ruby@schmidtwisser.de
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rake
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: jeweler
27
+ type: :development
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.4.0
34
+ version:
35
+ description: This is an implementation of Daniel Berger's proposal of structured warnings for Ruby.
36
+ email: ruby@schmidtwisser.de
40
37
  executables: []
41
38
 
42
39
  extensions: []
43
40
 
44
41
  extra_rdoc_files:
45
- - History.txt
46
- - License.txt
47
- - Manifest.txt
48
- - README.txt
49
- - website/index.txt
42
+ - README.rdoc
50
43
  files:
44
+ - .gitignore
51
45
  - History.txt
52
46
  - License.txt
53
- - Manifest.txt
54
- - README.txt
47
+ - README.rdoc
55
48
  - Rakefile
56
- - config/hoe.rb
57
- - config/requirements.rb
58
49
  - lib/structured_warnings.rb
59
50
  - lib/structured_warnings/dynamic.rb
60
51
  - lib/structured_warnings/kernel.rb
61
52
  - lib/structured_warnings/test.rb
62
53
  - lib/structured_warnings/test/assertions.rb
63
54
  - lib/structured_warnings/test/warner.rb
64
- - lib/structured_warnings/version.rb
65
55
  - lib/structured_warnings/warner.rb
66
56
  - lib/structured_warnings/warning.rb
67
- - script/destroy
68
- - script/generate
69
- - script/txt2html
70
- - setup.rb
71
- - tasks/deployment.rake
72
- - tasks/environment.rake
73
- - tasks/website.rake
57
+ - structured_warnings.gemspec
58
+ - test/structured_warnings_test.rb
74
59
  - test/test_helper.rb
75
- - test/test_structured_warnings.rb
76
- - website/index.html
77
- - website/index.txt
78
- - website/javascripts/rounded_corners_lite.inc.js
79
- - website/stylesheets/screen.css
80
- - website/template.rhtml
60
+ - version.yml
81
61
  has_rdoc: true
82
- homepage: http://rug-b.rubyforge.org/structured_warnings
62
+ homepage: http://github.com/schmidt/structured_warnings
63
+ licenses: []
64
+
83
65
  post_install_message:
84
66
  rdoc_options:
85
- - --main
86
- - README.txt
67
+ - --charset=UTF-8
87
68
  require_paths:
88
69
  - lib
89
70
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -100,11 +81,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
81
  version:
101
82
  requirements: []
102
83
 
103
- rubyforge_project: rug-b
104
- rubygems_version: 1.0.1
84
+ rubyforge_project:
85
+ rubygems_version: 1.3.5
105
86
  signing_key:
106
- specification_version: 2
107
- summary: Provides structured warnings
87
+ specification_version: 3
88
+ summary: Provides structured warnings for Ruby, using an exception-like interface and hierarchy.
108
89
  test_files:
90
+ - test/structured_warnings_test.rb
109
91
  - test/test_helper.rb
110
- - test/test_structured_warnings.rb
data.tar.gz.sig DELETED
Binary file
data/Manifest.txt DELETED
@@ -1,30 +0,0 @@
1
- History.txt
2
- License.txt
3
- Manifest.txt
4
- README.txt
5
- Rakefile
6
- config/hoe.rb
7
- config/requirements.rb
8
- lib/structured_warnings.rb
9
- lib/structured_warnings/dynamic.rb
10
- lib/structured_warnings/kernel.rb
11
- lib/structured_warnings/test.rb
12
- lib/structured_warnings/test/assertions.rb
13
- lib/structured_warnings/test/warner.rb
14
- lib/structured_warnings/version.rb
15
- lib/structured_warnings/warner.rb
16
- lib/structured_warnings/warning.rb
17
- script/destroy
18
- script/generate
19
- script/txt2html
20
- setup.rb
21
- tasks/deployment.rake
22
- tasks/environment.rake
23
- tasks/website.rake
24
- test/test_helper.rb
25
- test/test_structured_warnings.rb
26
- website/index.html
27
- website/index.txt
28
- website/javascripts/rounded_corners_lite.inc.js
29
- website/stylesheets/screen.css
30
- website/template.rhtml
data/README.txt DELETED
@@ -1,19 +0,0 @@
1
- = Structured warnings
2
-
3
- Have closer look at StructuredWarnings::Kernel, Warning and
4
- Warning::ClassMethods.
5
-
6
- Part of this library is a set of different warnings:
7
-
8
- * Warning
9
- * StandardWarning
10
- * DeprecationWarning
11
- * DeprecatedMethodWarning
12
- * DeprecatedSignatureWarning
13
-
14
- You are encourage to use your own subclasses of Warning to give as much feedback
15
- to your users as possible.
16
-
17
- Also see the projects website on http://rug-b.rubyforge.org/structured_warnings
18
- and the inspiring article at
19
- http://www.oreillynet.com/ruby/blog/2008/02/structured_warnings_now.html.
data/config/hoe.rb DELETED
@@ -1,70 +0,0 @@
1
- require 'structured_warnings/version'
2
-
3
- AUTHOR = 'Gregor Schmidt' # can also be an array of Authors
4
- EMAIL = "ruby@schmidtwisser.de"
5
- DESCRIPTION = "Provides structured warnings"
6
- GEM_NAME = 'structured_warnings' # what ppl will type to install your gem
7
- RUBYFORGE_PROJECT = 'rug-b' # The unix name for your project
8
- HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org/#{GEM_NAME}"
9
- DOWNLOAD_PATH = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
10
-
11
- @config_file = "~/.rubyforge/user-config.yml"
12
- @config = nil
13
- RUBYFORGE_USERNAME = "unknown"
14
- def rubyforge_username
15
- unless @config
16
- begin
17
- @config = YAML.load(File.read(File.expand_path(@config_file)))
18
- rescue
19
- puts <<-EOS
20
- ERROR: No rubyforge config file found: #{@config_file}
21
- Run 'rubyforge setup' to prepare your env for access to Rubyforge
22
- - See http://newgem.rubyforge.org/rubyforge.html for more details
23
- EOS
24
- exit
25
- end
26
- end
27
- RUBYFORGE_USERNAME.replace @config["username"]
28
- end
29
-
30
-
31
- REV = nil
32
- # UNCOMMENT IF REQUIRED:
33
- # REV = `svn info`.each {|line| if line =~ /^Revision:/ then k,v = line.split(': '); break v.chomp; else next; end} rescue nil
34
- VERS = StructuredWarnings::VERSION::STRING + (REV ? ".#{REV}" : "")
35
- RDOC_OPTS = ['--quiet', '--title', 'structured_warnings documentation',
36
- "--opname", "index.html",
37
- "--line-numbers",
38
- "--main", "README",
39
- "--inline-source"]
40
-
41
- class Hoe
42
- def extra_deps
43
- @extra_deps.reject! { |x| Array(x).first == 'hoe' }
44
- @extra_deps
45
- end
46
- end
47
-
48
- # Generate all the Rake tasks
49
- # Run 'rake -T' to see list of generated tasks (from gem root directory)
50
- hoe = Hoe.new(GEM_NAME, VERS) do |p|
51
- p.developer(AUTHOR, EMAIL)
52
- p.description = DESCRIPTION
53
- p.summary = DESCRIPTION
54
- p.url = HOMEPATH
55
- p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
56
- p.test_globs = ["test/**/test_*.rb"]
57
- p.clean_globs |= ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store'] #An array of file patterns to delete on clean.
58
-
59
- # == Optional
60
- p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
61
- #p.extra_deps = [] # An array of rubygem dependencies [name, version], e.g. [ ['active_support', '>= 1.3.1'] ]
62
-
63
- #p.spec_extras = {} # A hash of extra values to set in the gemspec.
64
-
65
- end
66
-
67
- CHANGES = hoe.paragraphs_of('History.txt', 0..1).join("\\n\\n")
68
- PATH = (RUBYFORGE_PROJECT == GEM_NAME) ? RUBYFORGE_PROJECT : "#{RUBYFORGE_PROJECT}/#{GEM_NAME}"
69
- hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc')
70
- hoe.rsync_args = '-av --delete --ignore-errors'
@@ -1,17 +0,0 @@
1
- require 'fileutils'
2
- include FileUtils
3
-
4
- require 'rubygems'
5
- %w[rake hoe newgem rubigen].each do |req_gem|
6
- begin
7
- require req_gem
8
- rescue LoadError
9
- puts "This Rakefile requires the '#{req_gem}' RubyGem."
10
- puts "Installation: gem install #{req_gem} -y"
11
- exit
12
- end
13
- end
14
-
15
- $:.unshift(File.join(File.dirname(__FILE__), %w[.. lib]))
16
-
17
- require 'structured_warnings'
@@ -1,9 +0,0 @@
1
- module StructuredWarnings #:nodoc:
2
- module VERSION #:nodoc:
3
- MAJOR = 0
4
- MINOR = 1
5
- TINY = 1
6
-
7
- STRING = [MAJOR, MINOR, TINY].join('.')
8
- end
9
- end
data/script/destroy DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
- APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
-
4
- begin
5
- require 'rubigen'
6
- rescue LoadError
7
- require 'rubygems'
8
- require 'rubigen'
9
- end
10
- require 'rubigen/scripts/destroy'
11
-
12
- ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
- RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
- RubiGen::Scripts::Destroy.new.run(ARGV)
data/script/generate DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
- APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
-
4
- begin
5
- require 'rubigen'
6
- rescue LoadError
7
- require 'rubygems'
8
- require 'rubigen'
9
- end
10
- require 'rubigen/scripts/generate'
11
-
12
- ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
- RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
- RubiGen::Scripts::Generate.new.run(ARGV)
data/script/txt2html DELETED
@@ -1,74 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'rubygems'
4
- begin
5
- require 'newgem'
6
- rescue LoadError
7
- puts "\n\nGenerating the website requires the newgem RubyGem"
8
- puts "Install: gem install newgem\n\n"
9
- exit(1)
10
- end
11
- require 'redcloth'
12
- require 'syntax/convertors/html'
13
- require 'erb'
14
- require File.dirname(__FILE__) + '/../lib/structured_warnings/version.rb'
15
-
16
- version = StructuredWarnings::VERSION::STRING
17
- download = 'http://rubyforge.org/projects/rug-b'
18
-
19
- class Fixnum
20
- def ordinal
21
- # teens
22
- return 'th' if (10..19).include?(self % 100)
23
- # others
24
- case self % 10
25
- when 1: return 'st'
26
- when 2: return 'nd'
27
- when 3: return 'rd'
28
- else return 'th'
29
- end
30
- end
31
- end
32
-
33
- class Time
34
- def pretty
35
- return "#{mday}#{mday.ordinal} #{strftime('%B')} #{year}"
36
- end
37
- end
38
-
39
- def convert_syntax(syntax, source)
40
- return Syntax::Convertors::HTML.for_syntax(syntax).convert(source).gsub(%r!^<pre>|</pre>$!,'')
41
- end
42
-
43
- if ARGV.length >= 1
44
- src, template = ARGV
45
- template ||= File.join(File.dirname(__FILE__), '/../website/template.rhtml')
46
-
47
- else
48
- puts("Usage: #{File.split($0).last} source.txt [template.rhtml] > output.html")
49
- exit!
50
- end
51
-
52
- template = ERB.new(File.open(template).read)
53
-
54
- title = nil
55
- body = nil
56
- File.open(src) do |fsrc|
57
- title_text = fsrc.readline
58
- body_text = fsrc.read
59
- syntax_items = []
60
- body_text.gsub!(%r!<(pre|code)[^>]*?syntax=['"]([^'"]+)[^>]*>(.*?)</\1>!m){
61
- ident = syntax_items.length
62
- element, syntax, source = $1, $2, $3
63
- syntax_items << "<#{element} class='syntax'>#{convert_syntax(syntax, source)}</#{element}>"
64
- "syntax-temp-#{ident}"
65
- }
66
- title = RedCloth.new(title_text).to_html.gsub(%r!<.*?>!,'').strip
67
- body = RedCloth.new(body_text).to_html
68
- body.gsub!(%r!(?:<pre><code>)?syntax-temp-(\d+)(?:</code></pre>)?!){ syntax_items[$1.to_i] }
69
- end
70
- stat = File.stat(src)
71
- created = stat.ctime
72
- modified = stat.mtime
73
-
74
- $stdout << template.result(binding)