From 3621bd3ae08479cf92393022c34b3e3ce5e7a32c Mon Sep 17 00:00:00 2001 From: mvandervoord Date: Sat, 18 Oct 2008 20:21:19 +0000 Subject: [PATCH] tested plugin manager git-svn-id: http://cmock.svn.sourceforge.net/svnroot/cmock/trunk@30 bf332499-1b4d-0410-844d-d2d48d5cc64c --- lib/cmock_plugin_manager.rb | 4 +-- test/unit/cmock_plugin_manager_test.rb | 50 ++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 test/unit/cmock_plugin_manager_test.rb diff --git a/lib/cmock_plugin_manager.rb b/lib/cmock_plugin_manager.rb index 39678af..f794868 100644 --- a/lib/cmock_plugin_manager.rb +++ b/lib/cmock_plugin_manager.rb @@ -5,6 +5,8 @@ require "#{$here}/cmock_generator_plugin_cexception.rb" class CMockPluginManager + attr_reader :config, :utils + def initialize(config, utils) @config = config @utils = utils @@ -18,5 +20,3 @@ class CMockPluginManager return @plugins end end - -#!!!!!!!!!!!!!!!!!!!!!!!!! eventually I plan to scan a plugin directory to pull in all this stuff, and maybe check the yaml file after that to see what is currently allowed. that sounds swank, no? diff --git a/test/unit/cmock_plugin_manager_test.rb b/test/unit/cmock_plugin_manager_test.rb new file mode 100644 index 0000000..c4b335b --- /dev/null +++ b/test/unit/cmock_plugin_manager_test.rb @@ -0,0 +1,50 @@ +require File.expand_path(File.dirname(__FILE__)) + "/../test_helper" +require File.expand_path(File.dirname(__FILE__)) + "/../../lib/cmock_plugin_manager" + +class CMockPluginManagerTest < Test::Unit::TestCase + def setup + create_mocks :config, :utils + @cmock_plugins = CMockPluginManager.new(@config, @utils) + end + + def teardown + end + + should "have set up internal accessors correctly on init" do + assert_equal(@config, @cmock_plugins.config) + assert_equal(@utils, @cmock_plugins.utils) + end + + should "return all plugins by default" do + @config.stubs!(:tab).returns(" ") + @config.expect.use_cexception.returns(true) + @config.expect.allow_ignore_mock.returns(true) + test_plugins = @cmock_plugins.get_generator_plugins + contained = { :expect => false, :ignore => false, :cexception => false } + test_plugins.each do |plugin| + contained[:expect] = true if plugin.instance_of?(CMockGeneratorPluginExpect) + contained[:ignore] = true if plugin.instance_of?(CMockGeneratorPluginIgnore) + contained[:cexception] = true if plugin.instance_of?(CMockGeneratorPluginCException) + end + assert_equal(true, contained[:expect]) + assert_equal(true, contained[:ignore]) + assert_equal(true, contained[:cexception]) + end + + should "return restricted plugins based on config" do + @config.stubs!(:tab).returns(" ") + @config.expect.use_cexception.returns(false) + @config.expect.allow_ignore_mock.returns(false) + test_plugins = @cmock_plugins.get_generator_plugins + contained = { :expect => false, :ignore => false, :cexception => false } + test_plugins.each do |plugin| + contained[:expect] = true if plugin.instance_of?(CMockGeneratorPluginExpect) + contained[:ignore] = true if plugin.instance_of?(CMockGeneratorPluginIgnore) + contained[:cexception] = true if plugin.instance_of?(CMockGeneratorPluginCException) + end + assert_equal(true, contained[:expect]) + assert_equal(false,contained[:ignore]) + assert_equal(false,contained[:cexception]) + end + +end