Sha256: 101b3e3a428069ebf2e8becbec50631becc1dd21e8a7687900c788ead4b47cfb

Contents?: true

Size: 1.85 KB

Versions: 6

Compression:

Stored size: 1.85 KB

Contents

require 'spec_helper'

module RequirejsOptimizer

  module Step

    describe Digestify do

      before do
        # Disconnect fileutils
        FileUtils.stub(:cp)
        Rails.application.assets.stub(:file_digest).and_return(stub(hexdigest: 'abcdefg'))
      end

      describe "#initialize" do

        subject { Digestify }

        context "when assets have already been initialized" do
          before { Rails.application.stub(:assets).and_return("present") }

          it "doesn't re-initialize assets" do
            Rails.application.should_not_receive(:initialize!)
            subject.new
          end
        end

        context "when assets haven't yet been initialized" do
          before { Rails.application.stub(:assets).and_return(nil) }

          it "initializes assets" do
            Rails.application.should_receive(:initialize!).with(:assets)
            subject.new
          end
        end

      end

      describe '#perform' do

        it "makes digestified versions of all js and css files" do
          Dir.should_receive(:glob).with(target_path_for("**", "*.*")).and_return(%w(file.css file.js file.png))
          subject.should_receive(:digestify_file).once.with("file.css")
          subject.should_receive(:digestify_file).once.with("file.js")
          subject.should_receive(:digestify_file).once.with("file.png")
          subject.perform
        end

      end

      describe '#digestify_file' do

        it "copies a digested file into place" do
          FileUtils.should_receive(:cp).with("foo.css", "foo-abcdefg.css")
          subject.digestify_file("foo.css")

          FileUtils.should_receive(:cp).with("foo.js", "foo-abcdefg.js")
          subject.digestify_file("foo.js")

          FileUtils.should_receive(:cp).with("foo.png", "foo-abcdefg.png")
          subject.digestify_file("foo.png")
        end

      end

    end

  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
requirejs_optimizer-0.4.2 spec/lib/requirejs_optimizer/step/digestify_spec.rb
requirejs_optimizer-0.3.2 spec/lib/requirejs_optimizer/step/digestify_spec.rb
requirejs_optimizer-0.4.1 spec/lib/requirejs_optimizer/step/digestify_spec.rb
requirejs_optimizer-0.2.0 spec/lib/requirejs_optimizer/step/digestify_spec.rb
requirejs_optimizer-0.1.0 spec/lib/requirejs_optimizer/step/digestify_spec.rb
requirejs_optimizer-0.0.5 spec/lib/requirejs_optimizer/step/digestify_spec.rb