diff options
author | Reuben Thomas <rrt@sc3d.org> | 2021-11-12 14:22:10 +0000 |
---|---|---|
committer | Reuben Thomas <rrt@sc3d.org> | 2021-11-16 12:24:42 +0000 |
commit | f0ebe6f96bfc1a5e798acbe54ef68efc2ce6be21 (patch) | |
tree | 4f68e4604ca9f5e51f8aa83d17b0b96e5f289678 | |
parent | 53416be5789613c8a14f26eaffe87e6aa70a35c0 (diff) | |
download | enchant-f0ebe6f96bfc1a5e798acbe54ef68efc2ce6be21.tar.gz |
Aspell provider: set provider error when request_dict fails
Also remove some checks for mandatory provider methods in test code.
-rw-r--r-- | providers/enchant_aspell.c | 1 | ||||
-rw-r--r-- | tests/enchant_providers/Provider/provider_list_dicts.cpp | 18 | ||||
-rw-r--r-- | tests/enchant_providers/Provider/provider_request_dict.cpp | 23 | ||||
-rw-r--r-- | tests/enchant_providers/providers.test.cpp | 2 | ||||
-rw-r--r-- | tests/enchant_providers/unittest_enchant_providers.h | 15 |
5 files changed, 18 insertions, 41 deletions
diff --git a/providers/enchant_aspell.c b/providers/enchant_aspell.c index d79891c..3bef4ef 100644 --- a/providers/enchant_aspell.c +++ b/providers/enchant_aspell.c @@ -143,6 +143,7 @@ aspell_provider_request_dict (EnchantProvider * me _GL_UNUSED_PARAMETER, const c if (aspell_error_number (spell_error) != 0) { + enchant_provider_set_error (me, aspell_error_message (spell_error)); delete_aspell_can_have_error(spell_error); return NULL; } diff --git a/tests/enchant_providers/Provider/provider_list_dicts.cpp b/tests/enchant_providers/Provider/provider_list_dicts.cpp index 5b66413..0317abd 100644 --- a/tests/enchant_providers/Provider/provider_list_dicts.cpp +++ b/tests/enchant_providers/Provider/provider_list_dicts.cpp @@ -62,19 +62,17 @@ TEST_FIXTURE(ProviderListDicts_TestFixture, TEST_FIXTURE(ProviderListDicts_TestFixture,
ProviderListDicts_ForEachReturned_RequestDictSucceeds)
{
- if(_provider->list_dicts && _provider->request_dict)
+ if(_provider->list_dicts)
{
- size_t n_dicts;
+ size_t n_dicts;
- _dicts = (*_provider->list_dicts) (_provider, &n_dicts);
- for (size_t i = 0; i < n_dicts; i++)
- {
- EnchantDict* dict = (*_provider->request_dict) (_provider, _dicts[i]);
- CHECK(dict != NULL);
- if (dict && _provider->dispose_dict)
- {
+ _dicts = (*_provider->list_dicts) (_provider, &n_dicts);
+ for (size_t i = 0; i < n_dicts; i++)
+ {
+ EnchantDict* dict = (*_provider->request_dict) (_provider, _dicts[i]);
+ CHECK(dict != NULL);
+ if (dict)
_provider->dispose_dict(_provider, dict);
- }
}
}
}
diff --git a/tests/enchant_providers/Provider/provider_request_dict.cpp b/tests/enchant_providers/Provider/provider_request_dict.cpp index 1cd2ed6..4ad4680 100644 --- a/tests/enchant_providers/Provider/provider_request_dict.cpp +++ b/tests/enchant_providers/Provider/provider_request_dict.cpp @@ -34,10 +34,8 @@ struct ProviderRequestDictionary_TestFixture : Provider_TestFixture //Teardown
~ProviderRequestDictionary_TestFixture()
{
- if (_dict && _provider->dispose_dict)
- {
- _provider->dispose_dict(_provider, _dict);
- }
+ if (_dict)
+ _provider->dispose_dict(_provider, _dict);
}
};
@@ -49,19 +47,6 @@ struct ProviderRequestDictionary_TestFixture : Provider_TestFixture TEST_FIXTURE(ProviderRequestDictionary_TestFixture,
ProviderRequestDictionary_ProviderDoesNotHave_ReturnsNull)
{
- if (_provider->request_dict)
- {
- _dict = (*_provider->request_dict) (_provider, "zxx"); /*zxx is no linguistic content*/
- CHECK_EQUAL((void*)NULL, _dict);
- }
-}
-
-TEST_FIXTURE(ProviderRequestDictionary_TestFixture,
- ProviderRequestDictionary_ProviderDoesNotHave_ProviderDoesNotSetError)
-{
- if (_provider->request_dict)
- {
- _dict = (*_provider->request_dict) (_provider, "zxx"); /*zxx is no linguistic content*/
- CHECK_EQUAL((void*)NULL, GetErrorMessage(_provider));
- }
+ _dict = (*_provider->request_dict) (_provider, "zxx"); /*zxx is no linguistic content*/
+ CHECK_EQUAL((void*)NULL, _dict);
}
diff --git a/tests/enchant_providers/providers.test.cpp b/tests/enchant_providers/providers.test.cpp index 7d72faf..7f5bcbc 100644 --- a/tests/enchant_providers/providers.test.cpp +++ b/tests/enchant_providers/providers.test.cpp @@ -26,6 +26,7 @@ #include <gmodule.h>
#include <assert.h>
#include <string.h>
+#include <stdlib.h>
#include "unittest_enchant_providers.h"
int Test(char* path);
@@ -167,6 +168,7 @@ int TestProvider(char* filename) g_provider->dispose(g_provider);
g_provider = NULL;
+ free(broker.error);
}
if(module){
diff --git a/tests/enchant_providers/unittest_enchant_providers.h b/tests/enchant_providers/unittest_enchant_providers.h index 5fd2416..62f50ad 100644 --- a/tests/enchant_providers/unittest_enchant_providers.h +++ b/tests/enchant_providers/unittest_enchant_providers.h @@ -69,14 +69,11 @@ struct Provider_TestFixture // Try getting dictionary for user's default language
char *lang = enchant_get_user_language();
- if (_provider->request_dict)
- {
- dict = (*_provider->request_dict) (_provider, lang);
- }
+ dict = (*_provider->request_dict) (_provider, lang);
g_free (lang);
// If not available, get the first dictionary listed as being available
- if (!dict && _provider->list_dicts && _provider->request_dict)
+ if (!dict && _provider->list_dicts)
{
size_t n_dicts;
@@ -90,18 +87,12 @@ struct Provider_TestFixture EnchantDict* GetDictionary(const char* language)
{
- if(_provider->request_dict)
- {
return (*_provider->request_dict) (_provider, language);
- }
- return NULL;
}
virtual void ReleaseDictionary(EnchantDict* dict)
{
- if (dict && _provider->dispose_dict)
- {
+ if (dict)
_provider->dispose_dict(_provider, dict);
- }
}
};
|