aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/cinterion/tests/test-modem-helpers-cinterion.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cinterion/tests/test-modem-helpers-cinterion.c')
-rw-r--r--src/plugins/cinterion/tests/test-modem-helpers-cinterion.c95
1 files changed, 95 insertions, 0 deletions
diff --git a/src/plugins/cinterion/tests/test-modem-helpers-cinterion.c b/src/plugins/cinterion/tests/test-modem-helpers-cinterion.c
index ae76223c..e5857ede 100644
--- a/src/plugins/cinterion/tests/test-modem-helpers-cinterion.c
+++ b/src/plugins/cinterion/tests/test-modem-helpers-cinterion.c
@@ -1981,6 +1981,96 @@ test_cops_any (void)
g_assert_cmpstr (cops_command, ==, "+COPS=0");
}
+static void
+test_ws46_response_2g (void)
+{
+ MMModemMode mode = MM_MODEM_MODE_NONE;
+ GError *error = NULL;
+ gboolean res;
+ const gchar *response =
+ "+WS46: 12\r\n"
+ "\r\n";
+
+ res = mm_cinterion_parse_ws46_response (response,
+ &mode,
+ &error);
+ g_assert_no_error (error);
+ g_assert (res == TRUE);
+ g_assert (mode == MM_MODEM_MODE_2G);
+}
+
+static void
+test_ws46_response_3g (void)
+{
+ MMModemMode mode = MM_MODEM_MODE_NONE;
+ GError *error = NULL;
+ gboolean res;
+ const gchar *response =
+ "+WS46: 22\r\n"
+ "\r\n";
+
+ res = mm_cinterion_parse_ws46_response (response,
+ &mode,
+ &error);
+ g_assert_no_error (error);
+ g_assert (res == TRUE);
+ g_assert (mode == MM_MODEM_MODE_3G);
+}
+
+static void
+test_ws46_response_4g (void)
+{
+ MMModemMode mode = MM_MODEM_MODE_NONE;
+ GError *error = NULL;
+ gboolean res;
+ const gchar *response =
+ "+WS46: 28\r\n"
+ "\r\n";
+
+ res = mm_cinterion_parse_ws46_response (response,
+ &mode,
+ &error);
+ g_assert_no_error (error);
+ g_assert (res == TRUE);
+ g_assert (mode == MM_MODEM_MODE_4G);
+}
+
+static void
+test_ws46_response_any (void)
+{
+ MMModemMode mode = MM_MODEM_MODE_NONE;
+ GError *error = NULL;
+ gboolean res;
+ const gchar *response =
+ "+WS46: 25\r\n"
+ "\r\n";
+
+ res = mm_cinterion_parse_ws46_response (response,
+ &mode,
+ &error);
+ g_assert_no_error (error);
+ g_assert (res == TRUE);
+ g_assert (mode == MM_MODEM_MODE_ANY);
+}
+
+static void
+test_ws46_response_other (void)
+{
+ MMModemMode mode = MM_MODEM_MODE_NONE;
+ GError *error = NULL;
+ gboolean res;
+ const gchar *response =
+ "+WS46: 8\r\n"
+ "\r\n";
+
+ res = mm_cinterion_parse_ws46_response (response,
+ &mode,
+ &error);
+ g_assert (res == FALSE);
+ g_assert_error (error, MM_CORE_ERROR, MM_CORE_ERROR_FAILED);
+ g_clear_error (&error);
+}
+
typedef struct {
const gchar *str;
MMModemMode allowed;
@@ -2095,6 +2185,11 @@ int main (int argc, char **argv)
g_test_add_func ("/MM/cinterion/cops/only-operator", test_cops_only_operator);
g_test_add_func ("/MM/cinterion/cops/operator-and-mode", test_cops_operator_and_mode);
g_test_add_func ("/MM/cinterion/cops/any", test_cops_any);
+ g_test_add_func ("/MM/cinterion/ws46/response/2g", test_ws46_response_2g);
+ g_test_add_func ("/MM/cinterion/ws46/response/3g", test_ws46_response_3g);
+ g_test_add_func ("/MM/cinterion/ws46/response/4g", test_ws46_response_4g);
+ g_test_add_func ("/MM/cinterion/ws46/response/any", test_ws46_response_any);
+ g_test_add_func ("/MM/cinterion/ws46/response/other", test_ws46_response_other);
return g_test_run ();
}