summaryrefslogtreecommitdiffstats
path: root/unit
diff options
context:
space:
mode:
authorYang Gu <yang.gu@intel.com>2010-05-31 19:13:22 +0800
committerDenis Kenzior <denkenz@gmail.com>2010-06-01 14:02:38 -0500
commitf90bf71e30d38cf5b418c7b6e40eeff454ce0647 (patch)
tree7df76620defd26e85c47ceebb4889bee1dd5971c /unit
parent52ddd8c28374a75384f9f95a12b280ab37de139a (diff)
downloadofono-f90bf71e30d38cf5b418c7b6e40eeff454ce0647.tar.bz2
stktest: Add negative cases for setup menu
Diffstat (limited to 'unit')
-rw-r--r--unit/test-stkutil.c64
1 files changed, 64 insertions, 0 deletions
diff --git a/unit/test-stkutil.c b/unit/test-stkutil.c
index 7505938e..fb354bda 100644
--- a/unit/test-stkutil.c
+++ b/unit/test-stkutil.c
@@ -4893,6 +4893,31 @@ static unsigned char setup_menu_913[] = { 0xD0, 0x0D, 0x81, 0x03, 0x01, 0x25,
0x00, 0x82, 0x02, 0x81, 0x82,
0x85, 0x00, 0x8F, 0x00 };
+/* Negative case: No item is present */
+static unsigned char setup_menu_neg_1[] = { 0xD0, 0x0B, 0x81, 0x03, 0x01, 0x25,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x00 };
+
+/* Negative case: Two empty items*/
+static unsigned char setup_menu_neg_2[] = { 0xD0, 0x0F, 0x81, 0x03, 0x01, 0x25,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x00, 0x8F, 0x00, 0x8F,
+ 0x00 };
+
+/* Negative case: valid item + empty item */
+static unsigned char setup_menu_neg_3[] = { 0xD0, 0x16, 0x81, 0x03, 0x01, 0x25,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x00, 0x8F, 0x07, 0x01,
+ 0x49, 0x74, 0x65, 0x6D, 0x20,
+ 0x31, 0x8F, 0x00 };
+
+/* Negative case: empty item + valid item */
+static unsigned char setup_menu_neg_4[] = { 0xD0, 0x16, 0x81, 0x03, 0x01, 0x25,
+ 0x00, 0x82, 0x02, 0x81, 0x82,
+ 0x85, 0x00, 0x8F, 0x00, 0x8F,
+ 0x07, 0x01, 0x49, 0x74, 0x65,
+ 0x6D, 0x20, 0x31 };
+
static struct setup_menu_test setup_menu_data_111 = {
.pdu = setup_menu_111,
.pdu_len = sizeof(setup_menu_111),
@@ -5451,6 +5476,26 @@ static struct setup_menu_test setup_menu_data_913 = {
.qualifier = 0x00
};
+static struct setup_menu_test setup_menu_data_neg_1 = {
+ .pdu = setup_menu_neg_1,
+ .pdu_len = sizeof(setup_menu_neg_1)
+};
+
+static struct setup_menu_test setup_menu_data_neg_2 = {
+ .pdu = setup_menu_neg_2,
+ .pdu_len = sizeof(setup_menu_neg_2)
+};
+
+static struct setup_menu_test setup_menu_data_neg_3 = {
+ .pdu = setup_menu_neg_3,
+ .pdu_len = sizeof(setup_menu_neg_3)
+};
+
+static struct setup_menu_test setup_menu_data_neg_4 = {
+ .pdu = setup_menu_neg_4,
+ .pdu_len = sizeof(setup_menu_neg_4)
+};
+
/* Defined in TS 102.384 Section 27.22.4.7 */
static void test_setup_menu(gconstpointer data)
{
@@ -5484,6 +5529,16 @@ static void test_setup_menu(gconstpointer data)
stk_command_free(command);
}
+static void test_setup_menu_neg(gconstpointer data)
+{
+ const struct setup_menu_test *test = data;
+ struct stk_command *command;
+
+ command = stk_command_new_from_pdu(test->pdu, test->pdu_len);
+
+ g_assert(!command);
+}
+
struct select_item_test {
const unsigned char *pdu;
unsigned int pdu_len;
@@ -18432,6 +18487,15 @@ int main(int argc, char **argv)
g_test_add_data_func("/teststk/Setup Menu 9.1.3",
&setup_menu_data_913, test_setup_menu);
+ g_test_add_data_func("/teststk/Setup Menu Negative 1",
+ &setup_menu_data_neg_1, test_setup_menu_neg);
+ g_test_add_data_func("/teststk/Setup Menu Negative 2",
+ &setup_menu_data_neg_2, test_setup_menu_neg);
+ g_test_add_data_func("/teststk/Setup Menu Negative 3",
+ &setup_menu_data_neg_3, test_setup_menu_neg);
+ g_test_add_data_func("/teststk/Setup Menu Negative 4",
+ &setup_menu_data_neg_4, test_setup_menu_neg);
+
g_test_add_data_func("/teststk/Set Up Menu response 1.1.1",
&set_up_menu_response_data_111,
test_terminal_response_encoding);