Skip to content
Snippets Groups Projects
test-allof.svtest 10.2 KiB
Newer Older
require "vnd.dovecot.testsuite";

/* 
 * ## RFC 5228, Section 5.2. Test allof (page 27) ## 
 */

/* "The "allof" test performs a logical AND on the tests supplied to it.
 *
 *  Example:  allof (false, false)  =>   false
 *            allof (false, true)   =>   false
 *            allof (true,  true)   =>   true
 *
 *  The allof test takes as its argument a test-list.
 * "
 */

test_set "message" text:
From: stephan@example.org
To: test@dovecot.example.net
cc: stephan@idiot.ex
Subject: Test

Test!
.
;

/*
 * TEST: Basic functionality: static
 */

test "Basic functionality: static" {
	if allof ( true ) {
		/* Correct */
	} else {
		test_fail "chose wrong single outcome: false";
	}

	if allof ( false ) {
		test_fail "chose wrong single outcome: true";
	} else {
		/* Correct */
	}

	if allof ( true, true, true ) {
		/* Correct */
	} else {
		test_fail "chose wrong all-true outcome: false";
	}

	if allof ( false, false, false ) {
		test_fail "chose wrong all-false outcome: true";
	} else {
		/* Correct */
	}

	if allof ( true, false, false ) {
		test_fail "chose wrong first-true outcome: true";
	} else {
		/* Correct */
	}
	
	if allof ( false, true, false ) {
		test_fail "chose wrong second-true outcome: true";
	} else {
		/* Correct */
	}

	if allof ( false, false, true ) {
		test_fail "chose wrong last-true outcome: true";
	} else {
		/* Correct */
	}

	if allof ( false, true, true ) {
		test_fail "chose wrong first-false outcome: true";
	} else {
		/* Correct */
	}
	
	if allof ( true, false, true ) {
		test_fail "chose wrong second-false outcome: true";
	} else {
		/* Correct */
	}

	if allof ( true, true, false ) {
		test_fail "chose wrong last-false outcome: true";
	} else {
		/* Correct */
	}
}

/*
 * TEST: Basic functionality: dynamic
 */

test "Basic functionality: dynamic" {
	if allof ( exists "from" ) {
		/* Correct */
	} else {
		test_fail "chose wrong single outcome: false";
	}

	if allof ( exists "friep" ) {
		test_fail "chose wrong single outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "from", exists "to", exists "cc" ) {
		/* Correct */
	} else {
		test_fail "chose wrong all-true outcome: false";
	}

	if allof ( exists "friep", exists "frop", exists "frml" ) {
		test_fail "chose wrong all-false outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "to", exists "frop", exists "frml" ) {
		test_fail "chose wrong first-true outcome: true";
	} else {
		/* Correct */
	}
	
	if allof ( exists "friep", exists "from", exists "frml" ) {
		test_fail "chose wrong second-true outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "friep", exists "frop", exists "cc" ) {
		test_fail "chose wrong last-true outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "friep", exists "from", exists "cc" ) {
		test_fail "chose wrong first-false outcome: true";
	} else {
		/* Correct */
	}
	
	if allof ( exists "to", exists "frop", exists "cc" ) {
		test_fail "chose wrong second-false outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "to", exists "from", exists "frml" ) {
		test_fail "chose wrong last-false outcome: true";
	} else {
		/* Correct */
	}
}

/*
 * TEST: Basic functionality: static/dynamic
 */

test "Basic functionality: static/dynamic" {
	/* All true */

	if allof ( true, exists "to", exists "cc" ) {
		/* Correct */
	} else {
		test_fail "chose wrong all-true first-static outcome: false";
	}

	if allof ( exists "from", true, exists "cc" ) {
		/* Correct */
	} else {
		test_fail "chose wrong all-true second-static outcome: false";
	}

	if allof ( exists "from", exists "to", true ) {
		/* Correct */
	} else {
		test_fail "chose wrong all-true third-static outcome: false";
	}

	/* All false */

	if allof ( false, exists "frop", exists "frml" ) {
		test_fail "chose wrong all-false first-static outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "friep", false, exists "frml" ) {
		test_fail "chose wrong all-false second-static outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "friep", exists "frop", false ) {
		test_fail "chose wrong all-false third-static outcome: true";
	} else {
		/* Correct */
	}

	/* First true */

	if allof ( true, exists "frop", exists "frml" ) {
		test_fail "chose wrong first-true first-static outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "to", false, exists "frml" ) {
		test_fail "chose wrong first-true second-static outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "to", exists "frop", false ) {
		test_fail "chose wrong first-true third-static outcome: true";
	} else {
		/* Correct */
	}

	/* Second true */
	
	if allof ( false, exists "from", exists "frml" ) {
		test_fail "chose wrong second-true first-static outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "friep", true, exists "frml" ) {
		test_fail "chose wrong second-true second-static outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "friep", exists "from", false ) {
		test_fail "chose wrong second-true third-static outcome: true";
	} else {
		/* Correct */
	}

	/* Last true */

	if allof ( false, exists "frop", exists "cc" ) {
		test_fail "chose wrong last-true first-static outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "friep", false, exists "cc" ) {
		test_fail "chose wrong last-true second-static outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "friep", exists "frop", true ) {
		test_fail "chose wrong last-true third-static outcome: true";
	} else {
		/* Correct */
	}

	/* First false */

	if allof ( false, exists "from", exists "cc" ) {
		test_fail "chose wrong first-false first-static outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "friep", true, exists "cc" ) {
		test_fail "chose wrong first-false second-static outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "friep", exists "from", true ) {
		test_fail "chose wrong first-false third-static outcome: true";
	} else {
		/* Correct */
	}

	/* Second false */
	
	if allof ( true, exists "frop", exists "cc" ) {
		test_fail "chose wrong second-false first-static outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "to", false, exists "cc" ) {
		test_fail "chose wrong second-false second-static outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "to", exists "frop", true ) {
		test_fail "chose wrong second-false third-static outcome: true";
	} else {
		/* Correct */
	}

	/* Last false */

	if allof ( true, exists "from", exists "frml" ) {
		test_fail "chose wrong last-false first-static outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "to", true, exists "frml" ) {
		test_fail "chose wrong last-false second-static outcome: true";
	} else {
		/* Correct */
	}

	if allof ( exists "to", exists "from", false ) {
		test_fail "chose wrong last-false last-static outcome: true";
	} else {
		/* Correct */
	}
}

