1
0

提交代码

This commit is contained in:
2020-08-06 14:50:07 +08:00
parent 9d0d5f4be9
commit d7a848c824
11299 changed files with 1321854 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Mime\Tests\Part\Multipart;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Mime\Part\Multipart\AlternativePart;
class AlternativePartTest extends TestCase
{
public function testConstructor()
{
$a = new AlternativePart();
$this->assertEquals('multipart', $a->getMediaType());
$this->assertEquals('alternative', $a->getMediaSubtype());
}
}

View File

@@ -0,0 +1,28 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Mime\Tests\Part\Multipart;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Mime\Message;
use Symfony\Component\Mime\Part\MessagePart;
use Symfony\Component\Mime\Part\Multipart\DigestPart;
class DigestPartTest extends TestCase
{
public function testConstructor()
{
$r = new DigestPart($a = new MessagePart(new Message()), $b = new MessagePart(new Message()));
$this->assertEquals('multipart', $r->getMediaType());
$this->assertEquals('digest', $r->getMediaSubtype());
$this->assertEquals([$a, $b], $r->getParts());
}
}

View File

@@ -0,0 +1,66 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Mime\Tests\Part\Multipart;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Mime\Part\DataPart;
use Symfony\Component\Mime\Part\Multipart\FormDataPart;
use Symfony\Component\Mime\Part\TextPart;
class FormDataPartTest extends TestCase
{
public function testConstructor()
{
$r = new \ReflectionProperty(TextPart::class, 'encoding');
$r->setAccessible(true);
$b = new TextPart('content');
$c = DataPart::fromPath($file = __DIR__.'/../../Fixtures/mimetypes/test.gif');
$f = new FormDataPart([
'foo' => $content = 'very very long content that will not be cut even if the length is way more than 76 characters, ok?',
'bar' => clone $b,
'baz' => clone $c,
]);
$this->assertEquals('multipart', $f->getMediaType());
$this->assertEquals('form-data', $f->getMediaSubtype());
$t = new TextPart($content, 'utf-8', 'plain', '8bit');
$t->setDisposition('form-data');
$t->setName('foo');
$t->getHeaders()->setMaxLineLength(PHP_INT_MAX);
$b->setDisposition('form-data');
$b->setName('bar');
$b->getHeaders()->setMaxLineLength(PHP_INT_MAX);
$r->setValue($b, '8bit');
$c->setDisposition('form-data');
$c->setName('baz');
$c->getHeaders()->setMaxLineLength(PHP_INT_MAX);
$r->setValue($c, '8bit');
$this->assertEquals([$t, $b, $c], $f->getParts());
}
public function testToString()
{
$p = DataPart::fromPath($file = __DIR__.'/../../Fixtures/mimetypes/test.gif');
$this->assertEquals(base64_encode(file_get_contents($file)), $p->bodyToString());
}
public function testContentLineLength()
{
$f = new FormDataPart([
'foo' => new DataPart($foo = str_repeat('foo', 1000), 'foo.txt', 'text/plain'),
'bar' => $bar = str_repeat('bar', 1000),
]);
$parts = $f->getParts();
$this->assertEquals($foo, $parts[0]->bodyToString());
$this->assertEquals($bar, $parts[1]->bodyToString());
}
}

View File

@@ -0,0 +1,25 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Mime\Tests\Part\Multipart;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Mime\Part\Multipart\MixedPart;
class MixedPartTest extends TestCase
{
public function testConstructor()
{
$a = new MixedPart();
$this->assertEquals('multipart', $a->getMediaType());
$this->assertEquals('mixed', $a->getMediaSubtype());
}
}

View File

@@ -0,0 +1,30 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Mime\Tests\Part\Multipart;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Mime\Part\Multipart\RelatedPart;
use Symfony\Component\Mime\Part\TextPart;
class RelatedPartTest extends TestCase
{
public function testConstructor()
{
$r = new RelatedPart($a = new TextPart('content'), $b = new TextPart('HTML content', 'utf-8', 'html'), $c = new TextPart('HTML content again', 'utf-8', 'html'));
$this->assertEquals('multipart', $r->getMediaType());
$this->assertEquals('related', $r->getMediaSubtype());
$this->assertEquals([$a, $b, $c], $r->getParts());
$this->assertFalse($a->getHeaders()->has('Content-ID'));
$this->assertTrue($b->getHeaders()->has('Content-ID'));
$this->assertTrue($c->getHeaders()->has('Content-ID'));
}
}