Sha256: c00cd2e0dc761f14d269875fd8f904ab3ed17b1e180c3db5047db8920bea94e3
Contents?: true
Size: 1.9 KB
Versions: 1
Compression:
Stored size: 1.9 KB
Contents
require File.dirname(__FILE__) + '/../spec_helper' class SimpleStylesheetFilter < StylesheetFilter end class ReverseStylesheetFilter < StylesheetFilter filter_name "Custom Filter Name" def filter(text) text.reverse end end class SimpleJavascriptFilter < JavascriptFilter end class ReverseJavascriptFilter < JavascriptFilter filter_name "Custom Filter Name" def filter(text) text.reverse end end [ { :class => StylesheetFilter, :simple => SimpleStylesheetFilter, :reverse => ReverseStylesheetFilter }, { :class => JavascriptFilter, :simple => SimpleJavascriptFilter, :reverse => ReverseJavascriptFilter } ].each do |current_filter| describe current_filter[:class].to_s.pluralize do it "should list all the current subclasssed filters as descendants" do # we can't really control all of the filters for our test (the tester may # have other filters installed via extension) but we can test that those # we've built are found. current_filter[:class].descendants.should include( current_filter[:simple]) current_filter[:class].descendants.should include( current_filter[:reverse]) end it "should use a subclass's name as the default filter_name (SuperDuperFilter -> 'Super Duper'" do current_filter[:simple].filter_name.should == current_filter[:simple]. to_s.titleize.gsub(/\s*Filter$/, '') end it "should allow developers to override the default with their own filter_name" do current_filter[:reverse].filter_name.should == 'Custom Filter Name' end it "should pass back the input text unfiltered if a filter is not explicitly defined" do current_filter[:simple].filter('my test text').should == 'my test text' end it "should pass return filtered text via a #filter method" do current_filter[:reverse].filter('my test text').should == 'txet tset ym' end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
radiant-sns-extension-0.9.0 | spec/models/stylesheet_filter_and_javascript_filter_spec.rb |