summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrzej Zaborowski <andrew.zaborowski@intel.com>2010-05-16 16:05:29 +0200
committerDenis Kenzior <denkenz@gmail.com>2010-05-25 16:52:52 -0500
commitfebeb5d9c5af3345e8758a35800dc7a4e6c5e82f (patch)
tree692c77f2f2bcac000b6c3878673bf216cb43d1b3
parent22561c26f1ac29da6412a6f211185af798474ed8 (diff)
downloadofono-febeb5d9c5af3345e8758a35800dc7a4e6c5e82f.tar.bz2
test-stkutil: Add Get Input response tests
-rw-r--r--unit/test-stkutil.c709
1 files changed, 709 insertions, 0 deletions
diff --git a/unit/test-stkutil.c b/unit/test-stkutil.c
index 907ce65f..52638d6c 100644
--- a/unit/test-stkutil.c
+++ b/unit/test-stkutil.c
@@ -10610,6 +10610,648 @@ static const struct terminal_response_test get_inkey_response_data_1311 = {
},
};
+static const unsigned char get_input_response_111[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x00, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x00, 0x8d, 0x06, 0x04, 0x31,
+ 0x32, 0x33, 0x34, 0x35,
+};
+
+static const struct terminal_response_test get_input_response_data_111 = {
+ .pdu = get_input_response_111,
+ .pdu_len = sizeof(get_input_response_111),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x00,
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_SUCCESS,
+ },
+ { .get_input = {
+ .text = {
+ .text = "12345",
+ },
+ }},
+ },
+};
+
+static const unsigned char get_input_response_121[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x08, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x00, 0x8d, 0x06, 0x00, 0xb6,
+ 0x9b, 0x6a, 0xb4, 0x02,
+};
+
+static const struct terminal_response_test get_input_response_data_121 = {
+ .pdu = get_input_response_121,
+ .pdu_len = sizeof(get_input_response_121),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x08, /* Input is packed */
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_SUCCESS,
+ },
+ { .get_input = {
+ .text = {
+ .text = "67*#+",
+ .packed = TRUE,
+ },
+ }},
+ },
+};
+
+static const unsigned char get_input_response_131[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x01, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x00, 0x8d, 0x06, 0x04, 0x41,
+ 0x62, 0x43, 0x64, 0x45,
+};
+
+static const struct terminal_response_test get_input_response_data_131 = {
+ .pdu = get_input_response_131,
+ .pdu_len = sizeof(get_input_response_131),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x01, /* Allow all SMS characters */
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_SUCCESS,
+ },
+ { .get_input = {
+ .text = {
+ .text = "AbCdE",
+ },
+ }},
+ },
+};
+
+static const unsigned char get_input_response_141[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x04, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x00, 0x8d, 0x08, 0x04, 0x32,
+ 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
+};
+
+static const struct terminal_response_test get_input_response_data_141 = {
+ .pdu = get_input_response_141,
+ .pdu_len = sizeof(get_input_response_141),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x04, /* Hide text */
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_SUCCESS,
+ },
+ { .get_input = {
+ .text = {
+ .text = "2345678",
+ },
+ }},
+ },
+};
+
+static const unsigned char get_input_response_151[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x00, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x00, 0x8d, 0x15, 0x04, 0x31,
+ 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
+ 0x38, 0x39, 0x30,
+};
+
+static const struct terminal_response_test get_input_response_data_151 = {
+ .pdu = get_input_response_151,
+ .pdu_len = sizeof(get_input_response_151),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x00,
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_SUCCESS,
+ },
+ { .get_input = {
+ .text = {
+ .text = "12345678901234567890",
+ },
+ }},
+ },
+};
+
+static const unsigned char get_input_response_161[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x00, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x11,
+};
+
+static const struct terminal_response_test get_input_response_data_161 = {
+ .pdu = get_input_response_161,
+ .pdu_len = sizeof(get_input_response_161),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x00,
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_GO_BACK,
+ },
+ },
+};
+
+static const unsigned char get_input_response_171[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x00, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x10,
+};
+
+static const struct terminal_response_test get_input_response_data_171 = {
+ .pdu = get_input_response_171,
+ .pdu_len = sizeof(get_input_response_171),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x00,
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_USER_TERMINATED,
+ },
+ },
+};
+
+static const unsigned char get_input_response_181[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x00, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x00, 0x8d, 0x81, 0xa1, 0x04,
+ 0x2a, 0x2a, 0x2a, 0x31, 0x31, 0x31, 0x31, 0x31,
+ 0x31, 0x31, 0x31, 0x31, 0x31, 0x23, 0x23, 0x23,
+ 0x2a, 0x2a, 0x2a, 0x32, 0x32, 0x32, 0x32, 0x32,
+ 0x32, 0x32, 0x32, 0x32, 0x32, 0x23, 0x23, 0x23,
+ 0x2a, 0x2a, 0x2a, 0x33, 0x33, 0x33, 0x33, 0x33,
+ 0x33, 0x33, 0x33, 0x33, 0x33, 0x23, 0x23, 0x23,
+ 0x2a, 0x2a, 0x2a, 0x34, 0x34, 0x34, 0x34, 0x34,
+ 0x34, 0x34, 0x34, 0x34, 0x34, 0x23, 0x23, 0x23,
+ 0x2a, 0x2a, 0x2a, 0x35, 0x35, 0x35, 0x35, 0x35,
+ 0x35, 0x35, 0x35, 0x35, 0x35, 0x23, 0x23, 0x23,
+ 0x2a, 0x2a, 0x2a, 0x36, 0x36, 0x36, 0x36, 0x36,
+ 0x36, 0x36, 0x36, 0x36, 0x36, 0x23, 0x23, 0x23,
+ 0x2a, 0x2a, 0x2a, 0x37, 0x37, 0x37, 0x37, 0x37,
+ 0x37, 0x37, 0x37, 0x37, 0x37, 0x23, 0x23, 0x23,
+ 0x2a, 0x2a, 0x2a, 0x38, 0x38, 0x38, 0x38, 0x38,
+ 0x38, 0x38, 0x38, 0x38, 0x38, 0x23, 0x23, 0x23,
+ 0x2a, 0x2a, 0x2a, 0x39, 0x39, 0x39, 0x39, 0x39,
+ 0x39, 0x39, 0x39, 0x39, 0x39, 0x23, 0x23, 0x23,
+ 0x2a, 0x2a, 0x2a, 0x30, 0x30, 0x30, 0x30, 0x30,
+ 0x30, 0x30, 0x30, 0x30, 0x30, 0x23, 0x23, 0x23,
+};
+
+static const struct terminal_response_test get_input_response_data_181 = {
+ .pdu = get_input_response_181,
+ .pdu_len = sizeof(get_input_response_181),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x00,
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_SUCCESS,
+ },
+ { .get_input = {
+ .text = {
+ .text = "***1111111111###***2222222222###"
+ "***3333333333###***4444444444###"
+ "***5555555555###***6666666666###"
+ "***7777777777###***8888888888###"
+ "***9999999999###***0000000000###",
+ },
+ }},
+ },
+};
+
+static const unsigned char get_input_response_191a[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x01, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x00, 0x8d, 0x01, 0x04,
+};
+
+static const unsigned char get_input_response_191b[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x01, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x00, 0x8d, 0x00,
+};
+
+static const struct terminal_response_test get_input_response_data_191 = {
+ /* Either get_input_response_191a or get_input_response_191b is ok */
+ .pdu = get_input_response_191a,
+ .pdu_len = sizeof(get_input_response_191a),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x01, /* Allow all SMS characters */
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_SUCCESS,
+ },
+ { .get_input = {
+ .text = {
+ .text = "",
+ },
+ }},
+ },
+};
+
+static const unsigned char get_input_response_211[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x00, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x12,
+};
+
+static const struct terminal_response_test get_input_response_data_211 = {
+ .pdu = get_input_response_211,
+ .pdu_len = sizeof(get_input_response_211),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x00,
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_NO_RESPONSE,
+ },
+ },
+};
+
+static const unsigned char get_input_response_311[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x01, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x00, 0x8d, 0x06, 0x04, 0x48,
+ 0x45, 0x4c, 0x4c, 0x4f,
+};
+
+static const struct terminal_response_test get_input_response_data_311 = {
+ .pdu = get_input_response_311,
+ .pdu_len = sizeof(get_input_response_311),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x01, /* Allow all SMS characters */
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_SUCCESS,
+ },
+ { .get_input = {
+ .text = {
+ .text = "HELLO",
+ },
+ }},
+ },
+};
+
+static const unsigned char get_input_response_411[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x03, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x00, 0x8d, 0x19, 0x08, 0x04,
+ 0x17, 0x04, 0x14, 0x04, 0x20, 0x04, 0x10, 0x04,
+ 0x12, 0x04, 0x21, 0x04, 0x22, 0x04, 0x12, 0x04,
+ 0x23, 0x04, 0x19, 0x04, 0x22, 0x04, 0x15,
+};
+
+static const struct terminal_response_test get_input_response_data_411 = {
+ .pdu = get_input_response_411,
+ .pdu_len = sizeof(get_input_response_411),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x03, /* Allow all UCS2 characters */
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_SUCCESS,
+ },
+ { .get_input = {
+ .text = {
+ .text = "ЗДРАВСТВУЙТЕ",
+ },
+ }},
+ },
+};
+
+static const unsigned char get_input_response_421[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x03, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x00, 0x8d, 0x81, 0x8d, 0x08,
+ 0x04, 0x17, 0x04, 0x14, 0x04, 0x20, 0x04, 0x10,
+ 0x04, 0x12, 0x04, 0x21, 0x04, 0x22, 0x04, 0x12,
+ 0x04, 0x23, 0x04, 0x19, 0x04, 0x22, 0x04, 0x15,
+ 0x04, 0x17, 0x04, 0x14, 0x04, 0x20, 0x04, 0x10,
+ 0x04, 0x12, 0x04, 0x21, 0x04, 0x22, 0x04, 0x12,
+ 0x04, 0x23, 0x04, 0x19, 0x04, 0x22, 0x04, 0x15,
+ 0x04, 0x17, 0x04, 0x14, 0x04, 0x20, 0x04, 0x10,
+ 0x04, 0x12, 0x04, 0x21, 0x04, 0x22, 0x04, 0x12,
+ 0x04, 0x23, 0x04, 0x19, 0x04, 0x22, 0x04, 0x15,
+ 0x04, 0x17, 0x04, 0x14, 0x04, 0x20, 0x04, 0x10,
+ 0x04, 0x12, 0x04, 0x21, 0x04, 0x22, 0x04, 0x12,
+ 0x04, 0x23, 0x04, 0x19, 0x04, 0x22, 0x04, 0x15,
+ 0x04, 0x17, 0x04, 0x14, 0x04, 0x20, 0x04, 0x10,
+ 0x04, 0x12, 0x04, 0x21, 0x04, 0x22, 0x04, 0x12,
+ 0x04, 0x23, 0x04, 0x19, 0x04, 0x22, 0x04, 0x15,
+ 0x04, 0x17, 0x04, 0x14, 0x04, 0x20, 0x04, 0x10,
+ 0x04, 0x12, 0x04, 0x21, 0x04, 0x22, 0x04, 0x12,
+ 0x04, 0x23, 0x04, 0x19,
+};
+
+static const struct terminal_response_test get_input_response_data_421 = {
+ .pdu = get_input_response_421,
+ .pdu_len = sizeof(get_input_response_421),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x03, /* Allow all UCS2 characters */
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_SUCCESS,
+ },
+ { .get_input = {
+ .text = {
+ .text = "ЗДРАВСТВУЙТЕЗДРАВСТВУЙТЕ"
+ "ЗДРАВСТВУЙТЕЗДРАВСТВУЙТЕ"
+ "ЗДРАВСТВУЙТЕЗДРАВСТВУЙ",
+ },
+ }},
+ },
+};
+
+static const unsigned char get_input_response_611a[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x00, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x00, 0x8d, 0x02, 0x04, 0x2b,
+};
+
+static const struct terminal_response_test get_input_response_data_611a = {
+ .pdu = get_input_response_611a,
+ .pdu_len = sizeof(get_input_response_611a),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x00,
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_SUCCESS,
+ },
+ { .get_input = {
+ .text = {
+ .text = "+",
+ },
+ }},
+ },
+};
+
+static const unsigned char get_input_response_611b[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x00, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x04, 0x8d, 0x02, 0x04, 0x2b,
+};
+
+static const struct terminal_response_test get_input_response_data_611b = {
+ .pdu = get_input_response_611b,
+ .pdu_len = sizeof(get_input_response_611b),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x00,
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_NO_ICON,
+ },
+ { .get_input = {
+ .text = {
+ .text = "+",
+ },
+ }},
+ },
+};
+
+static const unsigned char get_input_response_711[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x00, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x13,
+};
+
+static const struct terminal_response_test get_input_response_data_711 = {
+ .pdu = get_input_response_711,
+ .pdu_len = sizeof(get_input_response_711),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x00,
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_HELP_REQUESTED,
+ },
+ },
+};
+
+static const unsigned char get_input_response_812[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x00, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x00, 0x8d, 0x06, 0x04, 0x32,
+ 0x32, 0x32, 0x32, 0x32,
+};
+
+static const struct terminal_response_test get_input_response_data_812 = {
+ .pdu = get_input_response_812,
+ .pdu_len = sizeof(get_input_response_812),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x00,
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_SUCCESS,
+ },
+ { .get_input = {
+ .text = {
+ .text = "22222",
+ },
+ }},
+ },
+};
+
+static const unsigned char get_input_response_843[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x00, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x00, 0x8d, 0x06, 0x04, 0x33,
+ 0x33, 0x33, 0x33, 0x33,
+};
+
+static const struct terminal_response_test get_input_response_data_843 = {
+ .pdu = get_input_response_843,
+ .pdu_len = sizeof(get_input_response_843),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x00,
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_SUCCESS,
+ },
+ { .get_input = {
+ .text = {
+ .text = "33333",
+ },
+ }},
+ },
+};
+
+static const unsigned char get_input_response_1011[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x03, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x00, 0x8d, 0x05, 0x08, 0x4f,
+ 0x60, 0x59, 0x7d,
+};
+
+static const struct terminal_response_test get_input_response_data_1011 = {
+ .pdu = get_input_response_1011,
+ .pdu_len = sizeof(get_input_response_1011),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x03, /* Allow all UCS2 characters */
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_SUCCESS,
+ },
+ { .get_input = {
+ .text = {
+ .text = "你好",
+ },
+ }},
+ },
+};
+
+static const unsigned char get_input_response_1021[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x03, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x00, 0x8d, 0x81, 0x8d, 0x08,
+ 0x4f, 0x60, 0x59, 0x7d, 0x4f, 0x60, 0x59, 0x7d,
+ 0x4f, 0x60, 0x59, 0x7d, 0x4f, 0x60, 0x59, 0x7d,
+ 0x4f, 0x60, 0x59, 0x7d, 0x4f, 0x60, 0x59, 0x7d,
+ 0x4f, 0x60, 0x59, 0x7d, 0x4f, 0x60, 0x59, 0x7d,
+ 0x4f, 0x60, 0x59, 0x7d, 0x4f, 0x60, 0x59, 0x7d,
+ 0x4f, 0x60, 0x59, 0x7d, 0x4f, 0x60, 0x59, 0x7d,
+ 0x4f, 0x60, 0x59, 0x7d, 0x4f, 0x60, 0x59, 0x7d,
+ 0x4f, 0x60, 0x59, 0x7d, 0x4f, 0x60, 0x59, 0x7d,
+ 0x4f, 0x60, 0x59, 0x7d, 0x4f, 0x60, 0x59, 0x7d,
+ 0x4f, 0x60, 0x59, 0x7d, 0x4f, 0x60, 0x59, 0x7d,
+ 0x4f, 0x60, 0x59, 0x7d, 0x4f, 0x60, 0x59, 0x7d,
+ 0x4f, 0x60, 0x59, 0x7d, 0x4f, 0x60, 0x59, 0x7d,
+ 0x4f, 0x60, 0x59, 0x7d, 0x4f, 0x60, 0x59, 0x7d,
+ 0x4f, 0x60, 0x59, 0x7d, 0x4f, 0x60, 0x59, 0x7d,
+ 0x4f, 0x60, 0x59, 0x7d, 0x4f, 0x60, 0x59, 0x7d,
+ 0x4f, 0x60, 0x59, 0x7d, 0x4f, 0x60, 0x59, 0x7d,
+ 0x4f, 0x60, 0x59, 0x7d, 0x4f, 0x60, 0x59, 0x7d,
+ 0x4f, 0x60, 0x59, 0x7d,
+};
+
+static const struct terminal_response_test get_input_response_data_1021 = {
+ .pdu = get_input_response_1021,
+ .pdu_len = sizeof(get_input_response_1021),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x03, /* Allow all UCS2 characters */
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_SUCCESS,
+ },
+ { .get_input = {
+ .text = {
+ .text = "你好你好你好你好你好你好"
+ "你好你好你好你好你好你好"
+ "你好你好你好你好你好你好"
+ "你好你好你好你好你好你好"
+ "你好你好你好你好你好你好"
+ "你好你好你好你好你好",
+ },
+ }},
+ },
+};
+
+static const unsigned char get_input_response_1211[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x03, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x00, 0x8d, 0x05, 0x08, 0x30,
+ 0xeb, 0x30, 0xeb,
+};
+
+static const struct terminal_response_test get_input_response_data_1211 = {
+ .pdu = get_input_response_1211,
+ .pdu_len = sizeof(get_input_response_1211),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x03, /* Allow all UCS2 characters */
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_SUCCESS,
+ },
+ { .get_input = {
+ .text = {
+ .text = "ルル",
+ },
+ }},
+ },
+};
+
+static const unsigned char get_input_response_1221[] = {
+ 0x81, 0x03, 0x01, 0x23, 0x03, 0x82, 0x02, 0x82,
+ 0x81, 0x83, 0x01, 0x00, 0x8d, 0x81, 0x8d, 0x08,
+ 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb,
+ 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb,
+ 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb,
+ 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb,
+ 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb,
+ 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb,
+ 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb,
+ 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb,
+ 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb,
+ 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb,
+ 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb,
+ 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb,
+ 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb,
+ 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb,
+ 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb,
+ 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb,
+ 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb, 0x30, 0xeb,
+ 0x30, 0xeb, 0x30, 0xeb,
+};
+
+static const struct terminal_response_test get_input_response_data_1221 = {
+ .pdu = get_input_response_1221,
+ .pdu_len = sizeof(get_input_response_1221),
+ .response = {
+ .number = 1,
+ .type = STK_COMMAND_TYPE_GET_INPUT,
+ .qualifier = 0x03, /* Allow all UCS2 characters */
+ .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+ .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+ .result = {
+ .type = STK_RESULT_TYPE_SUCCESS,
+ },
+ { .get_input = {
+ .text = {
+ .text = "ルルルルルルルルルルルル"
+ "ルルルルルルルルルルルル"
+ "ルルルルルルルルルルルル"
+ "ルルルルルルルルルルルル"
+ "ルルルルルルルルルルルル"
+ "ルルルルルルルルルル",
+ },
+ }},
+ },
+};
+
int main(int argc, char **argv)
{
g_test_init(&argc, &argv, NULL);
@@ -10939,6 +11581,73 @@ int main(int argc, char **argv)
g_test_add_data_func("/teststk/Get Input 12.2.1",
&get_input_data_1221, test_get_input);
+ g_test_add_data_func("/teststk/Get Input response 1.1.1",
+ &get_input_response_data_111,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 1.2.1",
+ &get_input_response_data_121,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 1.3.1",
+ &get_input_response_data_131,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 1.4.1",
+ &get_input_response_data_141,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 1.5.1",
+ &get_input_response_data_151,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 1.6.1",
+ &get_input_response_data_161,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 1.7.1",
+ &get_input_response_data_171,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 1.8.1",
+ &get_input_response_data_181,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 1.9.1",
+ &get_input_response_data_191,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 2.1.1",
+ &get_input_response_data_211,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 3.1.1",
+ &get_input_response_data_311,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 4.1.1",
+ &get_input_response_data_411,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 4.2.1",
+ &get_input_response_data_421,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 6.1.1A",
+ &get_input_response_data_611a,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 6.1.1B",
+ &get_input_response_data_611b,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 7.1.1",
+ &get_input_response_data_711,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 8.1.2",
+ &get_input_response_data_812,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 8.4.3",
+ &get_input_response_data_843,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 10.1.1",
+ &get_input_response_data_1011,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 10.2.1",
+ &get_input_response_data_1021,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 12.1.1",
+ &get_input_response_data_1211,
+ test_terminal_response_encoding);
+ g_test_add_data_func("/teststk/Get Input response 12.2.1",
+ &get_input_response_data_1221,
+ test_terminal_response_encoding);
+
g_test_add_data_func("/teststk/More Time 1.1.1",
&more_time_data_111, test_more_time);