Skip to content

Commit

Permalink
switched tests to rspec
Browse files Browse the repository at this point in the history
  • Loading branch information
mokolabs committed Jul 7, 2008
1 parent 9eec0a1 commit 10e8084
Show file tree
Hide file tree
Showing 5 changed files with 117 additions and 115 deletions.
15 changes: 7 additions & 8 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
require 'rake'
require 'rake/testtask'
require 'spec/rake/spectask'
require 'rake/rdoctask'

desc 'Default: run unit tests.'
task :default => :test
desc 'Default: run specs.'
task :default => :spec

desc 'Test the Headliner plugin.'
Rake::TestTask.new(:test) do |t|
t.libs << 'lib'
t.pattern = 'test/**/*_test.rb'
t.verbose = true
desc 'Run the specs'
Spec::Rake::SpecTask.new(:spec) do |t|
t.spec_opts = ['--colour --format progress --loadby mtime --reverse']
t.spec_files = FileList['spec/**/*_spec.rb']
end

desc 'Generate documentation for the Headliner plugin.'
Expand Down
1 change: 1 addition & 0 deletions init.rb
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
require 'headliner'
ActionView::Base.send :include, Headliner
101 changes: 101 additions & 0 deletions spec/headliner_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
require File.dirname(__FILE__) + '/spec_helper'

describe "Headliner" do

before(:each) do
@view = ActionView::Base.new
end

describe "loading plugin" do

it "should be mixed into ActionView::Base" do
ActionView::Base.included_modules.include?(Headliner).should be_true
end

it "should respond to 'title' helper" do
@view.should respond_to(:title)
end

it "should respond to 'title' helper alias" do
@view.should respond_to(:t)
end

end

describe "saving title" do

it "should save title" do
@view.title("iPhone").should eql("iPhone")
end

it "should save headline if present" do
@view.title("iPhone", "iPhone 3G is now on sale!").should eql("iPhone 3G is now on sale!")
end

end

describe "displaying title" do

it "should use website name if title is empty" do
@view.title(:site => "Apple").should eql("<title>Apple</title>")
end

it "should use website before page by default" do
save_basic_title
@view.title(:site => "Apple").should eql("<title>Apple | iPhone</title>")
end

it "should only use markup in titles in the view" do
save_basic_title("<b>iPhone</b>").should eql("<b>iPhone</b>")
@view.title(:site => "Apple").should eql("<title>Apple | iPhone</title>")
end

it "should use page before website if :reverse" do
save_basic_title
@view.title(:site => "Apple", :reverse => true).should eql("<title>iPhone | Apple</title>")
end

it "should be lowercase if :lowercase" do
save_basic_title
@view.title(:site => "apple", :lowercase => true).should eql("<title>apple | iphone</title>")
end

it "should use custom separator if :separator" do
save_basic_title
@view.title(:site => "Apple", :separator => "-").should eql("<title>Apple - iPhone</title>")
@view.title(:site => "Apple", :separator => ":").should eql("<title>Apple : iPhone</title>")
@view.title(:site => "Apple", :separator => "&mdash;").should eql("<title>Apple &mdash; iPhone</title>")
end

it "should use custom prefix and suffix if available" do
save_basic_title
@view.title(:site => "Apple", :prefix => " |", :suffix => "| ").should eql("<title>Apple ||| iPhone</title>")
end

it "should collapse prefix if false" do
save_basic_title
@view.title(:site => "Apple", :prefix => false, :separator => ":").should eql("<title>Apple: iPhone</title>")
end

it "should collapse suffix if false" do
save_basic_title
@view.title(:site => "Apple", :suffix => false, :separator => "~").should eql("<title>Apple ~iPhone</title>")
end

it "should use all custom options if available" do
save_basic_title
@view.title(:site => "apple",
:prefix => " ",
:suffix => " ",
:separator => "-",
:lowercase => true,
:reverse => true).should eql("<title>iphone - apple</title>")
end

end

def save_basic_title(title='iPhone')
@view.title(title)
end

end
8 changes: 8 additions & 0 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
require 'rubygems'
require 'action_controller'
require 'action_view'
require File.join(File.dirname(__FILE__), "../lib/headliner")

ActionView::Base.class_eval do
include Headliner
end
107 changes: 0 additions & 107 deletions test/headliner_test.rb

This file was deleted.

0 comments on commit 10e8084

Please sign in to comment.