summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2012-10-01 09:49:38 -0500
committerDenis Kenzior <denkenz@gmail.com>2012-10-03 09:10:43 -0500
commitc563ced6864c56bb0cff3ae90ee9cc922e1e536d (patch)
treed6937f9e2df47fd5c14b8bece5004cb40452471e /tools
parent3d8b8846c8e4b85b5592998e01a79f15bfa93416 (diff)
downloadofono-c563ced6864c56bb0cff3ae90ee9cc922e1e536d.tar.bz2
stktest: Add DisplayText test sequence 4.1-4.3
Diffstat (limited to 'tools')
-rw-r--r--tools/stktest.c125
1 files changed, 125 insertions, 0 deletions
diff --git a/tools/stktest.c b/tools/stktest.c
index 1a80daa9..05ff0ba2 100644
--- a/tools/stktest.c
+++ b/tools/stktest.c
@@ -946,6 +946,61 @@ static void expect_response_and_finish(const unsigned char *pdu,
g_idle_add(end_session_and_finish, NULL);
}
+static void expect_response(const unsigned char *pdu, unsigned int len)
+{
+ struct test *test = cur_test->data;
+
+ STKTEST_RESPONSE_ASSERT(test->rsp_pdu, test->rsp_len, pdu, len);
+}
+
+static gboolean poweroff_not_canceled_after_3(gpointer user_data)
+{
+ __stktest_test_finish(pending != NULL);
+ return FALSE;
+}
+
+static gboolean end_session_and_not_canceled_after_3(gpointer user_data)
+{
+ g_at_server_send_unsolicited(emulator, "+CUSATEND");
+ g_timeout_add_seconds(3, poweroff_not_canceled_after_3, NULL);
+
+ return FALSE;
+}
+
+static void expect_response_and_not_canceled_after_3(const unsigned char *pdu,
+ unsigned int len)
+{
+ struct test *test = cur_test->data;
+
+ STKTEST_RESPONSE_ASSERT(test->rsp_pdu, test->rsp_len, pdu, len);
+
+ g_idle_add(end_session_and_not_canceled_after_3, NULL);
+}
+
+static gboolean poweroff_and_canceled_after_21(gpointer user_data)
+{
+ __stktest_test_finish(pending == NULL);
+ return FALSE;
+}
+
+static gboolean end_session_and_canceled_after_21(gpointer user_data)
+{
+ g_at_server_send_unsolicited(emulator, "+CUSATEND");
+ g_timeout_add_seconds(21, poweroff_and_canceled_after_21, NULL);
+
+ return FALSE;
+}
+
+static void expect_response_and_canceled_after_21(const unsigned char *pdu,
+ unsigned int len)
+{
+ struct test *test = cur_test->data;
+
+ STKTEST_RESPONSE_ASSERT(test->rsp_pdu, test->rsp_len, pdu, len);
+
+ g_idle_add(end_session_and_canceled_after_21, NULL);
+}
+
static DBusMessage *test_display_text_11(DBusMessage *msg,
const char *text,
unsigned char icon_id,
@@ -1080,6 +1135,59 @@ static DBusMessage *test_display_text_31(DBusMessage *msg,
return dbus_message_new_method_return(msg);
}
+static DBusMessage *test_display_text_41(DBusMessage *msg,
+ const char *text,
+ unsigned char icon_id,
+ gboolean urgent)
+{
+ STKTEST_AGENT_ASSERT(g_str_equal(text, "Toolkit Test 1"));
+ STKTEST_AGENT_ASSERT(icon_id == 0);
+ STKTEST_AGENT_ASSERT(urgent == FALSE);
+
+ return NULL;
+}
+
+static DBusMessage *test_display_text_42(DBusMessage *msg,
+ const char *text,
+ unsigned char icon_id,
+ gboolean urgent)
+{
+ STKTEST_AGENT_ASSERT(g_str_equal(text, "Toolkit Test 2"));
+ STKTEST_AGENT_ASSERT(icon_id == 0);
+ STKTEST_AGENT_ASSERT(urgent == FALSE);
+
+ return NULL;
+}
+
+static gboolean user_response(gpointer user_data)
+{
+ if (pending == NULL) {
+ __stktest_test_finish(FALSE);
+ return FALSE;
+ }
+
+ g_dbus_send_reply(conn, pending, DBUS_TYPE_INVALID);
+ dbus_message_unref(pending);
+ pending = NULL;
+
+ __stktest_test_finish(TRUE);
+
+ return FALSE;
+}
+
+static DBusMessage *test_display_text_43(DBusMessage *msg,
+ const char *text,
+ unsigned char icon_id,
+ gboolean urgent)
+{
+ STKTEST_AGENT_ASSERT(g_str_equal(text, "Toolkit Test 3"));
+ STKTEST_AGENT_ASSERT(icon_id == 0);
+ STKTEST_AGENT_ASSERT(urgent == FALSE);
+
+ g_timeout_add_seconds(3, user_response, NULL);
+ return NULL;
+}
+
static void power_down_reply(DBusPendingCall *call, void *user_data)
{
__stktest_test_next();
@@ -1198,6 +1306,23 @@ static void __stktest_test_init(void)
sizeof(display_text_response_311),
test_display_text_31,
expect_response_and_finish);
+ stktest_add_test("Display Text 4.1", "DisplayText",
+ display_text_411, sizeof(display_text_411),
+ display_text_response_411,
+ sizeof(display_text_response_411),
+ test_display_text_41,
+ expect_response_and_not_canceled_after_3);
+ stktest_add_test("Display Text 4.2", "DisplayText",
+ display_text_421, sizeof(display_text_421),
+ display_text_response_421,
+ sizeof(display_text_response_421),
+ test_display_text_42,
+ expect_response_and_canceled_after_21);
+ stktest_add_test("Display Text 4.3", "DisplayText",
+ display_text_431, sizeof(display_text_431),
+ display_text_response_431,
+ sizeof(display_text_response_431),
+ test_display_text_43, expect_response);
}
static void test_destroy(gpointer user_data)