Sha256: fa30847e8817c3c743b9e363ea0fc9e615609f980134d177443b0dad8b4a0685

Contents?: true

Size: 1.61 KB

Versions: 17

Compression:

Stored size: 1.61 KB

Contents

require 'spec_helper'
require 'pulse-meter/extensions/enumerable'

describe Enumerable do
  let!(:time) {Time.new}
  describe "#convert_time" do
    it "converts Time objects to unixtime" do
      [time].convert_time.should == [time.to_i]
    end

    it "does not change other members" do
      [1, 2, 3].convert_time.should == [1, 2 ,3]
    end
  end

  describe "#to_table" do
    context "when format is csv" do
      it "returns csv as string" do
        [].to_table(:csv).should be_instance_of(String)
      end

      it "returns csv containing each subarray as a row" do
        [[:a, :b], [:c, :d]].to_table(:csv).should == "a;b\nc;d\n"
      end

      it "converts Time objects to unixtime" do
        [[time]].to_table(:csv).should == "#{time.to_i}\n"
      end

      it "takes format argument both as string and as symbol" do
        [[:foo]].to_table("csv").should == "foo\n"
        [[:foo]].to_table(:csv).should == "foo\n"
      end
    end

    context "when format is table" do
      it "return Terminal::Table instance" do
        [].to_table.should be_instance_of(Terminal::Table)
      end

      it "returns table containing each subarray as a row" do
        data = [[:a, :b], [:c, :d]]
        table = [[:a, :b], [:c, :d]].to_table
        table.rows.map do |row|
          row.cells.map(&:to_s).map(&:strip).map(&:to_sym)
        end.should == data
      end
    end

    it "uses table format as default" do
      [].to_table.should be_instance_of(Terminal::Table)
    end

    it "uses table format unless it is :csv or 'csv'" do
      [].to_table(:unknown_format).should be_instance_of(Terminal::Table)
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
pulse-meter-0.4.9 spec/pulse_meter/extensions/enumerable_spec.rb
pulse-meter-0.4.8 spec/pulse_meter/extensions/enumerable_spec.rb
pulse-meter-0.4.7 spec/pulse_meter/extensions/enumerable_spec.rb
pulse-meter-0.4.6 spec/pulse_meter/extensions/enumerable_spec.rb
pulse-meter-0.4.5 spec/pulse_meter/extensions/enumerable_spec.rb
pulse-meter-0.4.4 spec/pulse_meter/extensions/enumerable_spec.rb
pulse-meter-0.4.3 spec/pulse_meter/extensions/enumerable_spec.rb
pulse-meter-0.4.2 spec/pulse_meter/extensions/enumerable_spec.rb
pulse-meter-0.4.1 spec/pulse_meter/extensions/enumerable_spec.rb
pulse-meter-0.4.0 spec/pulse_meter/extensions/enumerable_spec.rb
pulse-meter-0.3.2 spec/pulse_meter/extensions/enumerable_spec.rb
pulse-meter-0.3.1 spec/pulse_meter/extensions/enumerable_spec.rb
pulse-meter-0.3.0 spec/pulse_meter/extensions/enumerable_spec.rb
pulse-meter-0.2.11 spec/pulse_meter/extensions/enumerable_spec.rb
pulse-meter-0.2.10 spec/pulse_meter/extensions/enumerable_spec.rb
pulse-meter-0.2.9 spec/pulse_meter/extensions/enumerable_spec.rb
pulse-meter-0.2.8 spec/pulse_meter/extensions/enumerable_spec.rb