Skip to content

Commit

Permalink
Upgrade to rspec-2
Browse files Browse the repository at this point in the history
  • Loading branch information
jgarber committed Nov 9, 2010
1 parent 10eec06 commit 103dabf
Show file tree
Hide file tree
Showing 9 changed files with 101 additions and 127 deletions.
1 change: 1 addition & 0 deletions .rspec
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--color
11 changes: 9 additions & 2 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,14 @@ GEM
rake (0.8.7)
rake-compiler (0.7.1)
rake (>= 0.8.3, < 0.9)
rspec (1.3.0)
rspec (2.1.0)
rspec-core (~> 2.1.0)
rspec-expectations (~> 2.1.0)
rspec-mocks (~> 2.1.0)
rspec-core (2.1.0)
rspec-expectations (2.1.0)
diff-lcs (~> 1.1.2)
rspec-mocks (2.1.0)

PLATFORMS
ruby
Expand All @@ -20,4 +27,4 @@ DEPENDENCIES
rake (~> 0.8.7)
rake-compiler (~> 0.7.1)
redcloth!
rspec (>= 1.3.0)
rspec (~> 2.1)
80 changes: 40 additions & 40 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -235,43 +235,43 @@ task :optimize do
end


#### Custom testing tasks

require 'rubygems'
require 'spec/rake/spectask'
Rake::Task[:default].prerequisites.clear
Spec::Rake::SpecTask.new do |t|
t.spec_opts = ["--options #{File.dirname(__FILE__) + '/spec/spec.opts'}"]
t.spec_files = FileList['spec/**/*_spec.rb']
end

task :default => :spec
task :spec => [:ensure_diff_lcs, :compile]

task :ensure_diff_lcs do
# A little insurance against rake on JRuby not passing the error from load-diff-lcs.rb
begin
require 'diff/lcs'
rescue LoadError
begin
require 'rubygems' unless ENV['NO_RUBYGEMS']
require 'diff/lcs'
rescue LoadError
raise "You must gem install diff-lcs to run the specs."
end
end
end

task :remove_other_platforms do
Dir["lib/redcloth_scan.{bundle,so,jar,rb}"].each { |file| rm file }
end

def ensure_ragel_version(name)
@ragel_v ||= `ragel -v`[/(version )(\S*)/,2].split('.').map{|s| s.to_i}
if @ragel_v[0] > 6 || (@ragel_v[0] == 6 && @ragel_v[1] >= 3)
yield
else
STDERR.puts "Ragel 6.3 or greater is required to generate #{name}."
exit(1)
end
end
# #### Custom testing tasks
#
# require 'rubygems'
# require 'spec/rake/spectask'
# Rake::Task[:default].prerequisites.clear
# Spec::Rake::SpecTask.new do |t|
# t.spec_opts = ["--options #{File.dirname(__FILE__) + '/spec/spec.opts'}"]
# t.spec_files = FileList['spec/**/*_spec.rb']
# end
#
# task :default => :spec
# task :spec => [:ensure_diff_lcs, :compile]
#
# task :ensure_diff_lcs do
# # A little insurance against rake on JRuby not passing the error from load-diff-lcs.rb
# begin
# require 'diff/lcs'
# rescue LoadError
# begin
# require 'rubygems' unless ENV['NO_RUBYGEMS']
# require 'diff/lcs'
# rescue LoadError
# raise "You must gem install diff-lcs to run the specs."
# end
# end
# end
#
# task :remove_other_platforms do
# Dir["lib/redcloth_scan.{bundle,so,jar,rb}"].each { |file| rm file }
# end
#
# def ensure_ragel_version(name)
# @ragel_v ||= `ragel -v`[/(version )(\S*)/,2].split('.').map{|s| s.to_i}
# if @ragel_v[0] > 6 || (@ragel_v[0] == 6 && @ragel_v[1] >= 3)
# yield
# else
# STDERR.puts "Ragel 6.3 or greater is required to generate #{name}."
# exit(1)
# end
# end
2 changes: 1 addition & 1 deletion redcloth.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,6 @@ Gem::Specification.new do |s|
end

