1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-11-18 01:25:35 +00:00
Purism-Calls/tests/test-provider.c
Mohammed Sadiq eda460ac15 provider: Use GListModel to track origins
And adapt to changes

It's easier to track changes if we are using GListModel than
a GList.  Also, eventually we shall have multiple providers,
and we can use GtkFlattenListModel to merge multiple origins
without manually managing pointers ourself.

Since several widgets has APIs to handle GListModels, it will
also help us create widgets from GListModels easily.
2021-02-25 08:44:56 +05:30

69 lines
1.4 KiB
C

/*
* Copyright (C) 2018 Purism SPC
*
* SPDX-License-Identifier: GPL-3.0+
*/
#include "setup-provider.h"
#include "calls-provider.h"
#include "calls-origin.h"
#include "calls-message-source.h"
#include "common.h"
#include <gtk/gtk.h>
#include <string.h>
static void
test_dummy_provider_object (ProviderFixture *fixture,
gconstpointer user_data)
{
g_assert_true (G_IS_OBJECT (fixture->dummy_provider));
g_assert_true (CALLS_IS_MESSAGE_SOURCE (fixture->dummy_provider));
g_assert_true (CALLS_IS_PROVIDER (fixture->dummy_provider));
}
static void
test_dummy_provider_get_name (ProviderFixture *fixture,
gconstpointer user_data)
{
CallsProvider *provider;
const gchar *name;
provider = CALLS_PROVIDER (fixture->dummy_provider);
name = calls_provider_get_name (provider);
g_assert_nonnull (name);
g_assert_cmpuint (strlen (name), >, 0U);
}
static void
test_dummy_provider_origins (ProviderFixture *fixture,
gconstpointer user_data)
{
GListModel *origins;
origins = calls_provider_get_origins
(CALLS_PROVIDER (fixture->dummy_provider));
g_assert_cmpuint (g_list_model_get_n_items (origins), ==, 1);
}
gint
main (gint argc,
gchar *argv[])
{
gtk_test_init (&argc, &argv, NULL);
#define add_test(name) add_calls_test(Provider, provider, name)
add_test(object);
add_test(get_name);
add_test(origins);
#undef add_test
return g_test_run();
}