File: contains.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 (81 lines) | stat: -rw-r--r-- 1,588 bytes parent folder | download | duplicates (11)
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
72
73
74
75
76
77
78
79
80
81
require "vnd.dovecot.testsuite";

test_set "message" text:
From: stephan@example.org
Cc: frop@example.com
To: test@dovecot.example.net
X-Bullshit: f fr fro frop frob frobn frobnitzn
Subject: Test Message
Comment:

Test!
.
;

# Match tests

test "Match empty" {
	if not header :contains "x-bullshit" "" {
		test_fail "contains tests fails to match \"\" against non-empty string";
	}

	if not header :contains "comment" "" {
		test_fail "contains tests fails to match \"\" against empty string";
	}
}

test "Match full" {
	if not address :contains "from" "stephan@example.org" {
		test_fail "should have matched";
	}
}

test "Match begin" {
	if not address :contains "from" "stephan" {
		test_fail "should have matched";
	}
}

test "Match end" {
	if not address :contains "from" "example.org" {
		test_fail "should have matched";
	}
}

test "Match middle" {
	if not address :contains "from" "@" {
		test_fail "should have matched";
	}
}

test "Match similar beginnings" {
	if not header :contains "x-bullshit" "frobnitzn" {
		test_fail "should have matched";
	}
}

test "Match case-insensitive" {
	if not address :contains :comparator "i;ascii-casemap" "from" "EXAMPLE" {
		test_fail "match fails to apply correct comparator";
	}

	if not address :contains "from" "EXAMPLE" {
		test_fail "default comparator is wrong";
	}
}

# Non-match tests

test "No match full (typo)" {
	if address :contains "to" "frob@example.com" {
		test_fail "should not have matched";
	}
}

test "No match end (typo)" {
	if header :contains "x-bullshit" "frobnitzm" {
		test_fail "should not have matched";
	}
}