summaryrefslogtreecommitdiff
path: root/test/build_postTest.php
blob: 3dc2cb5facdc8fc5ab0f0a2d7593cb6a1cb1310d (plain)
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?php

require_once(__DIR__ . '/../src/build_post.php');

class build_post_test extends PHPUnit_Framework_TestCase {
  
  /** @dataProvider build_post_subject_data */
  public function test_build_post_subject($ltag, $ftag, $subject, $reply, $expected) {
    $this->assertEquals(
      $expected,
      build_post_subject($ltag, $ftag, $subject, $reply)
    );
  }

  public function build_post_subject_data() {
    return array(
      array('[l]', '[f]', '', false, '(no subject)'),
      array('[l]', '[f]', 'Re:', false, '(no subject)'),
      array('[l]', '[f]', 'Subject', false, 'Subject'),
      array('[l]', '[f]', 'Re: Subject', false, 'Subject'),
      array('[l]', '[f]', 'Re: Re: Re: Subject', false, 'Subject'),
      array('[l]', '[f]', '[f] Subject', false, 'Subject'),
      array('[l]', '[f]', '[f] [f] Subject', false, 'Subject'),
      array('[l]', '[f]', '[f] [f] Subject [f]', false, 'Subject'),
      array('[l]', '[f]', '[l] [f] Re: Subject', false, 'Subject'),
      array('[l]', '[f]', 'Re: [l] [f] Subject', false, 'Subject'),
      array('[l]', '[f]', 'Re: Subject [l][f] Subject', false, 'Subject Subject'),
      array('[l]', '[f]', 'Edit:', false, '(no subject)'),
      array('[l]', '[f]', 'Edit: Re:', false, '(no subject)'),
      array('[l]', '[f]', 'Edit: Subject', false, 'Subject'),
      array('[l]', '[f]', 'Edit: Re: Subject', false, 'Subject'),
      array('[l]', '[f]', 'Edit: Re: Re: Re: Subject', false, 'Subject'),
      array('[l]', '[f]', 'Edit: [f] Subject', false, 'Subject'),
      array('[l]', '[f]', 'Edit: [f] [f] Subject', false, 'Subject'),
      array('[l]', '[f]', 'Edit: [f] [f] Subject [f]', false, 'Subject'),
      array('[l]', '[f]', '[l] [f] Edit: Re: Subject', false, 'Subject'),
      array('[l]', '[f]', 'Edit: Re: [l] [f] Subject', false, 'Subject'),
      array('[l]', '[f]', 'Edit: Re: Subject [l][f] Subject', false, 'Subject Subject'),
      array('[l]', '[f]', '', true, 'Re: (no subject)'),
      array('[l]', '[f]', 'Re:', true, 'Re: (no subject)'),
      array('[l]', '[f]', 'Subject', true, 'Re: Subject'),
      array('[l]', '[f]', 'Re: Subject', true, 'Re: Subject'),
      array('[l]', '[f]', 'Re: Re: Re: Subject', true, 'Re: Subject'),
      array('[l]', '[f]', '[f] Subject', true, 'Re: Subject'),
      array('[l]', '[f]', '[f] [f] Subject', true, 'Re: Subject'),
      array('[l]', '[f]', '[f] [f] Subject [f]', true, 'Re: Subject'),
      array('[l]', '[f]', '[l] [f] Re: Subject', true, 'Re: Subject'),
      array('[l]', '[f]', 'Re: [l] [f] Subject', true, 'Re: Subject'),
      array('[l]', '[f]', 'Re: Subject [l][f] Subject', true, 'Re: Subject Subject'),
      array('[l]', '[f]', 'Edit:', true, 'Re: (no subject)'),
      array('[l]', '[f]', 'Edit: Re:', true, 'Re: (no subject)'),
      array('[l]', '[f]', 'Edit: Subject', true, 'Re: Subject'),
      array('[l]', '[f]', 'Edit: Re: Subject', true, 'Re: Subject'),
      array('[l]', '[f]', 'Edit: Re: Re: Re: Subject', true, 'Re: Subject'),
      array('[l]', '[f]', 'Edit: [f] Subject', true, 'Re: Subject'),
      array('[l]', '[f]', 'Edit: [f] [f] Subject', true, 'Re: Subject'),
      array('[l]', '[f]', 'Edit: [f] [f] Subject [f]', true, 'Re: Subject'),
      array('[l]', '[f]', '[l] [f] Edit: Re: Subject', true, 'Re: Subject'),
      array('[l]', '[f]', 'Edit: Re: [l] [f] Subject', true, 'Re: Subject'),
      array('[l]', '[f]', 'Edit: Re: Subject [l][f] Subject', true, 'Re: Subject Subject')
    );
  }

  function test_strip_list_footer() {
    $exp = "Thus spake uckelman:
> The changes appear to have munged SELinux permissions for the list
> bridge. Trying again...
> 

And checking that the bridge works in the other direction...

-- 
J.
";
   
    $fpat = "/^_______________________________________________\nmessages mailing list\nmessages@vassalengine.org\nhttp:\/\/www.vassalengine.org\/mailman\/listinfo\/messages.*/ms";

    $this->assertEquals($exp, strip_list_footer("Thus spake uckelman:
> The changes appear to have munged SELinux permissions for the list
> bridge. Trying again...
> 

And checking that the bridge works in the other direction...

-- 
J.
_______________________________________________
messages mailing list
messages@vassalengine.org
http://www.vassalengine.org/mailman/listinfo/messages
", $fpat));

    $msg = new MailmanMessage(file_get_contents(__DIR__ . '/326'));
    list($text, ) = $msg->getFlattenedParts();

    $this->assertEquals($exp, strip_list_footer($text, $fpat));
  }
}

?>