Sha256: c1158b9d42d2bda92402f1a85bd077de46e887215d925283660fea4248fc9df9

Contents?: true

Size: 1.13 KB

Versions: 1

Compression:

Stored size: 1.13 KB

Contents

require 'spec_helper'
require 'fileutils'
require 'tmpdir'

module RevealCK
  module Changers
    describe Slicer do

      describe '.remove!' do

        let :before_remove do
          spec_data 'changers', 'slicer', 'before_remove'
        end

        let :after_remove do
          spec_data 'changers', 'slicer', 'after_remove'
        end

        it 'removes a range of lines from a file' do
          Dir.mktmpdir do |tmp_dir|
            FileUtils.cp before_remove, tmp_dir
            test_file = File.join tmp_dir, 'before_remove'
            Slicer.remove! test_file, 3..6
            test_file_contents = File.open(test_file).read
            after_remove_contents = File.open(after_remove).read
            test_file_contents.should == after_remove_contents
          end
        end
      end

      describe '#remove' do

        it 'returns lines with the range removed' do
          lines = [
                   'a',
                   'b',
                   'c',
                   'd'
                  ]
          slicer = Slicer.new lines
          slicer.remove(1..2).should == ['a', 'd']
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
reveal-ck-0.1.7 spec/lib/reveal-ck/changers/slicer_spec.rb