aboutsummaryrefslogtreecommitdiff
path: root/src/tests/test-modem-helpers.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/test-modem-helpers.c')
-rw-r--r--src/tests/test-modem-helpers.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/tests/test-modem-helpers.c b/src/tests/test-modem-helpers.c
index 70716765..e7277df8 100644
--- a/src/tests/test-modem-helpers.c
+++ b/src/tests/test-modem-helpers.c
@@ -4546,6 +4546,34 @@ test_bcd_to_string (void *f, gpointer d)
/*****************************************************************************/
typedef struct {
+ const gchar *input;
+ const gchar *expected;
+} AtQuoteStringTest;
+
+static const AtQuoteStringTest at_quote_string_tests[] = {
+ { "", "\"\"" },
+ { "internet", "\"internet\"" },
+ { "\"internet", "\"\\22internet\"" }, /* double quote is \22 */
+ { "\r\ninternet", "\"\\0D\\0Ainternet\"" }, /* CRLF is \0D\0A */
+ { "\r\ninternet\r\n", "\"\\0D\\0Ainternet\\0D\\0A\"" }, /* CRLF is \0D\0A */
+};
+
+static void
+test_at_quote_string (void *f, gpointer d)
+{
+ guint i;
+
+ for (i = 0; i < G_N_ELEMENTS (at_quote_string_tests); i++) {
+ g_autofree gchar *str = NULL;
+
+ str = mm_at_quote_string (at_quote_string_tests[i].input);
+ g_assert_cmpstr (str, ==, at_quote_string_tests[i].expected);
+ }
+}
+
+/*****************************************************************************/
+
+typedef struct {
const gchar *response;
gboolean expected_error;
guint expected_index;
@@ -4855,6 +4883,8 @@ int main (int argc, char **argv)
g_test_suite_add (suite, TESTCASE (test_bcd_to_string, NULL));
+ g_test_suite_add (suite, TESTCASE (test_at_quote_string, NULL));
+
g_test_suite_add (suite, TESTCASE (test_cpol_response, NULL));
result = g_test_run ();