/*
 * TEST: Basic functionality: nesting
 */

test "Basic functionality: nesting" {
	/* Static */

	if allof ( allof(true, true), allof(true, true) ) {
		/* Correct */
	} else {
		test_fail "chose wrong static nesting ((true, true),(true,true)) outcome: false";
	}

	if allof ( allof(false, true), allof(true, true) ) {
		test_fail "chose wrong static nesting ((false, true),(true,true)) outcome: true";
	} else {
		/* Correct */
	}

	if allof ( allof(true, false), allof(true, true) ) {
		test_fail "chose wrong static nesting ((true,false),(true,true)) outcome: true";
	} else {
		/* Correct */
	}

	if allof ( allof(true, true), allof(false, true) ) {
		test_fail "chose wrong static nesting ((true, true),(false,true)) outcome: true";
	} else {
		/* Correct */
	}

	if allof ( allof(true, true), allof(true, false) ) {
		test_fail "chose wrong static nesting ((true, true),(true,false)) outcome: true";
	} else {
		/* Correct */
	}

	if allof ( allof(true, false), allof(true, false) ) {
		test_fail "chose wrong static nesting ((true, false),(true,false)) outcome: true";
	} else {
		/* Correct */
	}

	/* Dynamic */

	if allof ( allof(exists "to", exists "from"), allof(exists "cc", exists "subject") ) {
		/* Correct */
	} else {
		test_fail "chose wrong dynamic nesting ((true, true),(true,true)) outcome: false";
	}

	if allof ( allof(exists "frop", exists "from"), allof(exists "cc", exists "subject") ) {
		test_fail "chose wrong dynamic nesting ((false, true),(true,true)) outcome: true";
	} else {
		/* Correct */
	}

	if allof ( allof(exists "to", exists "friep"), allof(exists "cc", exists "subject") ) {
		test_fail "chose wrong dynamic nesting ((true,false),(true,true)) outcome: true";
	} else {
		/* Correct */
	}

	if allof ( allof(exists "to", exists "from"), allof(exists "frml", exists "subject") ) {
		test_fail "chose wrong dynamic nesting ((true, true),(false,true)) outcome: true";
	} else {
		/* Correct */
	}

	if allof ( allof(exists "to", exists "from"), allof(exists "cc", exists "fruts") ) {
		test_fail "chose wrong dynamic nesting ((true, true),(true,false)) outcome: true";
	} else {
		/* Correct */
	}

	if allof ( allof(exists "to", exists "friep"), allof(exists "cc", exists "fruts") ) {
		test_fail "chose wrong dynamic nesting ((true, false),(true,false)) outcome: true";
	} else {
		/* Correct */
	}

	/* Static/Dynamic */

	if allof ( allof(exists "to", true), allof(true, exists "subject") ) {
		/* Correct */
	} else {
		test_fail "chose wrong static/dynamic nesting ((true, true),(true,true)) outcome: false";
	}

	if allof ( allof(false, exists "from"), allof(exists "cc", exists "subject") ) {
		test_fail "chose wrong static/dynamic nesting ((false, true),(true,true)) outcome: true";
	} else {
		/* Correct */
	}

	if allof ( allof(exists "to", false), allof(exists "cc", exists "subject") ) {
		test_fail "chose wrong static/dynamic nesting ((true,false),(true,true)) outcome: true";
	} else {
		/* Correct */
	}

	if allof ( allof(exists "to", exists "from"), allof(false, exists "subject") ) {
		test_fail "chose wrong static/dynamic nesting ((true, true),(false,true)) outcome: true";
	} else {
		/* Correct */
	}

	if allof ( allof(exists "to", exists "from"), allof(exists "cc", false) ) {
		test_fail "chose wrong static/dynamic nesting ((true, true),(true,false)) outcome: true";
	} else {
		/* Correct */
	}

	if allof ( allof(exists "to", false), allof(true, exists "fruts") ) {
		test_fail "chose wrong static/dynamic nesting ((true, false),(true,false)) outcome: true";
	} else {
		/* Correct */
	}

}

Consent

On this website, we use the web analytics service Matomo to analyze and review the use of our website. Through the collected statistics, we can improve our offerings and make them more appealing for you. Here, you can decide whether to allow us to process your data and set corresponding cookies for these purposes, in addition to technically necessary cookies. Further information on data protection—especially regarding "cookies" and "Matomo"—can be found in our privacy policy. You can withdraw your consent at any time.