File: rfc.svtest

package info (click to toggle)
dovecot 1:2.2.13-12~deb8u4
  • links: PTS, VCS
  • area: main
  • in suites: jessie
  • size: 38,792 kB
  • sloc: ansic: 341,472; sh: 16,920; makefile: 5,393; cpp: 1,474; perl: 265; xml: 44; python: 34; pascal: 27
file content (71 lines) | stat: -rw-r--r-- 1,540 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
require "vnd.dovecot.testsuite";

require "relational";
require "comparator-i;ascii-numeric";

test_set "message" text:
Received: ...
Received: ...
Subject: example
To: foo@example.com, baz@example.com
CC: qux@example.com

RFC Example
.
;

test "Example 1" {
	# The test:

	if not address :count "ge" :comparator "i;ascii-numeric"
		["to", "cc"] ["3"] {

		test_fail "should have counted three addresses";
	}

    # would evaluate to true, and the test

	if anyof (
			address :count "ge" :comparator "i;ascii-numeric"
				["to"] ["3"],
			address :count "ge" :comparator "i;ascii-numeric"
				["cc"] ["3"]
	) {

		test_fail "should not have counted three addresses";
	}

	# would evaluate to false.

	# To check the number of received fields in the header, the following
	# test may be used:

	if header :count "ge" :comparator "i;ascii-numeric"
 		["received"] ["3"] {

		test_fail "should not have counted three received headers";
	}

	# This would evaluate to false.  But

	if not header :count "ge" :comparator "i;ascii-numeric"
		["received", "subject"] ["3"] {

		test_fail "should have counted three headers";
	}

	# would evaluate to true.

	# The test:

	if header :count "ge" :comparator "i;ascii-numeric"
		["to", "cc"] ["3"] {

		test_fail "should not have counted three to or cc headers";
	}

	# will always evaluate to false on an RFC 2822 compliant message
	# [RFC2822], since a message can have at most one "to" field and at
	# most one "cc" field.  This test counts the number of fields, not the
	# number of addresses.
}