Sha256: 10c5d6a3a5c5fd2d8b8746d795a9e131d1c9f5b6c472ef73f7dc316468ab7ffe

Contents?: true

Size: 1.66 KB

Versions: 11

Compression:

Stored size: 1.66 KB

Contents

require '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-010:00")
      time.class.should == Time
      time.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>this is not safe</script>" + @entry.title
      @entry.title = new_title
      @entry.title.sanitize.should == Loofah.scrub_fragment(new_title, :prune).to_s
    end
    
    it "should sanitize content in place" do
      new_content = "<script>" + @entry.content
      @entry.content = new_content.dup
      @entry.content.sanitize!.should == Loofah.scrub_fragment(new_content, :prune).to_s
      @entry.content.should == Loofah.scrub_fragment(new_content, :prune).to_s
    end
    
    it "should sanitize things in place" do
      @entry.title   += "<script>"
      @entry.author  += "<script>"
      @entry.content += "<script>"

      cleaned_title   = Loofah.scrub_fragment(@entry.title, :prune).to_s
      cleaned_author  = Loofah.scrub_fragment(@entry.author, :prune).to_s
      cleaned_content = Loofah.scrub_fragment(@entry.content, :prune).to_s
      
      @entry.sanitize!
      @entry.title.should   == cleaned_title
      @entry.author.should  == cleaned_author
      @entry.content.should == cleaned_content
    end
  end
end

Version data entries

11 entries across 11 versions & 5 rubygems

Version Path
jashmenn-feedzirra-0.1.3 spec/feedzirra/feed_entry_utilities_spec.rb
feedzirra-0.1.3 spec/feedzirra/feed_entry_utilities_spec.rb
feedzirra-0.1.2 spec/feedzirra/feed_entry_utilities_spec.rb
seanwalbran-feedzirra-0.1.3 spec/feedzirra/feed_entry_utilities_spec.rb
seanwalbran-feedzirra-0.1.2 spec/feedzirra/feed_entry_utilities_spec.rb
localist-feedzirra-0.2.1 spec/feedzirra/feed_entry_utilities_spec.rb
feedzirra-0.1.1 spec/feedzirra/feed_entry_utilities_spec.rb
feedzirra-0.1.0 spec/feedzirra/feed_entry_utilities_spec.rb
feedzirra-0.0.31 spec/feedzirra/feed_entry_utilities_spec.rb
feedzirra-0.0.30 spec/feedzirra/feed_entry_utilities_spec.rb
johnnypez-feedzirra-0.0.24 spec/feedzirra/feed_entry_utilities_spec.rb