From f433cde3605ba325d96d7b4945ae81b929c10620 Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Thu, 21 May 2009 16:41:27 +0300 Subject: [PATCH] Check that keys are sorted properly --- src/test/Makefile.am | 2 ++ src/test/keys.c | 49 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 src/test/keys.c diff --git a/src/test/Makefile.am b/src/test/Makefile.am index 31df537551..679b2125dd 100644 --- a/src/test/Makefile.am +++ b/src/test/Makefile.am @@ -4,6 +4,7 @@ check_PROGRAMS = \ test_block \ test_dictionary \ test_i18n_atof \ + test_keys \ test_url \ test_utf8 \ test_xmlent \ @@ -18,6 +19,7 @@ LDADD = ../libvlccore.la test_block_SOURCES = test_block.c ../misc/block.c test_dictionary_SOURCES = dictionary.c test_i18n_atof_SOURCES = i18n_atof.c +test_keys_SOURCES = keys.c test_url_SOURCES = url.c test_utf8_SOURCES = utf8.c test_xmlent_SOURCES = xmlent.c diff --git a/src/test/keys.c b/src/test/keys.c new file mode 100644 index 0000000000..ab569c0bd8 --- /dev/null +++ b/src/test/keys.c @@ -0,0 +1,49 @@ +/***************************************************************************** + * keys.c: test for key support + ***************************************************************************** + * Copyright (C) 2009 Rémi Denis-Courmont + * + * 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. + *****************************************************************************/ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include + +#include +#include +#include + +int main (void) +{ + bool ok = true; + + /* Make sure keys are sorted properly, so that bsearch() works */ + for (size_t i = 1; i < vlc_num_keys; i++) + if (vlc_keys[i].i_key_code < vlc_keys[i - 1].i_key_code) + { + fprintf (stderr, + "%s (%06"PRIx32") should be before %s (%06"PRIx32")\n", + vlc_keys[i].psz_key_string, vlc_keys[i].i_key_code, + vlc_keys[i - 1].psz_key_string, + vlc_keys[i - 1].i_key_code); + ok = false; + } + + return !ok; +} -- 2.39.2