Sha256: 63237c07195b355fe66e1110eb5f3833ed6749fb5cf99823f97edf6bfff4e35d

Contents?: true

Size: 1.01 KB

Versions: 2

Compression:

Stored size: 1.01 KB

Contents

require 'simple_spec_helper'

describe Lolita::Support::Formatter do
  let(:klass){Lolita::Support::Formatter}

  context "create new" do

    it "should accept value as format" do
      formatter=klass.new("%Y-%m")
      formatter.format.should == "%Y-%m"
    end

    it "should accept block" do
      formatter=klass.new do |value|
        value**2
      end
      formatter.block.should_not be_nil
    end
  end

  context "calling formatter" do
    it "should call block" do
      formatter=klass.new do |value|
        value.to_i+1
      end
      formatter.with(2).should == 3
    end

    it "should try to call #format method on given value" do
      formatter=klass.new("M")
      object=mock(Object)
      object.stub!(:format).and_return(1)
      object.stub!(:respond_to?).with(:format).and_return(true)
      formatter.with(object).should == 1
    end

    it "should convert received value to string and call #unpack" do
      formatter=klass.new("%.3f")
      formatter.with(44.88).should == "44.880"
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
lolita-3.3.0 spec/support/formatter_spec.rb
lolita-3.2.1 spec/support/formatter_spec.rb