From 244e70272e52281a75672466b3d8ddfd4417e154 Mon Sep 17 00:00:00 2001 From: Mohammed Sadiq Date: Thu, 5 Dec 2019 16:09:01 +0530 Subject: Add tests for text escape --- tests/network/meson.build | 16 +++++++++ tests/network/test-wifi-text.c | 74 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 tests/network/test-wifi-text.c (limited to 'tests') diff --git a/tests/network/meson.build b/tests/network/meson.build index 75cc25c19..34f7c7405 100644 --- a/tests/network/meson.build +++ b/tests/network/meson.build @@ -31,3 +31,19 @@ test( env : envs, timeout : 60 ) + +exe = executable( + 'test-wifi-panel-text', + ['test-wifi-text.c'], + include_directories : includes + [common_inc], + dependencies : common_deps + network_manager_deps + [libtestshell_dep], + link_with : [network_panel_lib], + c_args : cflags, +) + +test( + 'test-wif-panel-text', + exe, + env : envs, + timeout : 60 +) diff --git a/tests/network/test-wifi-text.c b/tests/network/test-wifi-text.c new file mode 100644 index 000000000..39c79cbcf --- /dev/null +++ b/tests/network/test-wifi-text.c @@ -0,0 +1,74 @@ +/* -*- mode: c; c-basic-offset: 2; indent-tabs-mode: nil; -*- */ +/* utils.c + * + * Copyright 2019 Purism SPC + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * Author(s): + * Mohammed Sadiq + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#undef NDEBUG +#undef G_DISABLE_ASSERT +#undef G_DISABLE_CHECKS +#undef G_DISABLE_CAST_CHECKS +#undef G_LOG_DOMAIN + +#include + +/* Including ‘.c’ file to test static functions */ +#include "cc-wifi-panel.c" + +static void +test_escape_qr_string (void) +{ + char *str; + + str = escape_string (NULL, TRUE); + g_assert_null (str); + + str = escape_string ("Wifi's password:empty", TRUE); + g_assert_cmpstr (str, ==, "\"Wifi\'s password\\:empty\""); + g_free (str); + + str = escape_string ("random;string:;\\", TRUE); + g_assert_cmpstr (str, ==, "\"random\\;string\\:\\;\\\\\""); + g_free (str); + + str = escape_string ("random-string", TRUE); + g_assert_cmpstr (str, ==, "\"random-string\""); + g_free (str); + + str = escape_string ("random-string", FALSE); + g_assert_cmpstr (str, ==, "random-string"); + g_free (str); + + str = escape_string ("വൈഫൈ", TRUE); + g_assert_cmpstr (str, ==, "\"വൈഫൈ\""); + g_free (str); +} + +int +main (int argc, + char *argv[]) +{ + g_test_init (&argc, &argv, NULL); + + g_test_add_func ("/wifi/escape-qr-string", test_escape_qr_string); + + return g_test_run (); +} -- cgit v1.2.1