diff options
Diffstat (limited to 'test/plugin/PluginTest.c')
| -rw-r--r-- | test/plugin/PluginTest.c | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/test/plugin/PluginTest.c b/test/plugin/PluginTest.c new file mode 100644 index 0000000..7c2a575 --- /dev/null +++ b/test/plugin/PluginTest.c @@ -0,0 +1,91 @@ +#include "unit/TestRunner.h" +#include "plugin/Plugin.h" + +static int _testPluginFactory(void) +{ + CharString silence = newCharStringWithCString("mrs_silence"); + CharString pluginRoot = newCharString(); + Plugin p = pluginFactory(silence, pluginRoot); + + assertNotNull(p); + assertIntEquals(PLUGIN_TYPE_INTERNAL, p->interfaceType); + assertCharStringEquals(silence->data, p->pluginName); + + freeCharString(silence); + freeCharString(pluginRoot); + freePlugin(p); + return 0; +} + +static int _testPluginFactoryInvalidPlugin(void) +{ + CharString invalid = newCharStringWithCString("invalid"); + CharString pluginRoot = newCharString(); + Plugin p = pluginFactory(invalid, pluginRoot); + + assertIsNull(p); + + freeCharString(invalid); + freeCharString(pluginRoot); + freePlugin(p); + return 0; +} + +static int _testPluginFactoryNullPluginName(void) +{ + CharString pluginRoot = newCharString(); + Plugin p = pluginFactory(NULL, pluginRoot); + + assertIsNull(p); + + freeCharString(pluginRoot); + freePlugin(p); + return 0; +} + +static int _testPluginFactoryEmptyPluginName(void) +{ + CharString invalid = newCharString(); + CharString pluginRoot = newCharString(); + Plugin p = pluginFactory(invalid, pluginRoot); + + assertIsNull(p); + + freeCharString(invalid); + freeCharString(pluginRoot); + freePlugin(p); + return 0; +} + +static int _testPluginFactoryNullRoot(void) +{ + CharString silence = newCharStringWithCString("mrs_silence"); + Plugin p = pluginFactory(silence, NULL); + + assertNotNull(p); + assertIntEquals(PLUGIN_TYPE_INTERNAL, p->interfaceType); + assertCharStringEquals(silence->data, p->pluginName); + + freeCharString(silence); + freePlugin(p); + return 0; +} + +static int _testFreeNullPlugin(void) +{ + freePlugin(NULL); + return 0; +} + +TestSuite addPluginTests(void); +TestSuite addPluginTests(void) +{ + TestSuite testSuite = newTestSuite("Plugin", NULL, NULL); + addTest(testSuite, "PluginFactory", _testPluginFactory); + addTest(testSuite, "PluginFactoryInvalidPlugin", _testPluginFactoryInvalidPlugin); + addTest(testSuite, "PluginFactoryNullPluginName", _testPluginFactoryNullPluginName); + addTest(testSuite, "PluginFactoryEmptyPluginName", _testPluginFactoryEmptyPluginName); + addTest(testSuite, "PluginFactoryNullRoot", _testPluginFactoryNullRoot); + addTest(testSuite, "FreeNullPlugin", _testFreeNullPlugin); + return testSuite; +} |
