static void test_qof_object_get_type_label( Fixture *fixture, gconstpointer pData ) { g_assert( qof_object_get_type_label( NULL ) == NULL ); g_test_message( "Test with non existing object" ); g_assert( qof_object_get_type_label( "anytype" ) == NULL ); g_test_message( "Test with existing registered object" ); g_assert( qof_object_register( fixture->qofobject ) == TRUE ); g_assert_cmpstr( qof_object_get_type_label( "my type object" ), == , "object desc" ); }
static void test_object (void) { QofBook *book = qof_book_new(); do_test ((NULL != book), "book null"); /* Test the global registration and lookup functions */ { do_test (!qof_object_register (NULL), "register NULL"); do_test (qof_object_register (&bus_obj), "register test object"); do_test (!qof_object_register (&bus_obj), "register test object again"); do_test (qof_object_lookup (TEST_MODULE_NAME) == &bus_obj, "lookup our installed object"); do_test (qof_object_lookup ("snm98sn snml say dyikh9y9ha") == NULL, "lookup non-existant object object"); do_test (!g_strcmp0 (qof_object_get_type_label (TEST_MODULE_NAME), _(TEST_MODULE_DESC)), "test description return"); } test_foreach (book, TEST_MODULE_NAME); test_printable (TEST_MODULE_NAME, (gpointer)1); }
static GtkWidget * gnc_owner_new (GtkWidget *label, GtkWidget *hbox, QofBook *book, GncOwner *owner, GNCSearchType type) { GtkWidget *edit; GNCSearchCB search_cb = NULL; const char *type_name = NULL; const char *text = NULL; gboolean text_editable = FALSE; switch (type) { case GNCSEARCH_TYPE_SELECT: text = _("Select..."); text_editable = TRUE; break; case GNCSEARCH_TYPE_EDIT: text = _("Edit..."); text_editable = FALSE; break; }; switch (owner->type) { case GNC_OWNER_NONE: case GNC_OWNER_UNDEFINED: return NULL; case GNC_OWNER_CUSTOMER: if (type == GNCSEARCH_TYPE_SELECT) search_cb = gnc_customer_search_select; else search_cb = gnc_customer_search_edit; type_name = GNC_CUSTOMER_MODULE_NAME; break; case GNC_OWNER_JOB: if (type == GNCSEARCH_TYPE_SELECT) search_cb = gnc_job_search_select; else search_cb = gnc_job_search_edit; type_name = GNC_JOB_MODULE_NAME; break; case GNC_OWNER_VENDOR: if (type == GNCSEARCH_TYPE_SELECT) search_cb = gnc_vendor_search_select; else search_cb = gnc_vendor_search_edit; type_name = GNC_VENDOR_MODULE_NAME; break; case GNC_OWNER_EMPLOYEE: if (type == GNCSEARCH_TYPE_SELECT) search_cb = gnc_employee_search_select; else search_cb = gnc_employee_search_edit; type_name = GNC_EMPLOYEE_MODULE_NAME; break; default: g_warning ("Unknown type"); return NULL; } edit = gnc_general_search_new (type_name, text, text_editable, search_cb, book, book); if (!edit) return NULL; gnc_general_search_set_selected (GNC_GENERAL_SEARCH (edit), owner->owner.undefined); gtk_box_pack_start (GTK_BOX (hbox), edit, TRUE, TRUE, 0); if (label) gtk_label_set_text (GTK_LABEL (label), _(qof_object_get_type_label (type_name))); return edit; }