Sha256: 3ca642768e9c49cb9b167a0c0525c39230bd02b2734fe56c05b7de1480c856bd

Contents?: true

Size: 1.58 KB

Versions: 2

Compression:

Stored size: 1.58 KB

Contents

require File.dirname(__FILE__) + '/../spec_helper'

describe Feedzirra::FeedUtilities do
  before(:each) do
    @klass = Class.new do
      include Feedzirra::FeedEntryUtilities
    end
  end
  
  describe "handling dates" do
    it "should parse an ISO 8601 formatted datetime into Time" do
      time = @klass.new.parse_datetime("2008-02-20T8:05:00-10:00")
      time.class.should == Time
      time.utc.to_s.should == "Wed Feb 20 18:05:00 UTC 2008"
    end
  end
  
  describe "sanitizing" do
    before(:each) do
      @feed = Feedzirra::Feed.parse(sample_atom_feed)
      @entry = @feed.entries.first
    end
    
    it "should provide a sanitized title" do
      new_title = "<script>" + @entry.title
      @entry.title = new_title
      @entry.title.sanitize.should == Dryopteris.sanitize(new_title)
    end
    
    it "should sanitize content in place" do
      new_content = "<script>" + @entry.content
      @entry.content = new_content.dup
      @entry.content.sanitize!.should == Dryopteris.sanitize(new_content)
      @entry.content.should == Dryopteris.sanitize(new_content)
    end
    
    it "should sanitize things in place" do
      @entry.title   += "<script>"
      @entry.author  += "<script>"
      @entry.content += "<script>"

      cleaned_title   = Dryopteris.sanitize(@entry.title)
      cleaned_author  = Dryopteris.sanitize(@entry.author)
      cleaned_content = Dryopteris.sanitize(@entry.content)
      
      @entry.sanitize!
      @entry.title.should   == cleaned_title
      @entry.author.should  == cleaned_author
      @entry.content.should == cleaned_content
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
julien51-feedzirra-0.0.14 spec/feedzirra/feed_entry_utilities_spec.rb
julien51-feedzirra-0.0.16 spec/feedzirra/feed_entry_utilities_spec.rb