diff options
Diffstat (limited to 'tests/functional')
| -rw-r--r-- | tests/functional/posting_test.php | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/functional/posting_test.php b/tests/functional/posting_test.php index 2611ef7bf1..430a6496a0 100644 --- a/tests/functional/posting_test.php +++ b/tests/functional/posting_test.php @@ -36,4 +36,42 @@ class phpbb_functional_posting_test extends phpbb_functional_test_case $crawler = self::request('GET', "posting.php?mode=quote&f=2&t={$post2['topic_id']}&p={$post2['post_id']}&sid={$this->sid}"); $this->assertContains('This is a test post posted by the testing framework.', $crawler->filter('html')->text()); } + + public function test_unsupported_characters() + { + $this->login(); + + $this->add_lang('posting'); + + $crawler = self::request('GET', "posting.php?mode=reply&f=2&t=1&sid={$this->sid}"); + + $form = $crawler->selectButton('Submit')->form(); + + $hidden_fields = array( + $crawler->filter('[type="hidden"]')->each(function ($node, $i) { + return array('name' => $node->attr('name'), 'value' => $node->attr('value')); + }), + ); + + foreach ($hidden_fields as $fields) + { + foreach($fields as $field) + { + $form_data[$field['name']] = $field['value']; + } + } + + // Bypass time restriction that said that if the lastclick time (i.e. time when the form was opened) + // is not at least 2 seconds before submission, cancel the form + $form_data['lastclick'] = 0; + + $form_data += array( + 'subject' => 'Unsupported characters', + 'message' => 'This is a test with these weird characters: 👅👅👅', + 'post' => true, + ); + $crawler = self::request('POST', "posting.php?mode=reply&f=2&t=1&sid={$this->sid}", $form_data); + + $this->assertContains('Your message contains the following unsupported characters', $crawler->text()); + } } |
