Sha256: 3d70062bf59106a02e64fdb09ae4373e9dd1c4de2a58d0ef92b8eed578ea39af

Contents?: true

Size: 1.42 KB

Versions: 2

Compression:

Stored size: 1.42 KB

Contents

require 'stringio'

require File.expand_path(
    File.join(File.dirname(__FILE__), %w[.. .. lib germinate]))

module Germinate
  describe TransformProcess do
    before :each do 
      @hunk1  = stub("Hunk1").as_null_object
      @it = TransformProcess.new
    end

    def output
      @output.rewind
      @output.string
    end

    TRANSFORMS = TextTransforms.singleton_methods
    TRANSFORMS.each do |transform_name|
      context "when only #{transform_name} is enabled" do
        before :each do
          @hunk          = stub("Hunk").as_null_object
          @transformed   = stub("Transformed Hunk")
          @transform     = stub("Transform", :call => @transformed)
          TextTransforms.stub!(transform_name).and_return(@transform)

          (TRANSFORMS - [transform_name]).each do |disabled_transform|
            @hunk.stub!("#{disabled_transform}?").and_return(false)
            TextTransforms.stub!(disabled_transform) do
              fail "Transform #{disabled_transform} should not be enabled"
            end
          end
          @hunk.stub!("#{transform_name}?").and_return(true)
        end

        it "should perform transform on input hunks" do
          @transform.should_receive(:call).with(@hunk).and_return(@transformed)
          @it.call(@hunk)
        end

        it "should return the result of the transform" do
          @it.call(@hunk).should == @transformed
        end

      end
    end
    
  end

end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
devver-germinate-1.2.0 spec/germinate/transform_process_spec.rb
germinate-1.2.0 spec/germinate/transform_process_spec.rb