From 7f258230934134a08a24b547a1d0570180afbd9c Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff Date: Fri, 8 Nov 2002 15:54:50 +0000 Subject: New file. Provides standard sieve tests (all noops, so far) --- libsieve/tests.c | 149 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 libsieve/tests.c diff --git a/libsieve/tests.c b/libsieve/tests.c new file mode 100644 index 000000000..4ab0f14f7 --- /dev/null +++ b/libsieve/tests.c @@ -0,0 +1,149 @@ +/* GNU mailutils - a suite of utilities for electronic mail + Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + + This program 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, 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include +#include +#include +#include +#include + +#define TAG_LOCALPART 0 +#define TAG_DOMAIN 1 +#define TAG_ALL 2 +#define TAG_COMPARATOR 3 +#define TAG_IS 4 +#define TAG_CONTAINS 5 +#define TAG_MATCHES 6 +#define TAG_REGEX 7 +#define TAG_UNDER 8 +#define TAG_OVER 9 + +int +sieve_test_address (sieve_machine_t *mach, list_t *args) +{ +} + +int +sieve_test_header (sieve_machine_t *mach, list_t *args) +{ +} + +int +sieve_test_envelope (sieve_machine_t *mach, list_t *args) +{ +} + +int +sieve_test_size (sieve_machine_t *mach, list_t *args) +{ +} + +int +sieve_test_true (sieve_machine_t *mach, list_t *args) +{ +} + +int +sieve_test_false (sieve_machine_t *mach, list_t *args) +{ +} + +int +sieve_test_exists (sieve_machine_t *mach, list_t *args) +{ +} + +#define ADDRESS_PART \ + { "localpart", TAG_LOCALPART, SVT_VOID },\ + { "domain", TAG_DOMAIN, SVT_VOID },\ + { "all", TAG_ALL, SVT_VOID } + +#define MATCH_PART \ + { "is", TAG_IS, SVT_VOID },\ + { "contains", TAG_CONTAINS, SVT_VOID },\ + { "matches", TAG_MATCHES, SVT_VOID },\ + { "regex", TAG_REGEX, SVT_VOID } + +#define COMP_PART \ + { "comparator", TAG_COMPARATOR, SVT_STRING } + +#define SIZE_PART \ + { "under", TAG_UNDER, SVT_VOID },\ + { "over", TAG_OVER, SVT_VOID } + + +sieve_tag_def_t address_tags[] = { + ADDRESS_PART, + COMP_PART, + MATCH_PART, + { NULL } +}; + +sieve_data_type address_req_args[] = { + SVT_STRING_LIST, + SVT_STRING_LIST, + SVT_VOID +}; + +sieve_tag_def_t size_tags[] = { + SIZE_PART, + { NULL } +}; + +sieve_data_type size_req_args[] = { + SVT_NUMBER, + SVT_VOID +}; + +sieve_tag_def_t envelope_tags[] = { + COMP_PART, + ADDRESS_PART, + MATCH_PART, + { NULL } +}; + +sieve_data_type exists_req_args[] = { + SVT_STRING_LIST, + SVT_VOID +}; + +sieve_tag_def_t header_tags[] = { + COMP_PART, + MATCH_PART, + { NULL }, +}; + +void +sieve_register_standard_tests () +{ + sieve_register_test ("false", sieve_test_false, NULL, NULL, 1); + sieve_register_test ("true", sieve_test_false, NULL, NULL, 1); + sieve_register_test ("address", sieve_test_address, + address_req_args, address_tags, 1); + sieve_register_test ("size", sieve_test_size, + size_req_args, size_tags, 1); + sieve_register_test ("envelope", sieve_test_envelope, + address_req_args, envelope_tags, 1); + sieve_register_test ("exists", sieve_test_exists, + exists_req_args, NULL, 1); + sieve_register_test ("header", sieve_test_header, + address_req_args, header_tags, 1); +} -- cgit v1.2.1