diff options
author | Yang Gu <yang.gu@intel.com> | 2010-05-13 18:48:42 +0800 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-05-13 15:33:02 -0500 |
commit | 3fb819790a04575e270a05cb910f21540c0740cb (patch) | |
tree | 62b1c342ee32c6ab9881a4d54c3659d5a5f2a89e /unit | |
parent | 1a5d9bc8d5836363f2430f3996c862e0a57ef039 (diff) | |
download | ofono-3fb819790a04575e270a05cb910f21540c0740cb.tar.bz2 |
test-stk: Add test for get reader status parser
Diffstat (limited to 'unit')
-rw-r--r-- | unit/test-stkutil.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/unit/test-stkutil.c b/unit/test-stkutil.c index 80ad4616..73ccc602 100644 --- a/unit/test-stkutil.c +++ b/unit/test-stkutil.c @@ -9425,6 +9425,48 @@ static void test_perform_card_apdu(gconstpointer data) stk_command_free(command); } +struct get_reader_status_test { + const unsigned char *pdu; + unsigned int pdu_len; + unsigned char qualifier; +}; + +static unsigned char get_reader_status_111[] = { 0xD0, 0x09, 0x81, 0x03, 0x01, + 0x33, 0x00, 0x82, 0x02, 0x81, + 0x82 }; + +static struct get_reader_status_test get_reader_status_data_111 = { + .pdu = get_reader_status_111, + .pdu_len = sizeof(get_reader_status_111), + .qualifier = STK_QUALIFIER_TYPE_CARD_READER_STATUS, +}; + +static void test_get_reader_status(gconstpointer data) +{ + const struct get_reader_status_test *test = data; + struct stk_command *command; + + command = stk_command_new_from_pdu(test->pdu, test->pdu_len); + + g_assert(command); + + g_assert(command->number == 1); + g_assert(command->type == STK_COMMAND_TYPE_GET_READER_STATUS); + g_assert(command->qualifier == test->qualifier); + + g_assert(command->src == STK_DEVICE_IDENTITY_TYPE_UICC); + + if (command->qualifier == STK_QUALIFIER_TYPE_CARD_READER_STATUS) + g_assert(command->dst == STK_DEVICE_IDENTITY_TYPE_TERMINAL); + else + g_assert(command->dst < + STK_DEVICE_IDENTITY_TYPE_CARD_READER_0 || + command->dst > + STK_DEVICE_IDENTITY_TYPE_CARD_READER_7); + + stk_command_free(command); +} + int main(int argc, char **argv) { g_test_init(&argc, &argv, NULL); @@ -10104,5 +10146,8 @@ int main(int argc, char **argv) g_test_add_data_func("/teststk/Perform Card APDU 2.1.1", &perform_card_apdu_data_211, test_perform_card_apdu); + g_test_add_data_func("/teststk/Get Reader Status 1.1.1", + &get_reader_status_data_111, test_get_reader_status); + return g_test_run(); } |