Sha256: 2eef8d7b047b071dc4bb1d4843ab4b4cecbc757161d8ef8619e3fe1c55625638

Contents?: true

Size: 1.83 KB

Versions: 2

Compression:

Stored size: 1.83 KB

Contents

require_relative '../../test_helper'
describe FilenameCleaner do
  context '#sanitize' do
    it 'works with simple input' do
      FilenameCleaner.sanitize('any txt').must_equal 'any.txt'
      FilenameCleaner.sanitize('this is a long filename.txt').must_equal 'this.is.a.long.filename.txt'
    end
    it 'works with text with extension' do
      FilenameCleaner.sanitize('filename.txt').must_equal 'filename.txt'
    end
  end
  context '#sanitize_filename' do
    describe 'file with extension' do
      it 'replaces mutilple consecutive chars with one' do
        FilenameCleaner.sanitize_filename('some!!!$file$:%.txt').must_equal 'some.file..txt'
      end
      it 'works with default separator' do
        FilenameCleaner.sanitize_filename('some file.txt').must_equal 'some.file.txt'
      end
      it 'works with non-default separator' do
        FilenameCleaner.sanitize_filename('some file.txt', '_').must_equal 'some_file.txt'
      end
    end
    describe 'file without extension' do
      it 'replaces mutilple consecutive chars with one' do
        FilenameCleaner.sanitize_filename('some!!!$file$:%.').must_equal 'some.file.'
      end
      context 'using default separator' do
        it 'works with simple input' do
          FilenameCleaner.sanitize_filename('Gemfile').must_equal 'Gemfile'
        end
        it 'works with complex input' do
          FilenameCleaner.sanitize_filename('File$without!extension').must_equal 'File.without.extension'
        end
      end
      context 'with non-default separator char' do
        it 'works with simple input' do
          FilenameCleaner.sanitize_filename('Gemfile', '_').must_equal 'Gemfile'
        end
        it 'works with complex input' do
          FilenameCleaner.sanitize_filename('File$without!extension', '-').must_equal 'File-without-extension'
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
filename_cleaner-0.1.0 test/lib/filename_cleaner/test_filename_cleaner.rb
filename_cleaner-0.0.3 test/lib/filename_cleaner/test_filename_cleaner.rb