blog_spec.rb
上传用户:netsea168
上传日期:2022-07-22
资源大小:4652k
文件大小:4k
源码类别:

Ajax

开发平台:

Others

  1. require File.dirname(__FILE__) + '/../spec_helper'
  2. describe "Given the first Blog fixture" do
  3.   before(:each) {
  4.     Blog.destroy_all
  5.     RouteCache.clear
  6.     @blog = Factory.create :blog
  7.   }
  8.   it ":blog_name == 'test blog'" do
  9.     @blog.blog_name.should == 'test blog'
  10.   end
  11.   it "values boolify like Perl" do
  12.     {"0 but true" => true, "" => false,
  13.       "false" => false, 1 => true, 0 => false,
  14.      nil => false, 'f' => false }.each do |value, expected|
  15.       @blog.sp_global = value
  16.       @blog.sp_global.should == expected
  17.     end
  18.   end
  19.   describe "running in the host root" do
  20.     it ":base_url == 'http://myblog.net/'" do
  21.       @blog.base_url.should == 'http://myblog.net'
  22.     end
  23.     describe "blog.url_for" do
  24.       it "should return the correct URL for a hash argument" do
  25.         @blog.url_for(:controller => 'articles', :action => 'read', :id => 1).should == 'http://myblog.net/articles/read/1'
  26.       end
  27.       it "should return the correct URL for a hash argument with only_path" do
  28.         @blog.base_url.should == 'http://myblog.net'
  29.         @blog.url_for(:controller => 'articles', :action => 'read', :id => 1,
  30.                      :only_path => true).should == '/articles/read/1'
  31.       end
  32.       it "should return the correct URL for a string argument" do
  33.         @blog.url_for('articles/read/1').should == 'http://myblog.net/articles/read/1'
  34.       end
  35.       it "should return the correct URL for a hash argument with only_path" do
  36.         @blog.url_for('articles/read/1', :only_path => true).should == '/articles/read/1'
  37.       end
  38.     end
  39.   end
  40.   describe "running in a sub-URI" do
  41.     before :each do
  42.       @blog.base_url = 'http://myblog.net/sub-uri'
  43.     end
  44.     describe "blog.url_for" do
  45.       it "should return the correct URL for a hash argument" do
  46.         @blog.url_for(:controller => 'articles', :action => 'read',
  47.                       :id => 1).should == 'http://myblog.net/sub-uri/articles/read/1'
  48.       end
  49.       it "should return the correct URL for a hash argument with only_path" do
  50.         @blog.url_for(:controller => 'articles', :action => 'read', :id => 1,
  51.                      :only_path => true).should == '/sub-uri/articles/read/1'
  52.       end
  53.       it "should return the correct URL for a string argument" do
  54.         @blog.url_for('articles/read/1'
  55.                      ).should == 'http://myblog.net/sub-uri/articles/read/1'
  56.       end
  57.       it "should return the correct URL for a hash argument with only_path" do
  58.         @blog.url_for('articles/read/1',
  59.                       :only_path => true).should == '/sub-uri/articles/read/1'
  60.       end
  61.     end
  62.   end
  63.   it "should be the only blog allowed" do
  64.     Blog.new.should_not be_valid
  65.   end
  66. end
  67. describe "The default blog" do
  68.   it "should pick up updates after a cache clear" do
  69.     a = Blog.default
  70.     b = blogs(:default)
  71.     b.blog_name = "some other name"
  72.     c = Blog.default
  73.     c.blog_name.should == "some other name"
  74.   end
  75. end
  76. describe "Given no blogs" do
  77.   before(:each)  { Blog.destroy_all }
  78.   it "should allow the creation of a valid default blog" do
  79.     Blog.new.should be_valid
  80.   end
  81. end
  82. describe "Valid permalink in blog" do
  83.   before :each do
  84.     @blog = blogs(:default)
  85.   end
  86.   ['foo', 'year', 'day', 'month', 'title', '%title', 'title%', '/year/month/day/title', '%title%.html.atom', '%title%.html.rss'].each do |permalink_type|
  87.     it "not valid with #{permalink_type}" do
  88.       assert_raise  ActiveRecord::RecordInvalid do
  89.         @blog.permalink_format = permalink_type
  90.       end
  91.     end
  92.   end
  93.   ['%year%', '%day%', '%month%', '%title%', '%title%.html', '/hello/all/%year%/%title%', 'atom/%title%.html', 'ok/rss/%title%.html'].each do |permalink_type|
  94.     it "should be valid with only #{permalink_type}" do
  95.       assert_nothing_raised  ActiveRecord::RecordInvalid do
  96.         @blog.permalink_format = permalink_type
  97.       end
  98.     end
  99.   end
  100. end