Sha256: 318b9192176d2ffc098e51148b7923d3f328969c70d2e681bcbb0cfc1d7a055d

Contents?: true

Size: 1.58 KB

Versions: 16

Compression:

Stored size: 1.58 KB

Contents

shared_examples_for "roadie asset provider" do |options|
  valid_name = options[:valid_name] or raise "You must provide a :valid_name option to the shared examples"
  invalid_name = options[:invalid_name] or raise "You must provide an :invalid_name option to the shared examples"

  def verify_stylesheet(stylesheet)
    expect(stylesheet).to_not be_nil

    # Name
    expect(stylesheet.name).to be_a(String)
    expect(stylesheet.name).to_not be_empty

    # We do not want to force clients to always return non-empty files.
    # Stylesheet#initialize should crash when given a non-valid CSS (like nil,
    # for example)
    # expect(stylesheet.blocks).to_not be_empty
  end

  it "responds to #find_stylesheet" do
    expect(subject).to respond_to(:find_stylesheet)
    expect(subject.method(:find_stylesheet).arity).to eq 1
  end

  it "responds to #find_stylesheet!" do
    expect(subject).to respond_to(:find_stylesheet!)
    expect(subject.method(:find_stylesheet!).arity).to eq 1
  end

  describe "#find_stylesheet" do
    it "can find a stylesheet" do
      verify_stylesheet subject.find_stylesheet(valid_name)
    end

    it "cannot find an invalid stylesheet" do
      expect(subject.find_stylesheet(invalid_name)).to be_nil
    end
  end

  describe "#find_stylesheet!" do
    it "can find a stylesheet" do
      verify_stylesheet subject.find_stylesheet!(valid_name)
    end

    it "raises Roadie::CssNotFound on invalid stylesheets" do
      expect {
        subject.find_stylesheet!(invalid_name)
      }.to raise_error Roadie::CssNotFound, Regexp.new(Regexp.quote(invalid_name))
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
roadie-3.5.1 lib/roadie/rspec/asset_provider.rb
roadie-3.5.0 lib/roadie/rspec/asset_provider.rb
roadie-3.4.0 lib/roadie/rspec/asset_provider.rb
roadie-3.3.0 lib/roadie/rspec/asset_provider.rb
roadie-3.2.2 lib/roadie/rspec/asset_provider.rb
roadie-3.2.1 lib/roadie/rspec/asset_provider.rb
roadie-3.2.0 lib/roadie/rspec/asset_provider.rb
roadie-3.1.1 lib/roadie/rspec/asset_provider.rb
roadie-3.1.0 lib/roadie/rspec/asset_provider.rb
roadie-3.1.0.rc1 lib/roadie/rspec/asset_provider.rb
roadie-3.0.5 lib/roadie/rspec/asset_provider.rb
roadie-3.0.4 lib/roadie/rspec/asset_provider.rb
roadie-3.0.3 lib/roadie/rspec/asset_provider.rb
roadie-3.0.2 lib/roadie/rspec/asset_provider.rb
roadie-3.0.1 lib/roadie/rspec/asset_provider.rb
roadie-3.0.0 lib/roadie/rspec/asset_provider.rb