summaryrefslogtreecommitdiff
path: root/libappstream-glib/as-self-test.c
diff options
context:
space:
mode:
authorKalev Lember <klember@redhat.com>2016-12-29 23:56:53 +0100
committerKalev Lember <klember@redhat.com>2016-12-30 00:00:36 +0100
commit80cd5c18dd44003d81c35ce6ea197a8879f7daa0 (patch)
tree47818e9a5a356bfd82e29f710885a684f2134a4c /libappstream-glib/as-self-test.c
parent959972c57e1b73a8ffd60e5719f8e10301a2ab3c (diff)
downloadappstream-glib-80cd5c18dd44003d81c35ce6ea197a8879f7daa0.tar.gz
Add support for "+" operator at the end of SPDX license identifierswip/kalev/spdx-+-tokenize
SPDX v2.0 and later support an unary "+" operator suffix at the end of license identifiers, e.g. "CC-BY-SA-3.0+". This commit adds support for tokenizing and detokenizing this and adds new tests.
Diffstat (limited to 'libappstream-glib/as-self-test.c')
-rw-r--r--libappstream-glib/as-self-test.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libappstream-glib/as-self-test.c b/libappstream-glib/as-self-test.c
index d54ec54..e7c914b 100644
--- a/libappstream-glib/as-self-test.c
+++ b/libappstream-glib/as-self-test.c
@@ -4151,6 +4151,16 @@ as_test_utils_spdx_token_func (void)
g_strfreev (tok);
g_free (tmp);
+ /* "+" operator */
+ tok = as_utils_spdx_license_tokenize ("CC-BY-SA-3.0+ AND Zlib");
+ tmp = g_strjoinv (" ", tok);
+ g_assert_cmpstr (tmp, ==, "@CC-BY-SA-3.0 + & @Zlib");
+ g_free (tmp);
+ tmp = as_utils_spdx_license_detokenize (tok);
+ g_assert_cmpstr (tmp, ==, "CC-BY-SA-3.0+ AND Zlib");
+ g_strfreev (tok);
+ g_free (tmp);
+
/* detokenisation literals */
tok = as_utils_spdx_license_tokenize ("Public Domain");
tmp = as_utils_spdx_license_detokenize (tok);
@@ -4188,6 +4198,8 @@ as_test_utils_spdx_token_func (void)
g_assert (as_utils_is_spdx_license ("LicenseRef-proprietary"));
g_assert (as_utils_is_spdx_license ("CC0 and GFDL-1.3"));
g_assert (as_utils_is_spdx_license ("CC0 AND GFDL-1.3"));
+ g_assert (as_utils_is_spdx_license ("CC-BY-SA-3.0+"));
+ g_assert (as_utils_is_spdx_license ("CC-BY-SA-3.0+ AND Zlib"));
g_assert (as_utils_is_spdx_license ("NOASSERTION"));
g_assert (!as_utils_is_spdx_license ("CC0 dave"));
g_assert (!as_utils_is_spdx_license (""));