s.add_development_dependency('rake', '~> 0.8.7')
s.add_development_dependency('rspec', '>= 1.3.0')
s.add_development_dependency('rspec', '~> 2.1')
s.add_development_dependency('diff-lcs')
end
1 change: 0 additions & 1 deletion spec/benchmark_spec.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
require File.dirname(__FILE__) + '/spec_helper'

describe "Benchmarking", :type => :formatter do
fixtures = self.fixtures
version = RedCloth::VERSION.is_a?(Module) ? RedCloth::VERSION::STRING : RedCloth::VERSION
platform = RedCloth.const_defined?(:EXTENSION_LANGUAGE) ? RedCloth::EXTENSION_LANGUAGE : (version < "4.0.0" ? "ruby-regex" : "C")

Expand Down
48 changes: 0 additions & 48 deletions spec/differs/inline.rb

This file was deleted.

3 changes: 0 additions & 3 deletions spec/spec.opts

This file was deleted.

58 changes: 26 additions & 32 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
@@ -1,42 +1,36 @@
$:.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
require 'redcloth'
require 'yaml'

class FormatterExampleGroup < Spec::Example::ExampleGroup

def self.examples_from_yaml(&block)
formatter = description.downcase
define_method("format_as_#{formatter}", &block)

fixtures.each do |name, doc|
if doc[formatter]
example("should output #{formatter} for #{name}") do
output = method("format_as_#{formatter}").call(doc)
output.should == doc[formatter]
end
else
example("should not raise errors when rendering #{formatter} for #{name}") do
lambda { method("format_as_#{formatter}").call(doc) }.should_not raise_error
end
end
end
end
def examples_from_yaml(&block)
formatter = description.downcase
define_method("format_as_#{formatter}", &block)

def self.fixtures
return @fixtures if @fixtures
@fixtures = {}
Dir[File.join(File.dirname(__FILE__), *%w[fixtures *.yml])].each do |testfile|
testgroup = File.basename(testfile, '.yml')
num = 0
YAML::load_documents(File.open(testfile)) do |doc|
name = doc['name'] || num
@fixtures["#{testgroup} #{name}"] = doc
num += 1
fixtures.each do |name, doc|
if doc[formatter]
example("should output #{formatter} for #{name}") do
output = method("format_as_#{formatter}").call(doc)
output.should == doc[formatter]
end
else
example("should not raise errors when rendering #{formatter} for #{name}") do
lambda { method("format_as_#{formatter}").call(doc) }.should_not raise_error
end
end
@fixtures
end

end

Spec::Example::ExampleGroupFactory.register(:formatter, FormatterExampleGroup)
def fixtures
return @fixtures if @fixtures
@fixtures = {}
Dir[File.join(File.dirname(__FILE__), *%w[fixtures *.yml])].each do |testfile|
testgroup = File.basename(testfile, '.yml')
num = 0
YAML::load_documents(File.open(testfile)) do |doc|
name = doc['name'] || num
@fixtures["#{testgroup} #{name}"] = doc
num += 1
end
end
@fixtures
end
24 changes: 24 additions & 0 deletions tasks/rspec.rake
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
require 'rspec/core/rake_task'

RSpec::Core::RakeTask.new(:spec)

RSpec::Core::RakeTask.new(:rcov) do |t|
t.rcov = true
t.rcov_opts = %w{--exclude osx\/objc,gems\/,spec\/}
end

task :spec => [:ensure_diff_lcs, :compile]

task :ensure_diff_lcs do
# A little insurance against rake on JRuby not passing the error from load-diff-lcs.rb
begin
require 'diff/lcs'
rescue LoadError
begin
require 'rubygems' unless ENV['NO_RUBYGEMS']
require 'diff/lcs'
rescue LoadError
raise "You must gem install diff-lcs to run the specs."
end
end
end

0 comments on commit 103dabf

Please sign in to comment.