[SCM] vim-addon-manager packaging branch, master, updated. v0.4.4-52-geef7258
Antonio Terceiro
terceiro at debian.org
Tue Jan 31 23:33:09 UTC 2012
The following commit has been merged in the master branch:
commit 9a9be102976f22a85b8ab7745a5da74f4adadf76
Author: Antonio Terceiro <terceiro at debian.org>
Date: Sun Jan 22 09:38:25 2012 -0200
Add some tests for the AddonManager class
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 7c27572..3d37e96 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -1,5 +1,12 @@
require 'vim/addon_manager'
require 'vim/addon_manager/registry'
+require 'tmpdir'
FAKE_REGISTRY = File.join(File.dirname(__FILE__), 'data/registry')
FAKE_ADDONS = File.join(File.dirname(__FILE__), 'data/addons')
+
+RSpec.configure do |c|
+ c.before { Vim::AddonManager.logger.quiet! }
+ c.before { @tmpdir = Dir.mktmpdir }
+ c.after { FileUtils.rm_rf(@tmpdir) }
+end
diff --git a/spec/vim/addon_manager_spec.rb b/spec/vim/addon_manager_spec.rb
new file mode 100644
index 0000000..d3c7392
--- /dev/null
+++ b/spec/vim/addon_manager_spec.rb
@@ -0,0 +1,44 @@
+require 'spec_helper'
+
+describe Vim::AddonManager do
+
+ before do
+ @target = Target.new(@tmpdir)
+ @registry = Vim::AddonManager::Registry.new(FAKE_REGISTRY, FAKE_ADDONS)
+ @manager = Vim::AddonManager.new(FAKE_ADDONS, @target.dir)
+ end
+
+ it 'installs addons' do
+ @manager.install addons('foo')
+ @target.should have_file('syntax/foo.vim')
+ end
+
+ it 'installs multiple addons at once' do
+ @manager.install addons('foo', 'bar')
+ @target.should have_file('syntax/foo.vim')
+ @target.should have_file('syntax/bar.vim')
+ end
+
+ it 'removes addons' do
+ @manager.install addons('foo')
+ @manager.remove addons('foo')
+ @target.should_not have_file('syntax/foo.vim')
+ end
+
+private
+
+ def addons(*addon_names)
+ addon_names.map { |name| @registry[name] }
+ end
+
+ class Target
+ attr :dir
+ def initialize(dir)
+ @dir = dir
+ end
+ def has_file?(file)
+ File.exists?(File.join(@dir, file))
+ end
+ end
+
+end
--
vim-addon-manager packaging
More information about the pkg-vim-maintainers
mailing list