Sha256: 2227063cbeba30d753a6c73c7ec1c9c824f1b39405770bb6a79b1dc96e6a77d1

Contents?: true

Size: 1.97 KB

Versions: 4

Compression:

Stored size: 1.97 KB

Contents

require 'everyday-plugins'
include EverydayPlugins
require_relative '../lib/mvr/plugin'
require_relative '../lib/mvr/plugin/extension.plugin'

describe ExtensionPlugin do
  it 'removes and adds back the extension' do
    Plugins.set_var :options, { exclude_extension: true }
    Plugins.set_var :ext, nil
    name  = 'filename.txt'
    edit1 = Plugins.get :name_change_before, name
    edit1.should eq 'filename'
    ext = Plugins.get_var :ext
    ext.should eq '.txt'
    edit2 = Plugins.get :name_change_after, edit1
    edit2.should eq name
  end

  it 'does not mess up with no extension' do
    Plugins.set_var :options, { exclude_extension: true }
    Plugins.set_var :ext, nil
    name  = 'filename'
    edit1 = Plugins.get :name_change_before, name
    edit1.should eq name
    ext = Plugins.get_var :ext
    ext.should be_nil
    edit2 = Plugins.get :name_change_after, edit1
    edit2.should eq name
  end

  it 'handles multiple extensions fine' do
    Plugins.set_var :options, { exclude_extension: true }
    Plugins.set_var :ext, nil
    name  = 'filename.a.b.c.txt'
    edit1 = Plugins.get :name_change_before, name
    edit1.should eq 'filename.a.b.c'
    ext = Plugins.get_var :ext
    ext.should eq '.txt'
    edit2 = Plugins.get :name_change_after, edit1
    edit2.should eq name
  end

  it 'does not mess up with no filename' do
    Plugins.set_var :options, { exclude_extension: true }
    Plugins.set_var :ext, nil
    name  = '.filename'
    edit1 = Plugins.get :name_change_before, name
    edit1.should eq name
    ext = Plugins.get_var :ext
    ext.should be_nil
    edit2 = Plugins.get :name_change_after, edit1
    edit2.should eq name
  end

  it 'does not remove and add back extension if option disabled' do
    Plugins.set_var :options, { exclude_extension: false }
    Plugins.set_var :ext, nil
    name  = 'filename.txt'
    edit1 = Plugins.get :name_change_before, name
    edit1.should eq name
    edit2 = Plugins.get :name_change_after, edit1
    edit2.should eq name
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mvr-2.0.3 spec/extension_spec.rb
mvr-2.0.2 spec/extension_spec.rb
mvr-2.0.1 spec/extension_spec.rb
mvr-2.0.0 spec/extension_spec.rb