diff options
author | Richard Hughes <richard@hughsie.com> | 2015-12-30 09:43:44 +0000 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2015-12-30 09:44:11 +0000 |
commit | 0c789c7623e6479e716e6a46a270080778743a5a (patch) | |
tree | a235f0f0cf9cfbff8f26162af7f1cb7269143135 | |
parent | 6212d2eddc2d424813013be383af92388f54f9d8 (diff) | |
download | appstream-glib-0c789c7623e6479e716e6a46a270080778743a5a.tar.gz |
Check the project_group when validating
Fixes https://github.com/hughsie/appstream-glib/issues/73
-rw-r--r-- | data/tests/broken.appdata.xml | 1 | ||||
-rw-r--r-- | libappstream-glib/as-app-validate.c | 11 | ||||
-rw-r--r-- | libappstream-glib/as-self-test.c | 4 |
3 files changed, 15 insertions, 1 deletions
diff --git a/data/tests/broken.appdata.xml b/data/tests/broken.appdata.xml index 6cdebe8..def2fb5 100644 --- a/data/tests/broken.appdata.xml +++ b/data/tests/broken.appdata.xml @@ -4,6 +4,7 @@ <metadata_license>GPLv3+</metadata_license> <metadata_license>BSD</metadata_license> <project_license>CC1</project_license> + <project_group>GNU</project_group> <name>Power Statistics.</name> <summary>Observe power management.</summary> <description> diff --git a/libappstream-glib/as-app-validate.c b/libappstream-glib/as-app-validate.c index 87e4a10..1f87324 100644 --- a/libappstream-glib/as-app-validate.c +++ b/libappstream-glib/as-app-validate.c @@ -1239,6 +1239,17 @@ as_app_validate (AsApp *app, AsAppValidateFlags flags, GError **error) } } + /* project_group */ + tmp = as_app_get_project_group (app); + if (tmp != NULL) { + if (!as_utils_is_environment_id (tmp)) { + ai_app_validate_add (&helper, + AS_PROBLEM_KIND_TAG_INVALID, + "<project_group> is not valid [%s]", + tmp); + } + } + /* pkgname */ if (as_app_get_pkgname_default (app) != NULL && as_app_get_source_kind (app) == AS_APP_SOURCE_KIND_METAINFO) { diff --git a/libappstream-glib/as-self-test.c b/libappstream-glib/as-self-test.c index ea70ee5..5e09dd3 100644 --- a/libappstream-glib/as-self-test.c +++ b/libappstream-glib/as-self-test.c @@ -1578,7 +1578,9 @@ as_test_app_validate_file_bad_func (void) "<p> requires sentence case"); as_test_app_validate_check (probs, AS_PROBLEM_KIND_STYLE_INCORRECT, "<li> requires sentence case"); - g_assert_cmpint (probs->len, ==, 28); + as_test_app_validate_check (probs, AS_PROBLEM_KIND_TAG_INVALID, + "<project_group> is not valid"); + g_assert_cmpint (probs->len, ==, 29); } static void |