X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-common%2Falternative-test.c;h=9255435ec48f38dfbe3bd8722ebe19119aa84cfc;hb=9c0f9c65093cfa53d45f9b68782321eb8063a032;hp=7ec0f339f07d9a3ae33f1ca44b866de33559f427;hpb=fe367caf27dd022258218a768da1ae2ddd246203;p=catta diff --git a/avahi-common/alternative-test.c b/avahi-common/alternative-test.c index 7ec0f33..9255435 100644 --- a/avahi-common/alternative-test.c +++ b/avahi-common/alternative-test.c @@ -1,18 +1,16 @@ -/* $Id$ */ - /*** This file is part of avahi. - + avahi is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. - + avahi 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 Lesser General Public License for more details. - + You should have received a copy of the GNU Lesser General Public License along with avahi; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 @@ -27,21 +25,63 @@ #include "alternative.h" #include "malloc.h" +#include "domain.h" + +int main(AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char *argv[]) { + const char* const test_strings[] = { + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXüüüüüüü", + "gurke", + "-", + " #", + "1", + "#0", + " #0", + " #1", + "#-1", + " #-1", + "-0", + "--0", + "-1", + "--1", + "-2", + "gurke1", + "gurke0", + "gurke-2", + "gurke #0", + "gurke #1", + "gurke #", + "gurke#1", + "gurke-", + "gurke---", + "gurke #", + "gurke ###", + NULL + }; -int main(int argc, char *argv[]) { char *r = NULL; - int i, k; - - for (k = 0; k < 2; k++) { - - for (i = 0; i < 20; i++) { - char *n; - - n = i == 0 ? avahi_strdup("gurke") : (k ? avahi_alternative_service_name(r) : avahi_alternative_host_name(r)); - avahi_free(r); - r = n; - - printf("%s\n", r); + int i, j, k; + + for (k = 0; test_strings[k]; k++) { + + printf(">>>>>%s<<<<\n", test_strings[k]); + + for (j = 0; j < 2; j++) { + + for (i = 0; i <= 100; i++) { + char *n; + + n = i == 0 ? avahi_strdup(test_strings[k]) : (j ? avahi_alternative_service_name(r) : avahi_alternative_host_name(r)); + avahi_free(r); + r = n; + + if (j) + assert(avahi_is_valid_service_name(n)); + else + assert(avahi_is_valid_host_name(n)); + + printf("%s\n", r); + } } }