static PyObject * matches(_SelectorObject *self, PyObject *args) { GPtrArray *plist = hy_selector_matches(self->sltr); PyObject *list = packagelist_to_pylist(plist, self->sack); g_ptr_array_unref(plist); return list; }
END_TEST START_TEST(test_sltr_provides_glob) { HySelector sltr = hy_selector_create(test_globals.sack); fail_if(hy_selector_set(sltr, HY_PKG_PROVIDES, HY_GLOB, "*alru*")); HyPackageList plist = hy_selector_matches(sltr); fail_unless(hy_packagelist_count(plist) == 2); hy_packagelist_free(plist); hy_selector_free(sltr); }
gboolean hy_selector_has_matches(HySelector sltr) { /* Doing things this way obviously wastes allocations, * but it avoids code duplication. All of the callers * seem to really want this, so at some point if that's * true, let's nuke hy_selector_matches(). */ g_autoptr(GPtrArray) selector_matches = NULL; selector_matches = hy_selector_matches(sltr); return selector_matches->len > 0; }
END_TEST START_TEST(test_sltr_provides_glob) { HySelector sltr = hy_selector_create(test_globals.sack); fail_if(hy_selector_set(sltr, HY_PKG_PROVIDES, HY_GLOB, "*alru*")); GPtrArray *plist = hy_selector_matches(sltr); fail_unless(plist->len == 2); g_ptr_array_unref(plist); hy_selector_free(sltr); }
END_TEST START_TEST(test_sltr_matching) { HySelector sltr = hy_selector_create(test_globals.sack); fail_if(hy_selector_set(sltr, HY_PKG_NAME, HY_EQ, "penny")); GPtrArray *plist = hy_selector_matches(sltr); fail_unless(plist->len == 2); g_ptr_array_unref(plist); hy_selector_free(sltr); }
END_TEST START_TEST(test_sltr_version) { HySelector sltr = hy_selector_create(test_globals.sack); fail_if(hy_selector_set(sltr, HY_PKG_NAME, HY_EQ, "jay")); fail_if(hy_selector_set(sltr, HY_PKG_VERSION, HY_EQ, "5.0")); HyPackageList plist = hy_selector_matches(sltr); fail_unless(hy_packagelist_count(plist) == 2); hy_packagelist_free(plist); hy_selector_free(sltr); }
END_TEST START_TEST(test_sltr_reponame_nonexistent) { HySelector sltr = hy_selector_create(test_globals.sack); fail_if(hy_selector_set(sltr, HY_PKG_NAME, HY_GLOB, "*")); fail_if(hy_selector_set(sltr, HY_PKG_REPONAME, HY_EQ, "non-existent")); HyPackageList plist = hy_selector_matches(sltr); fail_unless(hy_packagelist_count(plist) == 0); hy_packagelist_free(plist); hy_selector_free(sltr); }
END_TEST START_TEST(test_sltr_reponame) { HySelector sltr = hy_selector_create(test_globals.sack); fail_if(hy_selector_set(sltr, HY_PKG_NAME, HY_EQ, "penny")); fail_if(hy_selector_set(sltr, HY_PKG_REPONAME, HY_EQ, "main")); HyPackageList plist = hy_selector_matches(sltr); fail_unless(hy_packagelist_count(plist) == 1); hy_packagelist_free(plist); hy_selector_free(sltr); }
END_TEST START_TEST(test_sltr_reponame_nonexistent) { HySelector sltr = hy_selector_create(test_globals.sack); fail_if(hy_selector_set(sltr, HY_PKG_NAME, HY_GLOB, "*")); fail_if(hy_selector_set(sltr, HY_PKG_REPONAME, HY_EQ, "non-existent")); GPtrArray *plist = hy_selector_matches(sltr); fail_unless(plist->len == 0); g_ptr_array_unref(plist); hy_selector_free(sltr); }