text:
<!DOCTYPE html>

	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta name="generator" content="ApiGen 2.8.0" />
	<meta name="robots" content="noindex" />

	<title>File vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/AbstractSmtpTest.php | seip</title>

	<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360" />

		Overview

Namespaces

Acme

DemoBundle

Command

Controller

DependencyInjection

EventListener

Form

Proxy

__CG__

Symfony

Component

Security

Acl

Tests

Domain

Core

Tests

Util

Tests

Controller

Twig

Extension

Alpha

Apc

NamespaceCollision

A

B

Namespaced

Assetic

Asset

Iterator

Cache

Exception

Extension

Twig

Factory

Loader

Resource

Worker

Filter

GoogleClosure

Sass

Yui

Util

Bazinga

Bundle

JsTranslationBundle

Command

Controller

DependencyInjection

Compiler

Dumper

Finder

Tests

JsTranslationBundle

Tests

Controller

Finder

Beta

Blameable

Fixture

Document

Entity

ClassesWithParents

ClassLoaderTest

ClassMap

Composer

Autoload

Container14

Doctrine

Bundle

DoctrineBundle

Command

Proxy

Controller

DataCollector

DependencyInjection

Mapping

Tests

DependencyInjection

Twig

FixturesBundle

Command

Common

Annotations

Annotation

Cache

Collections

Expr

DataFixtures

Event

Listener

Exception

Executor

Purger

Inflector

Lexer

Persistence

Event

Mapping

Driver

Proxy

Exception

Reflection

Util

DBAL

Cache

Connections

Driver

DrizzlePDOMySql

IBMDB2

Mysqli

OCI8

PDOIbm

PDOMySql

PDOOracle

PDOPgSql

PDOSqlite

PDOSqlsrv

SQLSrv

Event

Listeners

Id

Logging

Platforms

Keywords

Portability

Query

Expression

Schema

Synchronizer

Visitor

Sharding

ShardChoser

SQLAzure

Schema

Tools

Console

Command

Helper

Types

ORM

Decorator

Event

Id

Internal

Hydration

Mapping

Builder

Driver

Persisters

Proxy

Query

AST

Functions

Exec

Expr

Filter

Repository

Tools

Console

Command

ClearCache

SchemaTool

Helper

Event

Export

Driver

Pagination

Tests

Common

Annotations

Bar

Fixtures

Annotation

Foo

FooBar

Ticket

Doctrine

ORM

Mapping

Cache

Collections

DataFixtures

Executor

TestEntity

TestFixtures

Inflector

Persistence

Mapping

Proxy

Reflection

Dummies

Util

Entity

Repository

Fixtures

Bundles

AnnotationsBundle

Entity

Vendor

AnnotationsBundle

Entity

XmlBundle

Entity

YamlBundle

Entity

Foo

Bar

FOS

RestBundle

Controller

Annotations

Decoder

DependencyInjection

Compiler

EventListener

Examples

Form

Extension

Normalizer

Exception

Request

Response

AllowedMethodsLoader

Routing

Loader

Reader

Tests

Controller

Annotations

Decoder

DependencyInjection

Compiler

EventListener

Fixtures

Controller

Normalizer

Request

Routing

Loader

Util

View

Util

Inflector

View

UserBundle

Command

Controller

CouchDocument

DependencyInjection

Compiler

Doctrine

Document

Entity

Form

DataTransformer

Handler

Model

Type

Mailer

Model

Propel

Security

Tests

DependencyInjection

Doctrine

Model

Security

Util

Util

Validator

Gedmo

Blameable

Mapping

Driver

Event

Adapter

Traits

Exception

IpTraceable

Mapping

Driver

Event

Adapter

Traits

Loggable

Document

MappedSuperclass

Repository

Entity

MappedSuperclass

Repository

Mapping

Driver

Event

Adapter

Mapping

Annotation

Driver

Event

Adapter

Mock

Extension

Encoder

Mapping

Driver

Event

Adapter

Mapping

Event

Adapter

Xml

ReferenceIntegrity

Mapping

Driver

References

Mapping

Driver

Event

Adapter

Sluggable

Handler

Mapping

Driver

Event

Adapter

Util

SoftDeleteable

Filter

ODM

Mapping

Driver

Event

Adapter

Query

TreeWalker

Exec

Traits

Sortable

Entity

Repository

Mapping

Driver

Event

Adapter

Timestampable

Mapping

Driver

Event

Adapter

Traits

Tool

Logging

DBAL

Wrapper

Translatable

Document

MappedSuperclass

Repository

Entity

MappedSuperclass

Repository

Hydrator

ORM

Mapping

Driver

Event

Adapter

Query

TreeWalker

Translator

Document

Entity

Tree

Document

MongoDB

Repository

Entity

MappedSuperclass

Repository

Mapping

Driver

Event

Adapter

Strategy

ODM

MongoDB

ORM

Uploadable

Event

FileInfo

FilenameGenerator

Mapping

Driver

MimeType

Stub

Incenteev

ParameterHandler

Tests

IpTraceable

Fixture

Document

JMS

Parser

Tests

Serializer

Annotation

Builder

Construction

EventDispatcher

Subscriber

Exception

Exclusion

Handler

Metadata

Driver

Naming

Tests

Exclusion

Fixtures

Discriminator

Doctrine

DoctrinePHPCR

Handler

Metadata

Driver

Serializer

EventDispatcher

Subscriber

Naming

Twig

Twig

Util

SerializerBundle

DependencyInjection

Compiler

Serializer

Templating

Tests

DependencyInjection

Fixture

TranslationBundle

Annotation

Command

Controller

DependencyInjection

Compiler

Exception

Logger

Model

Tests

Functional

TestBundle

Controller

Model

Translation

Comparison

Dumper

Extractor

File

Fixture

Fixture

SimpleTest

Controller

Form

Loader

Symfony

Twig

Translation

Comparison

Dumper

Extractor

File

Loader

Symfony

Twig

Util

Knp

Bundle

MenuBundle

DependencyInjection

Compiler

EventListener

Provider

Renderer

Templating

Helper

Tests

DependencyInjection

Compiler

EventListener

Provider

Renderer

Stubs

Child

Menu

Menu

Templating

Menu

Factory

Integration

Silex

Symfony

Iterator

Loader

Matcher

Voter

Provider

Renderer

Silex

Voter

Tests

Factory

Integration

Silex

Iterator

Loader

Matcher

Voter

Provider

Renderer

Silex

Twig

Util

Twig

Util

Loggable

Fixture

Document

Log

Entity

Log

Lunetics

LocaleBundle

Controller

Cookie

DependencyInjection

Compiler

Event

EventListener

Form

Extension

ChoiceList

Type

LocaleGuesser

LocaleInformation

Matcher

Session

Switcher

Templating

Helper

Tests

Controller

DependencyInjection

Compiler

Event

EventListener

Form

Extension

ChoiceList

Type

LocaleGuesser

LocaleInformation

Templating

Helper

Twig

Extension

Validator

Twig

Extension

Validator

Mapping

Fixture

Compatibility

Document

Unmapped

Xml

Yaml

Metadata

Cache

Driver

Tests

Cache

Driver

Fixture

A

B

C

SubDir

T

Fixtures

ComplexHierarchy

Monolog

Formatter

Handler

FingersCrossed

SyslogUdp

Processor

MyProject

Proxies

__CG__

Doctrine

Tests

Common

Util

OtherProject

Proxies

__CG__

Doctrine

Tests

Common

Util

NamespaceCollision

A

B

C

B

Namespaced

Namespaced2

Negotiation

Tests

None

Pequiven

SEIPBundle

Controller

DataFixtures

DependencyInjection

Entity

EventListener

Form

Type

Menu

Template

Developer

Tests

Controller

PHP

PhpCollection

Tests

PhpOption

Tests

Proxies

__CG__

Pequiven

SEIPBundle

Entity

Psr

Log

Test

ReferenceIntegrity

Fixture

Document

ManyNullify

ManyRestrict

OneNullify

OneRestrict

References

Fixture

ODM

MongoDB

ORM

Sensio

Bundle

DistributionBundle

Composer

Configurator

Form

Step

Controller

DependencyInjection

FrameworkExtraBundle

Configuration

DependencyInjection

Compiler

EventListener

Request

ParamConverter

Routing

Security

Templating

Tests

Configuration

EventListener

Fixture

Request

ParamConverter

Routing

Templating

Fixture

BarBundle

Controller

FooBarBundle

Controller

FooBundle

Controller

GeneratorBundle

Command

Helper

Generator

Manipulator

Tests

Command

Generator

Sluggable

Fixture

Doctrine

Document

Handler

Handler

People

Inheritance

Inheritance2

Issue104

Issue116

Issue131

Issue449

Issue633

Issue827

Issue939

MappedSuperclass

SoftDeleteable

Fixture

Document

Entity

Sortable

Fixture

Transport

Stof

DoctrineExtensionsBundle

DependencyInjection

Compiler

EventListener

Uploadable

Symfony

Bridge

Doctrine

CacheWarmer

DataCollector

DataFixtures

DependencyInjection

CompilerPass

Security

UserProvider

ExpressionLanguage

Form

ChoiceList

DataTransformer

EventListener

Type

HttpFoundation

Logger

Security

RememberMe

User

Test

Tests

DataCollector

DataFixtures

DependencyInjection

CompilerPass

ExpressionLanguage

Fixtures

Form

ChoiceList

DataTransformer

Type

HttpFoundation

Logger

Security

User

Validator

Constraints

Validator

Constraints

Monolog

Formatter

Handler

Processor

Tests

Handler

Processor

Propel1

DataCollector

DependencyInjection

Security

UserProvider

Form

ChoiceList

DataTransformer

EventListener

Type

Logger

Security

User

Tests

DataCollector

Fixtures

Form

ChoiceList

DataTransformer

ProxyManager

LazyProxy

Instantiator

PhpDumper

Tests

LazyProxy

Dumper

Instantiator

PhpDumper

Twig

Extension

Form

Node

NodeVisitor

Tests

Extension

Fixtures

Node

NodeVisitor

TokenParser

Translation

TokenParser

Translation

Bundle

AsseticBundle

CacheWarmer

Command

Config

Controller

DependencyInjection

Compiler

EventListener

Exception

Factory

Loader

Resource

Worker

Routing

Templating

Tests

CacheWarmer

Command

Controller

DependencyInjection

Factory

Resource

Templating

TestBundle

Twig

FrameworkBundle

CacheWarmer

Command

Console

Descriptor

Helper

Controller

DataCollector

DependencyInjection

Compiler

EventListener

Fragment

HttpCache

Routing

Templating

Asset

Helper

Loader

Test

Tests

CacheWarmer

Console

Descriptor

Controller

DependencyInjection

Compiler

Fixtures

BaseBundle

Fragment

Functional

app

Bundle

TestBundle

Controller

Routing

Templating

Helper

Fixtures

Loader

Translation

Validator

Translation

Validator

MonologBundle

DependencyInjection

Compiler

Tests

DependencyInjection

Compiler

SecurityBundle

Command

DataCollector

DependencyInjection

Compiler

Security

Factory

UserProvider

EventListener

Security

Templating

Helper

Tests

DependencyInjection

Security

Factory

Functional

app

Bundle

CsrfFormLoginBundle

Controller

Form

FormLoginBundle

Controller

DependencyInjection

Security

Twig

Extension

SwiftmailerBundle

Command

DataCollector

DependencyInjection

Compiler

EventListener

Tests

DependencyInjection

TwigBundle

CacheWarmer

Command

Controller

Debug

DependencyInjection

Compiler

Extension

Loader

Node

Tests

Controller

DependencyInjection

Compiler

Loader

TokenParser

TokenParser

WebProfilerBundle

Controller

DependencyInjection

EventListener

Profiler

Tests

Controller

DependencyInjection

EventListener

Profiler

Component

BrowserKit

Tests

ClassLoader

Tests

Config

Definition

Builder

Dumper

Exception

Exception

Loader

Resource

Tests

Definition

Builder

Dumper

Fixtures

Configuration

Loader

Resource

Util

Console

Command

Descriptor

Event

Formatter

Helper

Input

Output

Tester

Tests

Command

Descriptor

Fixtures

Formatter

Helper

Input

Output

Tester

CssSelector

Exception

Node

Parser

Handler

Shortcut

Tokenizer

Tests

Node

Parser

Handler

Shortcut

XPath

XPath

Extension

Debug

Exception

FatalErrorHandler

Tests

Exception

FatalErrorHandler

Fixtures

DependencyInjection

Compiler

Dump

Dumper

Exception

Extension

LazyProxy

Instantiator

PhpDumper

Loader

ParameterBag

Tests

Compiler

Dumper

Extension

LazyProxy

Instantiator

PhpDumper

Loader

ParameterBag

DomCrawler

Field

Tests

Field

EventDispatcher

Debug

Tests

ExpressionLanguage

Node

ParserCache

Tests

Node

Filesystem

Exception

Tests

Finder

Adapter

Comparator

Exception

Expression

Iterator

Shell

Tests

Comparator

Expression

FakeAdapter

Iterator

Form

Exception

Extension

Core

ChoiceList

DataMapper

DataTransformer

EventListener

Type

View

Csrf

EventListener

Type

DataCollector

EventListener

Proxy

Type

DependencyInjection

HttpFoundation

Type

Templating

Validator

Constraints

EventListener

Type

Util

ViolationMapper

Guess

Test

Tests

Extension

Core

ChoiceList

DataMapper

DataTransformer

EventListener

Type

Csrf

CsrfProvider

EventListener

Type

DataCollector

Type

HttpFoundation

EventListener

Validator

Constraints

EventListener

Type

Util

ViolationMapper

Fixtures

Guess

Util

Util

HttpFoundation

File

Exception

MimeType

Session

Attribute

Flash

Storage

Handler

Proxy

Tests

File

MimeType

Session

Attribute

Flash

Storage

Handler

Proxy

HttpKernel

Bundle

CacheClearer

CacheWarmer

Config

Controller

DataCollector

Util

Debug

DependencyInjection

Event

EventListener

Exception

Fragment

HttpCache

Log

Profiler

Tests

Bundle

CacheClearer

CacheWarmer

Config

Controller

DataCollector

Debug

DependencyInjection

EventListener

Fixtures

ExtensionAbsentBundle

ExtensionLoadedBundle

DependencyInjection

ExtensionPresentBundle

Command

DependencyInjection

Fragment

HttpCache

Profiler

Mock

Icu

Tests

Intl

Collator

DateFormatter

DateFormat

Exception

Globals

Locale

NumberFormatter

ResourceBundle

Compiler

Reader

Transformer

Rule

Util

Writer

Tests

Collator

Verification

DateFormatter

Verification

Globals

Verification

Locale

Verification

NumberFormatter

Verification

ResourceBundle

Reader

Util

Writer

Util

Util

Locale

Tests

Stub

OptionsResolver

Exception

Tests

Process

Exception

Tests

PropertyAccess

Exception

Routing

Annotation

Exception

Generator

Dumper

Loader

Matcher

Dumper

Tests

Annotation

Fixtures

AnnotatedClasses

Generator

Dumper

Loader

Matcher

Dumper

Security

Acl

Dbal

Domain

Exception

Model

Permission

Tests

Dbal

Domain

Permission

Voter

Voter

Core

Authentication

Provider

RememberMe

Token

Authorization

Voter

Encoder

Event

Exception

Role

Tests

Authentication

Provider

RememberMe

Token

Authorization

Voter

Encoder

Role

User

Util

Validator

Constraints

User

Util

Validator

Constraints

Csrf

Exception

Tests

TokenGenerator

TokenStorage

TokenGenerator

TokenStorage

Http

Authentication

Authorization

EntryPoint

Event

Firewall

Logout

RememberMe

Session

Tests

Authentication

EntryPoint

Firewall

Logout

RememberMe

Session

Tests

Core

Authentication

Token

User

Http

Firewall

Serializer

Encoder

Exception

Normalizer

Tests

Encoder

Fixtures

Normalizer

Stopwatch

Templating

Asset

Helper

Loader

Storage

Tests

Fixtures

Helper

Loader

Storage

Translation

Catalogue

Dumper

Exception

Extractor

Loader

Tests

Catalogue

Dumper

Loader

Writer

Validator

Constraints

Exception

Mapping

Cache

Loader

Tests

Constraints

Fixtures

Mapping

Cache

Loader

Yaml

Exception

Tests

Tecnocreaciones

Bundle

AjaxFOSUserBundle

Controller

DependencyInjection

Compiler

Event

EventListener

Handler

Tests

Controller

InstallBundle

Command

DependencyInjection

Tests

Controller

TemplateBundle

Controller

DependencyInjection

Menu

Template

Developer

Tests

Controller

Vzla

GovernmentBundle

DependencyInjection

Form

Type

Menu

Template

Developer

Model

Tests

Controller

Twig

Extension

TestBundle

Fabpot

FooBundle

Controller

FooBundle

Controller

Sub

Test

Sensio

Cms

FooBundle

Controller

FooBundle

Controller

TestFixtures

Timestampable

Fixture

Document

Tool

Translatable

Fixture

Document

Personal

Issue114

Issue138

Issue165

Issue173

Issue75

Issue922

Personal

Template

Type

Translator

Fixture

Tree

Fixture

Closure

Document

Genealogy

Mock

Repository

Transport

Uploadable

Fixture

Entity

Wrapper

Fixture

Document

Entity

Classes

__TwigTemplate_00b8c35e1b811d4109207629d6fdb362766f23f491a4fd5c59a37f1fb8f48dc9

__TwigTemplate_04826f36455cdd836fcf916212479af00bf815b16f2da0b433568b6e74e8a7f8

__TwigTemplate_06d0ee80ec0b3808c1e3e0f1eaa37e1d289207151d03ac155c0a1dd398095374

__TwigTemplate_0a5cb064c2df4002c40156d805574ef26ba7d2ad34cf6d9014bba65611b067a6

__TwigTemplate_1a8a008b17c0fc9c4422e86d910812f108bd02d41aa99f65e9ff456478be878b

__TwigTemplate_202729613bb4cece82b86ed5dd3d663ba2a9076fd59b1e4b7fc54001cdab459d

__TwigTemplate_29c0a8c596d230ebb62508e15121e200b3b4058486c69bd5b367a3a56121cbf2

__TwigTemplate_2a099ea45a9ad2e6d0eee195f2735febd86cd8affd00a96ba76bd32d8a955d08

__TwigTemplate_2a4c8cde5314b830e4b164890ef03c39c758e99642a9c8201bd1fc3f7d1a3eaa

__TwigTemplate_2d5aae8fb78887d6f844cd993be184486cb1b994c388c404df271e16c8cb2367

__TwigTemplate_31cd92c171baa7d0248a9cd9f9e261c1b6314c904a1dc620f457019568b667ec

__TwigTemplate_3901f068736805ff95817e3dee15700d38edbfea54eafc57e69390d3f1617b07

__TwigTemplate_3a96ddc2f3670a7dc8540da0c1fb9142c80d9ad3a0585516781591cbdd1e4653

__TwigTemplate_3f1f823165090043b92db2a6ca9df83619c7d59c4912c1d96b41cc9454b7bd2d

__TwigTemplate_4c167004982bc3df85847d214f75bbc7292e4978f21ea4b1ffc1ad8b6e7e7984

__TwigTemplate_604afce2825734b3056b8de33aa319469eb461e57c7786efaa45f9d5fe31b240

__TwigTemplate_636a60d0cdd51b68216b1320bcecca81c25647b15505a663e580c10cd84b76dc

__TwigTemplate_8bc76e67c9947536ac6616053c3be481b20559af35aea962141c218a05caaf6e

__TwigTemplate_91b414fec9f45029f129daf405120cd8b967f19506a83f384a47a335538bff9e

__TwigTemplate_95aa645d8d73e1fbcf1c7477cabea0b7bbcd8422672fba89e28d265a741a5b3c

__TwigTemplate_989bd4a7b4ebb13402f9c0a50fde899d5f007f29b7054e9dd7d2d9c0bf0a136a

__TwigTemplate_a410038cc2fcd4907573af4d31c3dcc965a4705d5a3208b490b7d2de6b9627f2

__TwigTemplate_a74b060d7938d768fb96db7bc562ec6ee9b485f77863e804b953617dbb47bfa2

__TwigTemplate_a916361653e96c17b141cd5c653193ba6d90dc0c5e30e7b5bf6b4935950dcc84

__TwigTemplate_b26078a39a793a5fbf1e0ea4e5f2b5c992eeff9084daa4d41fa4a223d8626fd5

__TwigTemplate_c8a82704bc18d1d46f834f4c7f44a5ba1845f03d12493a079aaa71d07639ad1b

__TwigTemplate_d10ad0ccd6acca94798b1e5b6c0b7819d9995ac12903aefe2e6cb31426ee9229

__TwigTemplate_d1e7209e4c287f430cadbd9b1224ac49d1270bb77de31915b13f21946aa3d20e

__TwigTemplate_e0ac72a70ebf75407bc2ac50c0a78903d231bd5e13976b1e5ee6b9748aeb6b31

__TwigTemplate_e9ee17bef176138cb417be8ebcc53983dc84340437a5882193e8f517c89d8fe9

__TwigTemplate_ea599c5759ceafa0e628d7284df403f1308bdaec0b36dd66a6b3286b85708caa

__TwigTemplate_f766859866dd5347b27aa52008175f094affac8352ae3b3708ff210bce09636c

__TwigTemplate_f969bef44cf57d0abff0d16c791c71eb7ef39c10a148e8c749e7d24b6f23a6ac

A

AnnotationsTestsFixturesNonNamespacedClass

Apc_Pearlike_Bar

Apc_Pearlike_Baz

Apc_Pearlike_Foo

Apc_Pearlike_FooBar

ApcPrefixCollision_A_B_Bar

ApcPrefixCollision_A_B_Foo

ApcPrefixCollision_A_Bar

ApcPrefixCollision_A_Foo

Api

AppCache

appDevDebugProjectContainer

appDevUrlGenerator

appDevUrlMatcher

AppKernel

BarBucCommand

BarClass

BarClassFactory

BarUserClass

BazClass

CExtDisablingNodeVisitor

CFoo

ClassLoaderTest_ClassA

ClassLoaderTest_ClassB

ClassLoaderTest_ClassC

Collator

ComposerAutoloaderInit23420dfe124bdae2daff5e7dca930408

CTBar

CTFoo

CustomDriver

CustomDriverTest

D

Entity

EsmtpTransportFixture

Foo

Foo1Command

Foo2Command

Foo3Command

Foo4Command

Foo5Command

FoobarCommand

FooClass

FooCommand

FooObject

ForcedMetadataTest

GlobalNamespacesPerFileWithClassAsFirst

GlobalNamespacesPerFileWithClassAsLast

grammarTest

IdenticalBinaryConstraint

IntlDateFormatter

JsonpCallbackValidator

JsonpCallbackValidatorTest

LazyServiceProjectServiceContainer

Locale

MimeEntityFixture

NumberFormatter

One

Pearlike2_Bar

Pearlike2_Baz

Pearlike2_Foo

Pearlike2_FooBar

Pearlike_Bar

Pearlike_Baz

Pearlike_Foo

Pearlike_FooBar

Pearlike_WithComments

PhpIniRequirement

PHPParser_Autoloader

PHPParser_Builder_Class

PHPParser_Builder_Function

PHPParser_Builder_Interface

PHPParser_Builder_Method

PHPParser_Builder_Param

PHPParser_Builder_Property

PHPParser_BuilderAbstract

PHPParser_BuilderFactory

PHPParser_Comment

PHPParser_Comment_Doc

PHPParser_Lexer

PHPParser_Lexer_Emulative

PHPParser_Node_Arg

PHPParser_Node_Const

PHPParser_Node_Expr

PHPParser_Node_Expr_Array

PHPParser_Node_Expr_ArrayDimFetch

PHPParser_Node_Expr_ArrayItem

PHPParser_Node_Expr_Assign

PHPParser_Node_Expr_AssignBitwiseAnd

PHPParser_Node_Expr_AssignBitwiseOr

PHPParser_Node_Expr_AssignBitwiseXor

PHPParser_Node_Expr_AssignConcat

PHPParser_Node_Expr_AssignDiv

PHPParser_Node_Expr_AssignMinus

PHPParser_Node_Expr_AssignMod

PHPParser_Node_Expr_AssignMul

PHPParser_Node_Expr_AssignPlus

PHPParser_Node_Expr_AssignRef

PHPParser_Node_Expr_AssignShiftLeft

PHPParser_Node_Expr_AssignShiftRight

PHPParser_Node_Expr_BitwiseAnd

PHPParser_Node_Expr_BitwiseNot

PHPParser_Node_Expr_BitwiseOr

PHPParser_Node_Expr_BitwiseXor

PHPParser_Node_Expr_BooleanAnd

PHPParser_Node_Expr_BooleanNot

PHPParser_Node_Expr_BooleanOr

PHPParser_Node_Expr_Cast

PHPParser_Node_Expr_Cast_Array

PHPParser_Node_Expr_Cast_Bool

PHPParser_Node_Expr_Cast_Double

PHPParser_Node_Expr_Cast_Int

PHPParser_Node_Expr_Cast_Object

PHPParser_Node_Expr_Cast_String

PHPParser_Node_Expr_Cast_Unset

PHPParser_Node_Expr_ClassConstFetch

PHPParser_Node_Expr_Clone

PHPParser_Node_Expr_Closure

PHPParser_Node_Expr_ClosureUse

PHPParser_Node_Expr_Concat

PHPParser_Node_Expr_ConstFetch

PHPParser_Node_Expr_Div

PHPParser_Node_Expr_Empty

PHPParser_Node_Expr_Equal

PHPParser_Node_Expr_ErrorSuppress

PHPParser_Node_Expr_Eval

PHPParser_Node_Expr_Exit

PHPParser_Node_Expr_FuncCall

PHPParser_Node_Expr_Greater

PHPParser_Node_Expr_GreaterOrEqual

PHPParser_Node_Expr_Identical

PHPParser_Node_Expr_Include

PHPParser_Node_Expr_Instanceof

PHPParser_Node_Expr_Isset

PHPParser_Node_Expr_List

PHPParser_Node_Expr_LogicalAnd

PHPParser_Node_Expr_LogicalOr

PHPParser_Node_Expr_LogicalXor

PHPParser_Node_Expr_MethodCall

PHPParser_Node_Expr_Minus

PHPParser_Node_Expr_Mod

PHPParser_Node_Expr_Mul

PHPParser_Node_Expr_New

PHPParser_Node_Expr_NotEqual

PHPParser_Node_Expr_NotIdentical

PHPParser_Node_Expr_Plus

PHPParser_Node_Expr_PostDec

PHPParser_Node_Expr_PostInc

PHPParser_Node_Expr_PreDec

PHPParser_Node_Expr_PreInc

PHPParser_Node_Expr_Print

PHPParser_Node_Expr_PropertyFetch

PHPParser_Node_Expr_ShellExec

PHPParser_Node_Expr_ShiftLeft

PHPParser_Node_Expr_ShiftRight

PHPParser_Node_Expr_Smaller

PHPParser_Node_Expr_SmallerOrEqual

PHPParser_Node_Expr_StaticCall

PHPParser_Node_Expr_StaticPropertyFetch

PHPParser_Node_Expr_Ternary

PHPParser_Node_Expr_UnaryMinus

PHPParser_Node_Expr_UnaryPlus

PHPParser_Node_Expr_Variable

PHPParser_Node_Expr_Yield

PHPParser_Node_Name

PHPParser_Node_Name_FullyQualified

PHPParser_Node_Name_Relative

PHPParser_Node_Param

PHPParser_Node_Scalar

PHPParser_Node_Scalar_ClassConst

PHPParser_Node_Scalar_DirConst

PHPParser_Node_Scalar_DNumber

PHPParser_Node_Scalar_Encapsed

PHPParser_Node_Scalar_FileConst

PHPParser_Node_Scalar_FuncConst

PHPParser_Node_Scalar_LineConst

PHPParser_Node_Scalar_LNumber

PHPParser_Node_Scalar_MethodConst

PHPParser_Node_Scalar_NSConst

PHPParser_Node_Scalar_String

PHPParser_Node_Scalar_TraitConst

PHPParser_Node_Stmt

PHPParser_Node_Stmt_Break

PHPParser_Node_Stmt_Case

PHPParser_Node_Stmt_Catch

PHPParser_Node_Stmt_Class

PHPParser_Node_Stmt_ClassConst

PHPParser_Node_Stmt_ClassMethod

PHPParser_Node_Stmt_Const

PHPParser_Node_Stmt_Continue

PHPParser_Node_Stmt_Declare

PHPParser_Node_Stmt_DeclareDeclare

PHPParser_Node_Stmt_Do

PHPParser_Node_Stmt_Echo

PHPParser_Node_Stmt_Else

PHPParser_Node_Stmt_ElseIf

PHPParser_Node_Stmt_For

PHPParser_Node_Stmt_Foreach

PHPParser_Node_Stmt_Function

PHPParser_Node_Stmt_Global

PHPParser_Node_Stmt_Goto

PHPParser_Node_Stmt_HaltCompiler

PHPParser_Node_Stmt_If

PHPParser_Node_Stmt_InlineHTML

PHPParser_Node_Stmt_Interface

PHPParser_Node_Stmt_Label

PHPParser_Node_Stmt_Namespace

PHPParser_Node_Stmt_Property

PHPParser_Node_Stmt_PropertyProperty

PHPParser_Node_Stmt_Return

PHPParser_Node_Stmt_Static

PHPParser_Node_Stmt_StaticVar

PHPParser_Node_Stmt_Switch

PHPParser_Node_Stmt_Throw

PHPParser_Node_Stmt_Trait

PHPParser_Node_Stmt_TraitUse

PHPParser_Node_Stmt_TraitUseAdaptation

PHPParser_Node_Stmt_TraitUseAdaptation_Alias

PHPParser_Node_Stmt_TraitUseAdaptation_Precedence

PHPParser_Node_Stmt_TryCatch

PHPParser_Node_Stmt_Unset

PHPParser_Node_Stmt_Use

PHPParser_Node_Stmt_UseUse

PHPParser_Node_Stmt_While

PHPParser_NodeAbstract

PHPParser_NodeDumper

PHPParser_NodeTraverser

PHPParser_NodeVisitor_NameResolver

PHPParser_NodeVisitorAbstract

PHPParser_Parser

PHPParser_PrettyPrinter_Default

PHPParser_PrettyPrinterAbstract

PHPParser_Serializer_XML

PHPParser_Template

PHPParser_TemplateLoader

PHPParser_Tests_Builder_ClassTest

PHPParser_Tests_Builder_FunctionTest

PHPParser_Tests_Builder_InterfaceTest

PHPParser_Tests_Builder_MethodTest

PHPParser_Tests_Builder_ParamTest

PHPParser_Tests_Builder_PropertyTest

PHPParser_Tests_BuilderFactoryTest

PHPParser_Tests_CodeTestAbstract

PHPParser_Tests_CommentTest

PHPParser_Tests_ErrorTest

PHPParser_Tests_Lexer_EmulativeTest

PHPParser_Tests_LexerTest

PHPParser_Tests_Node_NameTest

PHPParser_Tests_Node_Scalar_StringTest

PHPParser_Tests_Node_Stmt_ClassMethodTest

PHPParser_Tests_Node_Stmt_ClassTest

PHPParser_Tests_Node_Stmt_PropertyTest

PHPParser_Tests_NodeAbstractTest

PHPParser_Tests_NodeDumperTest

PHPParser_Tests_NodeTraverserTest

PHPParser_Tests_NodeVisitor_NameResolverTest

PHPParser_Tests_ParserTest

PHPParser_Tests_PrettyPrinterTest

PHPParser_Tests_Serializer_XMLTest

PHPParser_Tests_TemplateLoaderTest

PHPParser_Tests_TemplateTest

PHPParser_Tests_Unserializer_XMLTest

PHPParser_Unserializer_XML

PrefixCollision_A_B_Bar

PrefixCollision_A_B_Foo

PrefixCollision_A_Bar

PrefixCollision_A_Foo

PrefixCollision_C_B_Bar

PrefixCollision_C_B_Foo

PrefixCollision_C_Bar

PrefixCollision_C_Foo

ProjectExtension

ProjectServiceContainer

ProjectUrlMatcher

ProjectWithXsdExtension

ProxyManagerBridgeFooClass

Requirement

RequirementCollection

SimpleTokenParser

SingleClassLOC1000

SqlFormatter

SqlFormatterTest

stdClass_c1d194250ee2e2b7d2eab8b8212368a8

Swift

Swift_Attachment

Swift_AttachmentAcceptanceTest

Swift_Bug111Test

Swift_Bug118Test

Swift_Bug206Test

Swift_Bug274Test

Swift_Bug34Test

Swift_Bug35Test

Swift_Bug38Test

Swift_Bug51Test

Swift_Bug71Test

Swift_Bug76Test

Swift_ByteStream_AbstractFilterableInputStream

Swift_ByteStream_ArrayByteStream

Swift_ByteStream_ArrayByteStreamTest

Swift_ByteStream_FileByteStream

Swift_ByteStream_FileByteStreamAcceptanceTest

Swift_ByteStream_TemporaryFileByteStream

Swift_CharacterReader_GenericFixedWidthReader

Swift_CharacterReader_GenericFixedWidthReaderTest

Swift_CharacterReader_UsAsciiReader

Swift_CharacterReader_UsAsciiReaderTest

Swift_CharacterReader_Utf8Reader

Swift_CharacterReader_Utf8ReaderTest

Swift_CharacterReaderFactory_SimpleCharacterReaderFactory

Swift_CharacterReaderFactory_SimpleCharacterReaderFactoryAcceptanceTest

Swift_CharacterStream_ArrayCharacterStream

Swift_CharacterStream_ArrayCharacterStreamTest

Swift_CharacterStream_NgCharacterStream

Swift_ConfigurableSpool

Swift_DependencyContainer

Swift_DependencyContainerAcceptanceTest

Swift_DependencyContainerTest

Swift_EmbeddedFile

Swift_EmbeddedFileAcceptanceTest

Swift_Encoder_Base64Encoder

Swift_Encoder_Base64EncoderAcceptanceTest

Swift_Encoder_Base64EncoderTest

Swift_Encoder_QpEncoder

Swift_Encoder_QpEncoderAcceptanceTest

Swift_Encoder_QpEncoderTest

Swift_Encoder_Rfc2231Encoder

Swift_Encoder_Rfc2231EncoderAcceptanceTest

Swift_Encoder_Rfc2231EncoderTest

Swift_Encoding

Swift_EncodingAcceptanceTest

Swift_Events_CommandEvent

Swift_Events_CommandEventTest

Swift_Events_EventObject

Swift_Events_EventObjectTest

Swift_Events_ResponseEvent

Swift_Events_ResponseEventTest

Swift_Events_SendEvent

Swift_Events_SendEventTest

Swift_Events_SimpleEventDispatcher

Swift_Events_SimpleEventDispatcherTest

Swift_Events_TransportChangeEvent

Swift_Events_TransportChangeEventTest

Swift_Events_TransportExceptionEvent

Swift_Events_TransportExceptionEventTest

Swift_FailoverTransport

Swift_FileSpool

Swift_Image

Swift_KeyCache_ArrayKeyCache

Swift_KeyCache_ArrayKeyCacheAcceptanceTest

Swift_KeyCache_ArrayKeyCacheTest

Swift_KeyCache_DiskKeyCache

Swift_KeyCache_DiskKeyCacheAcceptanceTest

Swift_KeyCache_NullKeyCache

Swift_KeyCache_SimpleKeyCacheInputStream

Swift_KeyCache_SimpleKeyCacheInputStreamTest

Swift_LoadBalancedTransport

Swift_Mailer

Swift_Mailer_ArrayRecipientIterator

Swift_Mailer_ArrayRecipientIteratorTest

Swift_MailerTest

Swift_MailTransport

Swift_MemorySpool

Swift_Message

Swift_MessageAcceptanceTest

Swift_Mime_AbstractMimeEntityTest

Swift_Mime_Attachment

Swift_Mime_AttachmentAcceptanceTest

Swift_Mime_AttachmentTest

Swift_Mime_ContentEncoder_Base64ContentEncoder

Swift_Mime_ContentEncoder_Base64ContentEncoderAcceptanceTest

Swift_Mime_ContentEncoder_Base64ContentEncoderTest

Swift_Mime_ContentEncoder_NativeQpContentEncoder

Swift_Mime_ContentEncoder_NativeQpContentEncoderAcceptanceTest

Swift_Mime_ContentEncoder_PlainContentEncoder

Swift_Mime_ContentEncoder_PlainContentEncoderAcceptanceTest

Swift_Mime_ContentEncoder_PlainContentEncoderTest

Swift_Mime_ContentEncoder_QpContentEncoder

Swift_Mime_ContentEncoder_QpContentEncoderAcceptanceTest

Swift_Mime_ContentEncoder_QpContentEncoderProxy

Swift_Mime_ContentEncoder_QpContentEncoderTest

Swift_Mime_ContentEncoder_RawContentEncoder

Swift_Mime_EmbeddedFile

Swift_Mime_EmbeddedFileAcceptanceTest

Swift_Mime_EmbeddedFileTest

Swift_Mime_Grammar

Swift_Mime_HeaderEncoder_Base64HeaderEncoder

Swift_Mime_HeaderEncoder_Base64HeaderEncoderAcceptanceTest

Swift_Mime_HeaderEncoder_Base64HeaderEncoderTest

Swift_Mime_HeaderEncoder_QpHeaderEncoder

Swift_Mime_HeaderEncoder_QpHeaderEncoderTest

Swift_Mime_Headers_AbstractHeader

Swift_Mime_Headers_DateHeader

Swift_Mime_Headers_DateHeaderTest

Swift_Mime_Headers_IdentificationHeader

Swift_Mime_Headers_IdentificationHeaderTest

Swift_Mime_Headers_MailboxHeader

Swift_Mime_Headers_MailboxHeaderTest

Swift_Mime_Headers_OpenDKIMHeader

Swift_Mime_Headers_ParameterizedHeader

Swift_Mime_Headers_ParameterizedHeaderTest

Swift_Mime_Headers_PathHeader

Swift_Mime_Headers_PathHeaderTest

Swift_Mime_Headers_UnstructuredHeader

Swift_Mime_Headers_UnstructuredHeaderTest

Swift_Mime_MimePart

Swift_Mime_MimePartAcceptanceTest

Swift_Mime_MimePartTest

Swift_Mime_SimpleHeaderFactory

Swift_Mime_SimpleHeaderFactoryTest

Swift_Mime_SimpleHeaderSet

Swift_Mime_SimpleHeaderSetTest

Swift_Mime_SimpleMessage

Swift_Mime_SimpleMessageAcceptanceTest

Swift_Mime_SimpleMessageTest

Swift_Mime_SimpleMimeEntity

Swift_Mime_SimpleMimeEntityTest

Swift_MimePart

Swift_MimePartAcceptanceTest

Swift_NullTransport

Swift_Plugins_AntiFloodPlugin

Swift_Plugins_AntiFloodPluginTest

Swift_Plugins_BandwidthMonitorPlugin

Swift_Plugins_BandwidthMonitorPluginTest

Swift_Plugins_DecoratorPlugin

Swift_Plugins_DecoratorPluginTest

Swift_Plugins_ImpersonatePlugin

Swift_Plugins_LoggerPlugin

Swift_Plugins_LoggerPluginTest

Swift_Plugins_Loggers_ArrayLogger

Swift_Plugins_Loggers_ArrayLoggerTest

Swift_Plugins_Loggers_EchoLogger

Swift_Plugins_Loggers_EchoLoggerTest

Swift_Plugins_MessageLogger

Swift_Plugins_PopBeforeSmtpPlugin

Swift_Plugins_PopBeforeSmtpPluginTest

Swift_Plugins_RedirectingPlugin

Swift_Plugins_RedirectingPluginTest

Swift_Plugins_ReporterPlugin

Swift_Plugins_ReporterPluginTest

Swift_Plugins_Reporters_HitReporter

Swift_Plugins_Reporters_HitReporterTest

Swift_Plugins_Reporters_HtmlReporter

Swift_Plugins_Reporters_HtmlReporterTest

Swift_Plugins_ThrottlerPlugin

Swift_Plugins_ThrottlerPluginTest

Swift_Preferences

Swift_SendmailTransport

Swift_Signers_DKIMSigner

Swift_Signers_DKIMSignerTest

Swift_Signers_DomainKeySigner

Swift_Signers_OpenDKIMSigner

Swift_Signers_OpenDKIMSignerTest

Swift_Signers_SMimeSigner

Swift_Signers_SMimeSignerTest

Swift_Smoke_AttachmentSmokeTest

Swift_Smoke_BasicSmokeTest

Swift_Smoke_HtmlWithAttachmentSmokeTest

Swift_Smoke_InternationalSmokeTest

Swift_SmtpTransport

Swift_SpoolTransport

Swift_StreamCollector

Swift_StreamFilters_ByteArrayReplacementFilter

Swift_StreamFilters_ByteArrayReplacementFilterTest

Swift_StreamFilters_StringReplacementFilter

Swift_StreamFilters_StringReplacementFilterFactory

Swift_StreamFilters_StringReplacementFilterFactoryTest

Swift_StreamFilters_StringReplacementFilterTest

Swift_Transport_AbstractSmtpEventSupportTest

Swift_Transport_AbstractSmtpTest

Swift_Transport_AbstractSmtpTransport

Swift_Transport_Esmtp_Auth_CramMd5Authenticator

Swift_Transport_Esmtp_Auth_CramMd5AuthenticatorTest

Swift_Transport_Esmtp_Auth_LoginAuthenticator

Swift_Transport_Esmtp_Auth_LoginAuthenticatorTest

Swift_Transport_Esmtp_Auth_NTLMAuthenticator

Swift_Transport_Esmtp_Auth_NTLMAuthenticatorTest

Swift_Transport_Esmtp_Auth_PlainAuthenticator

Swift_Transport_Esmtp_Auth_PlainAuthenticatorTest

Swift_Transport_Esmtp_Auth_XOAuth2Authenticator

Swift_Transport_Esmtp_AuthHandler

Swift_Transport_Esmtp_AuthHandlerTest

Swift_Transport_EsmtpTransport

Swift_Transport_EsmtpTransport_ExtensionSupportTest

Swift_Transport_EsmtpTransportTest

Swift_Transport_FailoverTransport

Swift_Transport_FailoverTransportTest

Swift_Transport_LoadBalancedTransport

Swift_Transport_LoadBalancedTransportTest

Swift_Transport_MailTransport

Swift_Transport_MailTransportTest

Swift_Transport_NullTransport

Swift_Transport_SendmailTransport

Swift_Transport_SendmailTransportTest

Swift_Transport_SimpleMailInvoker

Swift_Transport_SpoolTransport

Swift_Transport_StreamBuffer

Swift_Transport_StreamBuffer_AbstractStreamBufferAcceptanceTest

Swift_Transport_StreamBuffer_BasicSocketAcceptanceTest

Swift_Transport_StreamBuffer_ProcessAcceptanceTest

Swift_Transport_StreamBuffer_SocketTimeoutTest

Swift_Transport_StreamBuffer_SslSocketAcceptanceTest

Swift_Transport_StreamBuffer_TlsSocketAcceptanceTest

Swift_Transport_StreamBufferTest

Swift_Validate

SwiftMailerSmokeTestCase

SwiftMailerTestCase

Symfony_Component_Debug_Tests_Fixtures_PEARClass

SymfonyRequirements

TestCommand

TestParser

TestTokenParser

TopLevelAnnotation

Twig_Autoloader

Twig_Compiler

Twig_Environment

Twig_ExpressionParser

Twig_Extension

Twig_Extension_Core

Twig_Extension_Debug

Twig_Extension_Escaper

Twig_Extension_Optimizer

Twig_Extension_Sandbox

Twig_Extension_Staging

Twig_Extension_StringLoader

Twig_ExtensionInterface

Twig_Extensions_Autoloader

Twig_Extensions_Extension_Array

Twig_Extensions_Extension_Debug

Twig_Extensions_Extension_I18n

Twig_Extensions_Extension_Intl

Twig_Extensions_Extension_Text

Twig_Extensions_Grammar

Twig_Extensions_Grammar_Arguments

Twig_Extensions_Grammar_Array

Twig_Extensions_Grammar_Body

Twig_Extensions_Grammar_Boolean

Twig_Extensions_Grammar_Constant

Twig_Extensions_Grammar_Expression

Twig_Extensions_Grammar_Hash

Twig_Extensions_Grammar_Number

Twig_Extensions_Grammar_Optional

Twig_Extensions_Grammar_Switch

Twig_Extensions_Grammar_Tag

Twig_Extensions_Node_Debug

Twig_Extensions_Node_Trans

Twig_Extensions_SimpleTokenParser

Twig_Extensions_TokenParser_Debug

Twig_Extensions_TokenParser_Trans

Twig_Lexer

Twig_Loader_Array

Twig_Loader_Chain

Twig_Loader_Filesystem

Twig_Loader_String

Twig_LoaderInterface

Twig_Markup

Twig_Node

Twig_Node_AutoEscape

Twig_Node_Block

Twig_Node_BlockReference

Twig_Node_Body

Twig_Node_Do

Twig_Node_Embed

Twig_Node_Expression

Twig_Node_Expression_Array

Twig_Node_Expression_AssignName

Twig_Node_Expression_Binary

Twig_Node_Expression_Binary_Add

Twig_Node_Expression_Binary_And

Twig_Node_Expression_Binary_BitwiseAnd

Twig_Node_Expression_Binary_BitwiseOr

Twig_Node_Expression_Binary_BitwiseXor

Twig_Node_Expression_Binary_Concat

Twig_Node_Expression_Binary_Div

Twig_Node_Expression_Binary_EndsWith

Twig_Node_Expression_Binary_Equal

Twig_Node_Expression_Binary_FloorDiv

Twig_Node_Expression_Binary_Greater

Twig_Node_Expression_Binary_GreaterEqual

Twig_Node_Expression_Binary_In

Twig_Node_Expression_Binary_Less

Twig_Node_Expression_Binary_LessEqual

Twig_Node_Expression_Binary_Matches

Twig_Node_Expression_Binary_Mod

Twig_Node_Expression_Binary_Mul

Twig_Node_Expression_Binary_NotEqual

Twig_Node_Expression_Binary_NotIn

Twig_Node_Expression_Binary_Or

Twig_Node_Expression_Binary_Power

Twig_Node_Expression_Binary_Range

Twig_Node_Expression_Binary_StartsWith

Twig_Node_Expression_Binary_Sub

Twig_Node_Expression_BlockReference

Twig_Node_Expression_Call

Twig_Node_Expression_Conditional

Twig_Node_Expression_Constant

Twig_Node_Expression_ExtensionReference

Twig_Node_Expression_Filter

Twig_Node_Expression_Filter_Default

Twig_Node_Expression_Function

Twig_Node_Expression_GetAttr

Twig_Node_Expression_MethodCall

Twig_Node_Expression_Name

Twig_Node_Expression_Parent

Twig_Node_Expression_TempName

Twig_Node_Expression_Test

Twig_Node_Expression_Test_Constant

Twig_Node_Expression_Test_Defined

Twig_Node_Expression_Test_Divisibleby

Twig_Node_Expression_Test_Even

Twig_Node_Expression_Test_Null

Twig_Node_Expression_Test_Odd

Twig_Node_Expression_Test_Sameas

Twig_Node_Expression_Unary

Twig_Node_Expression_Unary_Neg

Twig_Node_Expression_Unary_Not

Twig_Node_Expression_Unary_Pos

Twig_Node_Flush

Twig_Node_For

Twig_Node_ForLoop

Twig_Node_If

Twig_Node_Import

Twig_Node_Include

Twig_Node_Macro

Twig_Node_Module

Twig_Node_Print

Twig_Node_Sandbox

Twig_Node_SandboxedModule

Twig_Node_SandboxedPrint

Twig_Node_Set

Twig_Node_SetTemp

Twig_Node_Spaceless

Twig_Node_Text

Twig_NodeTraverser

Twig_NodeVisitor_Escaper

Twig_NodeVisitor_Optimizer

Twig_NodeVisitor_SafeAnalysis

Twig_NodeVisitor_Sandbox

Twig_Parser

Twig_Sandbox_SecurityPolicy

Twig_SimpleFilter

Twig_SimpleFunction

Twig_SimpleTest

Twig_Template

Twig_TemplateArrayAccessObject

Twig_TemplateInterface

Twig_TemplateMagicMethodExceptionObject

Twig_TemplateMagicMethodObject

Twig_TemplateMagicPropertyObject

Twig_TemplateMagicPropertyObjectWithException

Twig_TemplateMethodAndPropObject

Twig_TemplateMethodObject

Twig_TemplatePropertyObject

Twig_TemplatePropertyObjectAndArrayAccess

Twig_TemplatePropertyObjectAndIterator

Twig_TemplatePropertyObjectDefinedWithUndefinedValue

Twig_TemplateTest

Twig_Test_EscapingTest

Twig_Test_IntegrationTestCase

Twig_Test_Loader_TemplateReference

Twig_Test_NodeTestCase

Twig_Tests_AutoloaderTest

Twig_Tests_CompilerTest

Twig_Tests_EnvironmentTest

Twig_Tests_EnvironmentTest_Extension

Twig_Tests_EnvironmentTest_NodeVisitor

Twig_Tests_EnvironmentTest_TokenParser

Twig_Tests_ErrorTest

Twig_Tests_ErrorTest_Foo

Twig_Tests_ExpressionParserTest

Twig_Tests_Extension_ArrayTest

Twig_Tests_Extension_CoreTest

Twig_Tests_Extension_SandboxTest

Twig_Tests_FileCachingTest

Twig_Tests_Grammar_ArgumentsTest

Twig_Tests_Grammar_ArrayTest

Twig_Tests_Grammar_BodyTest

Twig_Tests_Grammar_BooleanTest

Twig_Tests_Grammar_ConstantTest

Twig_Tests_Grammar_ExpressionTest

Twig_Tests_Grammar_NumberTest

Twig_Tests_Grammar_OptionalTest

Twig_Tests_Grammar_TagTest

Twig_Tests_IntegrationTest

Twig_Tests_LexerTest

Twig_Tests_Loader_ArrayTest

Twig_Tests_Loader_ChainTest

Twig_Tests_Loader_FilesystemTest

Twig_Tests_NativeExtensionTest

Twig_Tests_Node_AutoEscapeTest

Twig_Tests_Node_BlockReferenceTest

Twig_Tests_Node_BlockTest

Twig_Tests_Node_DebugTest

Twig_Tests_Node_DoTest

Twig_Tests_Node_Expression_ArrayTest

Twig_Tests_Node_Expression_AssignNameTest

Twig_Tests_Node_Expression_Binary_AddTest

Twig_Tests_Node_Expression_Binary_AndTest

Twig_Tests_Node_Expression_Binary_ConcatTest

Twig_Tests_Node_Expression_Binary_DivTest

Twig_Tests_Node_Expression_Binary_FloorDivTest

Twig_Tests_Node_Expression_Binary_ModTest

Twig_Tests_Node_Expression_Binary_MulTest

Twig_Tests_Node_Expression_Binary_OrTest

Twig_Tests_Node_Expression_Binary_SubTest

Twig_Tests_Node_Expression_Call

Twig_Tests_Node_Expression_CallTest

Twig_Tests_Node_Expression_ConditionalTest

Twig_Tests_Node_Expression_ConstantTest

Twig_Tests_Node_Expression_FilterTest

Twig_Tests_Node_Expression_FunctionTest

Twig_Tests_Node_Expression_GetAttrTest

Twig_Tests_Node_Expression_NameTest

Twig_Tests_Node_Expression_ParentTest

Twig_Tests_Node_Expression_TestTest

Twig_Tests_Node_Expression_Unary_NegTest

Twig_Tests_Node_Expression_Unary_NotTest

Twig_Tests_Node_Expression_Unary_PosTest

Twig_Tests_Node_ForTest

Twig_Tests_Node_IfTest

Twig_Tests_Node_ImportTest

Twig_Tests_Node_IncludeTest

Twig_Tests_Node_MacroTest

Twig_Tests_Node_ModuleTest

Twig_Tests_Node_PrintTest

Twig_Tests_Node_SandboxedModuleTest

Twig_Tests_Node_SandboxedPrintTest

Twig_Tests_Node_SandboxTest

Twig_Tests_Node_SetTest

Twig_Tests_Node_SpacelessTest

Twig_Tests_Node_TextTest

Twig_Tests_Node_TransTest

Twig_Tests_NodeVisitor_OptimizerTest

Twig_Tests_ParserTest

Twig_Tests_SimpleTokenParserTest

Twig_Tests_TemplateTest

Twig_Tests_TokenStreamTest

Twig_Token

Twig_TokenParser

Twig_TokenParser_AutoEscape

Twig_TokenParser_Block

Twig_TokenParser_Do

Twig_TokenParser_Embed

Twig_TokenParser_Extends

Twig_TokenParser_Filter

Twig_TokenParser_Flush

Twig_TokenParser_For

Twig_TokenParser_From

Twig_TokenParser_If

Twig_TokenParser_Import

Twig_TokenParser_Include

Twig_TokenParser_Macro

Twig_TokenParser_Sandbox

Twig_TokenParser_Set

Twig_TokenParser_Spaceless

Twig_TokenParser_Use

Twig_TokenStream

TwigTestExtension

TwigTestFoo

TwigTestTokenParser_§

Interfaces

PHPParser_Builder

PHPParser_Node

PHPParser_NodeTraverserInterface

PHPParser_NodeVisitor

PHPParser_Serializer

PHPParser_Unserializer

SessionHandlerInterface

Swift_CharacterReader

Swift_CharacterReaderFactory

Swift_CharacterStream

Swift_Encoder

Swift_Events_CommandListener

Swift_Events_Event

Swift_Events_EventDispatcher

Swift_Events_EventListener

Swift_Events_ResponseListener

Swift_Events_SendListener

Swift_Events_TransportChangeListener

Swift_Events_TransportExceptionListener

Swift_FileStream

Swift_Filterable

Swift_InputByteStream

Swift_KeyCache

Swift_KeyCache_KeyCacheInputStream

Swift_Mailer_RecipientIterator

Swift_Mime_CharsetObserver

Swift_Mime_ContentEncoder

Swift_Mime_EncodingObserver

Swift_Mime_Header

Swift_Mime_HeaderEncoder

Swift_Mime_HeaderFactory

Swift_Mime_HeaderSet

Swift_Mime_Message

Swift_Mime_MimeEntity

Swift_Mime_ParameterizedHeader

Swift_OutputByteStream

Swift_Plugins_Decorator_Replacements

Swift_Plugins_Logger

Swift_Plugins_Pop_Pop3Connection

Swift_Plugins_Reporter

Swift_Plugins_Sleeper

Swift_Plugins_Timer

Swift_ReplacementFilterFactory

Swift_Signer

Swift_Signers_BodySigner

Swift_Signers_HeaderSigner

Swift_Spool

Swift_StreamFilter

Swift_Transport

Swift_Transport_Esmtp_Authenticator

Swift_Transport_EsmtpHandler

Swift_Transport_EsmtpHandlerMixin

Swift_Transport_IoBuffer

Swift_Transport_MailInvoker

Swift_Transport_SmtpAgent

Twig_Extensions_GrammarInterface

Twig_NodeOutputInterface

Twig_NodeVisitorInterface

Twig_Sandbox_SecurityPolicyInterface

Twig_TokenParserInterface

Traits

TA

TB

TC

TD

TFoo

TZ

Exceptions

PHPParser_Error

Swift_DependencyException

Swift_IoException

Swift_Plugins_Pop_Pop3Exception

Swift_RfcComplianceException

Swift_SwiftException

Swift_TransportException

Twig_Error

Twig_Error_Loader

Twig_Error_Runtime

Twig_Error_Syntax

Twig_Sandbox_SecurityError

Constants

ARGS

GRAMMAR_FILE

LIB

PARAMS

RULE_BLOCK

Functions

_assetic_urls

_swiftmailer_init

_twig_default_filter

_twig_escape_css_callback

_twig_escape_html_attr_callback

_twig_escape_js_callback

_twig_markup2string

assertArgs

assetic_image

assetic_init

assetic_javascripts

assetic_stylesheets

bailout

benchmark

cd

centered

composerRequire23420dfe124bdae2daff5e7dca930408

createCollection

createObject

echo_requirement

echo_title

filter_func

foo_escaper_for_test

generateUpToDateMimeArray

get_icu_version_from_genrb

handleSignal

html

includeIfExists

intl_error_name

intl_get_error_code

intl_get_error_message

intl_is_failure

lcfirst

magicSplit

moveFileWithDirCheck

regex

resolveArrays

resolveConstants

resolveMacros

resolveNodes

run

sc_configure

showHelp

strip_minor_versions

test_foo

twig_array_batch

twig_array_merge

twig_capitalize_string_filter

twig_constant

twig_convert_encoding

twig_cycle

twig_date_converter

twig_date_format_filter

twig_date_modify_filter

twig_ensure_traversable

twig_escape_filter

twig_escape_filter_is_safe

twig_first

twig_get_array_keys_filter

twig_in_filter

twig_include

twig_join_filter

twig_jsonencode_filter

twig_last

twig_length_filter

twig_localized_date_filter

twig_lower_filter

twig_nl2br_filter

twig_number_format_filter

twig_random

twig_raw_filter

twig_reverse_filter

twig_round

twig_shuffle_filter

twig_slice

twig_sort_filter

twig_source

twig_split_filter

twig_template_from_string

twig_test_empty

twig_test_iterable

twig_title_string_filter

twig_truncate_filter

twig_upper_filter

twig_urlencode_filter

twig_var_dump

twig_wordwrap_filter

	<form id="search">
		<input type="hidden" name="cx" value="" />
		<input type="hidden" name="ie" value="UTF-8" />
		<input type="text" name="q" class="text" />
		<input type="submit" value="Search" />
	</form>

				Overview

				Namespace

				Class

				Tree

   1: <?php
   2:
   3: abstract class Swift_Transport_AbstractSmtpTest extends \SwiftMailerTestCase
   4: {
   5:     /** Abstract test method */
   6:     abstract protected function _getTransport($buf);
   7:
   8:     public function testStartAccepts220ServiceGreeting()
   9:     {
  10:         /* -- RFC 2821, 4.2.
  11:
  12:      Greeting = "220 " Domain [ SP text ] CRLF
  13:
  14:      -- RFC 2822, 4.3.2.
  15:
  16:      CONNECTION ESTABLISHMENT
  17:          S: 220
  18:          E: 554
  19:         */
  20:
  21:         $buf = $this->_getBuffer();
  22:         $smtp = $this->_getTransport($buf);
  23:         $buf->shouldReceive('initialize')
  24:             ->once();
  25:         $buf->shouldReceive('readLine')
  26:             ->once()
  27:             ->with(0)
  28:             ->andReturn("220 some.server.tld bleh\r\n");
  29:
  30:         $this->_finishBuffer($buf);
  31:         try {
  32:             $this->assertFalse($smtp->isStarted(), '%s: SMTP should begin non-started');
  33:             $smtp->start();
  34:             $this->assertTrue($smtp->isStarted(), '%s: start() should have started connection');
  35:         } catch (Exception $e) {
  36:             $this->fail('220 is a valid SMTP greeting and should be accepted');
  37:         }
  38:     }
  39:
  40:     public function testBadGreetingCausesException()
  41:     {
  42:         $buf = $this->_getBuffer();
  43:         $smtp = $this->_getTransport($buf);
  44:         $buf->shouldReceive('initialize')
  45:             ->once();
  46:         $buf->shouldReceive('readLine')
  47:             ->once()
  48:             ->with(0)
  49:             ->andReturn("554 I'm busy\r\n");
  50:         $this->_finishBuffer($buf);
  51:         try {
  52:             $this->assertFalse($smtp->isStarted(), '%s: SMTP should begin non-started');
  53:             $smtp->start();
  54:             $this->fail('554 greeting indicates an error and should cause an exception');
  55:         } catch (Exception $e) {
  56:             $this->assertFalse($smtp->isStarted(), '%s: start() should have failed');
  57:         }
  58:     }
  59:
  60:     public function testStartSendsHeloToInitiate()
  61:     {
  62:         /* -- RFC 2821, 3.2.
  63:
  64:             3.2 Client Initiation
  65:
  66:          Once the server has sent the welcoming message and the client has
  67:          received it, the client normally sends the EHLO command to the
  68:          server, indicating the client's identity.  In addition to opening the
  69:          session, use of EHLO indicates that the client is able to process
  70:          service extensions and requests that the server provide a list of the
  71:          extensions it supports.  Older SMTP systems which are unable to
  72:          support service extensions and contemporary clients which do not
  73:          require service extensions in the mail session being initiated, MAY
  74:          use HELO instead of EHLO.  Servers MUST NOT return the extended
  75:          EHLO-style response to a HELO command.  For a particular connection
  76:          attempt, if the server returns a "command not recognized" response to
  77:          EHLO, the client SHOULD be able to fall back and send HELO.
  78:
  79:          In the EHLO command the host sending the command identifies itself;
  80:          the command may be interpreted as saying "Hello, I am <domain>" (and,
  81:          in the case of EHLO, "and I support service extension requests").
  82:
  83:        -- RFC 2281, 4.1.1.1.
  84:
  85:        ehlo            = "EHLO" SP Domain CRLF
  86:        helo            = "HELO" SP Domain CRLF
  87:
  88:        -- RFC 2821, 4.3.2.
  89:
  90:        EHLO or HELO
  91:            S: 250
  92:            E: 504, 550
  93:
  94:      */
  95:
  96:         $buf = $this->_getBuffer();
  97:         $smtp = $this->_getTransport($buf);
  98:
  99:         $buf->shouldReceive('initialize')
 100:             ->once();
 101:         $buf->shouldReceive('readLine')
 102:             ->once()
 103:             ->with(0)
 104:             ->andReturn("220 some.server.tld bleh\r\n");
 105:         $buf->shouldReceive('write')
 106:             ->once()
 107:             ->with('~^HELO .*?\r\n$~D')
 108:             ->andReturn(1);
 109:         $buf->shouldReceive('readLine')
 110:             ->once()
 111:             ->with(1)
 112:             ->andReturn('250 ServerName' . "\r\n");
 113:
 114:         $this->_finishBuffer($buf);
 115:         try {
 116:             $smtp->start();
 117:         } catch (Exception $e) {
 118:             $this->fail('Starting SMTP should send HELO and accept 250 response');
 119:         }
 120:     }
 121:
 122:     public function testInvalidHeloResponseCausesException()
 123:     {
 124:         $buf = $this->_getBuffer();
 125:         $smtp = $this->_getTransport($buf);
 126:
 127:         $buf->shouldReceive('initialize')
 128:             ->once();
 129:         $buf->shouldReceive('readLine')
 130:             ->once()
 131:             ->with(0)
 132:             ->andReturn("220 some.server.tld bleh\r\n");
 133:         $buf->shouldReceive('write')
 134:             ->once()
 135:             ->with('~^HELO .*?\r\n$~D')
 136:             ->andReturn(1);
 137:         $buf->shouldReceive('readLine')
 138:             ->once()
 139:             ->with(1)
 140:             ->andReturn('504 WTF' . "\r\n");
 141:
 142:         $this->_finishBuffer($buf);
 143:         try {
 144:             $this->assertFalse($smtp->isStarted(), '%s: SMTP should begin non-started');
 145:             $smtp->start();
 146:             $this->fail('Non 250 HELO response should raise Exception');
 147:         } catch (Exception $e) {
 148:             $this->assertFalse($smtp->isStarted(), '%s: SMTP start() should have failed');
 149:         }
 150:     }
 151:
 152:     public function testDomainNameIsPlacedInHelo()
 153:     {
 154:         /* -- RFC 2821, 4.1.4.
 155:
 156:        The SMTP client MUST, if possible, ensure that the domain parameter
 157:        to the EHLO command is a valid principal host name (not a CNAME or MX
 158:        name) for its host.  If this is not possible (e.g., when the client's
 159:        address is dynamically assigned and the client does not have an
 160:        obvious name), an address literal SHOULD be substituted for the
 161:        domain name and supplemental information provided that will assist in
 162:        identifying the client.
 163:         */
 164:
 165:         $buf = $this->_getBuffer();
 166:         $smtp = $this->_getTransport($buf);
 167:
 168:         $buf->shouldReceive('initialize')
 169:             ->once();
 170:         $buf->shouldReceive('readLine')
 171:             ->once()
 172:             ->with(0)
 173:             ->andReturn("220 some.server.tld bleh\r\n");
 174:         $buf->shouldReceive('write')
 175:             ->once()
 176:             ->with("HELO mydomain.com\r\n")
 177:             ->andReturn(1);
 178:         $buf->shouldReceive('readLine')
 179:             ->once()
 180:             ->with(1)
 181:             ->andReturn('250 ServerName' . "\r\n");
 182:
 183:         $this->_finishBuffer($buf);
 184:         $smtp->setLocalDomain('mydomain.com');
 185:         $smtp->start();
 186:     }
 187:
 188:     public function testSuccessfulMailCommand()
 189:     {
 190:         /* -- RFC 2821, 3.3.
 191:
 192:         There are three steps to SMTP mail transactions.  The transaction
 193:         starts with a MAIL command which gives the sender identification.
 194:
 195:         .....
 196:
 197:         The first step in the procedure is the MAIL command.
 198:
 199:             MAIL FROM:<reverse-path> [SP <mail-parameters> ] <CRLF>
 200:
 201:         -- RFC 2821, 4.1.1.2.
 202:
 203:         Syntax:
 204:
 205:             "MAIL FROM:" ("<>" / Reverse-Path)
 206:                        [SP Mail-parameters] CRLF
 207:         -- RFC 2821, 4.1.2.
 208:
 209:         Reverse-path = Path
 210:             Forward-path = Path
 211:             Path = "<" [ A-d-l ":" ] Mailbox ">"
 212:             A-d-l = At-domain *( "," A-d-l )
 213:                         ; Note that this form, the so-called "source route",
 214:                         ; MUST BE accepted, SHOULD NOT be generated, and SHOULD be
 215:                         ; ignored.
 216:             At-domain = "@" domain
 217:
 218:         -- RFC 2821, 4.3.2.
 219:
 220:         MAIL
 221:             S: 250
 222:             E: 552, 451, 452, 550, 553, 503
 223:         */
 224:
 225:         $buf = $this->_getBuffer();
 226:         $smtp = $this->_getTransport($buf);
 227:         $message = $this->_createMessage();
 228:         $message->shouldReceive('getFrom')
 229:                 ->once()
 230:                 ->andReturn(array('me@domain.com' => 'Me'));
 231:         $message->shouldReceive('getTo')
 232:                 ->once()
 233:                 ->andReturn(array('foo@bar' => null));
 234:         $buf->shouldReceive('initialize')
 235:             ->once();
 236:         $buf->shouldReceive('write')
 237:             ->once()
 238:             ->with("MAIL FROM: <me@domain.com>\r\n")
 239:             ->andReturn(1);
 240:         $buf->shouldReceive('readLine')
 241:             ->once()
 242:             ->with(1)
 243:             ->andReturn("250 OK\r\n");
 244:
 245:         $this->_finishBuffer($buf);
 246:         try {
 247:             $smtp->start();
 248:             $smtp->send($message);
 249:         } catch (Exception $e) {
 250:             $this->fail('MAIL FROM should accept a 250 response');
 251:         }
 252:     }
 253:
 254:     public function testInvalidResponseCodeFromMailCausesException()
 255:     {
 256:         $buf = $this->_getBuffer();
 257:         $smtp = $this->_getTransport($buf);
 258:         $message = $this->_createMessage();
 259:
 260:         $message->shouldReceive('getFrom')
 261:                 ->once()
 262:                 ->andReturn(array('me@domain.com' => 'Me'));
 263:         $message->shouldReceive('getTo')
 264:                 ->once()
 265:                 ->andReturn(array('foo@bar' => null));
 266:         $buf->shouldReceive('write')
 267:             ->once()
 268:             ->with("MAIL FROM: <me@domain.com>\r\n")
 269:             ->andReturn(1);
 270:         $buf->shouldReceive('readLine')
 271:             ->once()
 272:             ->with(1)
 273:             ->andReturn('553 Bad' . "\r\n");
 274:
 275:         $this->_finishBuffer($buf);
 276:         try {
 277:             $smtp->start();
 278:             $smtp->send($message);
 279:             $this->fail('MAIL FROM should accept a 250 response');
 280:         } catch (Exception $e) {
 281:         }
 282:     }
 283:
 284:     public function testSenderIsPreferredOverFrom()
 285:     {
 286:         $buf = $this->_getBuffer();
 287:         $smtp = $this->_getTransport($buf);
 288:         $message = $this->_createMessage();
 289:
 290:         $message->shouldReceive('getFrom')
 291:                 ->once()
 292:                 ->andReturn(array('me@domain.com' => 'Me'));
 293:         $message->shouldReceive('getSender')
 294:                 ->once()
 295:                 ->andReturn(array('another@domain.com'=>'Someone'));
 296:         $message->shouldReceive('getTo')
 297:                 ->once()
 298:                 ->andReturn(array('foo@bar' => null));
 299:         $buf->shouldReceive('write')
 300:             ->once()
 301:             ->with("MAIL FROM: <another@domain.com>\r\n")
 302:             ->andReturn(1);
 303:         $buf->shouldReceive('readLine')
 304:             ->once()
 305:             ->with(1)
 306:             ->andReturn('250 OK' . "\r\n");
 307:
 308:         $this->_finishBuffer($buf);
 309:         $smtp->start();
 310:         $smtp->send($message);
 311:     }
 312:
 313:     public function testReturnPathIsPreferredOverSender()
 314:     {
 315:         $buf = $this->_getBuffer();
 316:         $smtp = $this->_getTransport($buf);
 317:         $message = $this->_createMessage();
 318:
 319:         $message->shouldReceive('getFrom')
 320:                 ->once()
 321:                 ->andReturn(array('me@domain.com' => 'Me'));
 322:         $message->shouldReceive('getSender')
 323:                 ->once()
 324:                 ->andReturn(array('another@domain.com'=>'Someone'));
 325:         $message->shouldReceive('getReturnPath')
 326:                 ->once()
 327:                 ->andReturn('more@domain.com');
 328:         $message->shouldReceive('getTo')
 329:                 ->once()
 330:                 ->andReturn(array('foo@bar' => null));
 331:         $buf->shouldReceive('write')
 332:             ->once()
 333:             ->with("MAIL FROM: <more@domain.com>\r\n")
 334:             ->andReturn(1);
 335:         $buf->shouldReceive('readLine')
 336:             ->once()
 337:             ->with(1)
 338:             ->andReturn('250 OK' . "\r\n");
 339:
 340:         $this->_finishBuffer($buf);
 341:         $smtp->start();
 342:         $smtp->send($message);
 343:     }
 344:
 345:     public function testSuccessfulRcptCommandWith250Response()
 346:     {
 347:         /* -- RFC 2821, 3.3.
 348:
 349:      The second step in the procedure is the RCPT command.
 350:
 351:             RCPT TO:<forward-path> [ SP <rcpt-parameters> ] <CRLF>
 352:
 353:      The first or only argument to this command includes a forward-path
 354:      (normally a mailbox and domain, always surrounded by "<" and ">"
 355:      brackets) identifying one recipient.  If accepted, the SMTP server
 356:      returns a 250 OK reply and stores the forward-path.  If the recipient
 357:      is known not to be a deliverable address, the SMTP server returns a
 358:      550 reply, typically with a string such as "no such user - " and the
 359:      mailbox name (other circumstances and reply codes are possible).
 360:      This step of the procedure can be repeated any number of times.
 361:
 362:         -- RFC 2821, 4.1.1.3.
 363:
 364:         This command is used to identify an individual recipient of the mail
 365:         data; multiple recipients are specified by multiple use of this
 366:         command.  The argument field contains a forward-path and may contain
 367:         optional parameters.
 368:
 369:         The forward-path normally consists of the required destination
 370:         mailbox.  Sending systems SHOULD not generate the optional list of
 371:         hosts known as a source route.
 372:
 373:         .......
 374:
 375:         "RCPT TO:" ("<Postmaster@" domain ">" / "<Postmaster>" / Forward-Path)
 376:                                         [SP Rcpt-parameters] CRLF
 377:
 378:         -- RFC 2821, 4.2.2.
 379:
 380:             250 Requested mail action okay, completed
 381:             251 User not local; will forward to <forward-path>
 382:          (See section 3.4)
 383:             252 Cannot VRFY user, but will accept message and attempt
 384:                     delivery
 385:
 386:         -- RFC 2821, 4.3.2.
 387:
 388:         RCPT
 389:             S: 250, 251 (but see section 3.4 for discussion of 251 and 551)
 390:             E: 550, 551, 552, 553, 450, 451, 452, 503, 550
 391:         */
 392:
 393:         //We'll treat 252 as accepted since it isn't really a failure
 394:
 395:         $buf = $this->_getBuffer();
 396:         $smtp = $this->_getTransport($buf);
 397:         $message = $this->_createMessage();
 398:
 399:         $message->shouldReceive('getFrom')
 400:                 ->once()
 401:                 ->andReturn(array('me@domain.com' => 'Me'));
 402:         $message->shouldReceive('getTo')
 403:                 ->once()
 404:                 ->andReturn(array('foo@bar' => null));
 405:         $buf->shouldReceive('write')
 406:             ->once()
 407:             ->with("MAIL FROM: <me@domain.com>\r\n")
 408:             ->andReturn(1);
 409:         $buf->shouldReceive('readLine')
 410:             ->once()
 411:             ->with(1)
 412:             ->andReturn('250 OK' . "\r\n");
 413:         $buf->shouldReceive('write')
 414:             ->once()
 415:             ->with("RCPT TO: <foo@bar>\r\n")
 416:             ->andReturn(2);
 417:         $buf->shouldReceive('readLine')
 418:             ->once()
 419:             ->with(2)
 420:             ->andReturn('250 OK' . "\r\n");
 421:
 422:         $this->_finishBuffer($buf);
 423:         try {
 424:             $smtp->start();
 425:             $smtp->send($message);
 426:         } catch (Exception $e) {
 427:             $this->fail('RCPT TO should accept a 250 response');
 428:         }
 429:     }
 430:
 431:     public function testMailFromCommandIsOnlySentOncePerMessage()
 432:     {
 433:         $buf = $this->_getBuffer();
 434:         $smtp = $this->_getTransport($buf);
 435:         $message = $this->_createMessage();
 436:
 437:         $message->shouldReceive('getFrom')
 438:                 ->once()
 439:                 ->andReturn(array('me@domain.com' => 'Me'));
 440:         $message->shouldReceive('getTo')
 441:                 ->once()
 442:                 ->andReturn(array('foo@bar' => null));
 443:         $buf->shouldReceive('write')
 444:             ->once()
 445:             ->with("MAIL FROM: <me@domain.com>\r\n")
 446:             ->andReturn(1);
 447:         $buf->shouldReceive('readLine')
 448:             ->once()
 449:             ->with(1)
 450:             ->andReturn('250 OK' . "\r\n");
 451:         $buf->shouldReceive('write')
 452:             ->once()
 453:             ->with("RCPT TO: <foo@bar>\r\n")
 454:             ->andReturn(2);
 455:         $buf->shouldReceive('readLine')
 456:             ->once()
 457:             ->with(2)
 458:             ->andReturn('250 OK' . "\r\n");
 459:         $buf->shouldReceive('write')
 460:             ->never()
 461:             ->with("MAIL FROM: <me@domain.com>\r\n");
 462:
 463:         $this->_finishBuffer($buf);
 464:         $smtp->start();
 465:         $smtp->send($message);
 466:     }
 467:
 468:     public function testMultipleRecipientsSendsMultipleRcpt()
 469:     {
 470:         $buf = $this->_getBuffer();
 471:         $smtp = $this->_getTransport($buf);
 472:         $message = $this->_createMessage();
 473:
 474:         $message->shouldReceive('getFrom')
 475:                 ->once()
 476:                 ->andReturn(array('me@domain.com' => 'Me'));
 477:         $message->shouldReceive('getTo')
 478:                 ->once()
 479:                 ->andReturn(array(
 480:                     'foo@bar' => null,
 481:                     'zip@button' => 'Zip Button',
 482:                     'test@domain' => 'Test user'
 483:                 ));
 484:         $buf->shouldReceive('write')
 485:             ->once()
 486:             ->with("RCPT TO: <foo@bar>\r\n")
 487:             ->andReturn(1);
 488:         $buf->shouldReceive('readLine')
 489:             ->once()
 490:             ->with(1)
 491:             ->andReturn('250 OK' . "\r\n");
 492:         $buf->shouldReceive('write')
 493:             ->once()
 494:             ->with("RCPT TO: <zip@button>\r\n")
 495:             ->andReturn(2);
 496:         $buf->shouldReceive('readLine')
 497:             ->once()
 498:             ->with(2)
 499:             ->andReturn('250 OK' . "\r\n");
 500:         $buf->shouldReceive('write')
 501:             ->once()
 502:             ->with("RCPT TO: <test@domain>\r\n")
 503:             ->andReturn(3);
 504:         $buf->shouldReceive('readLine')
 505:             ->once()
 506:             ->with(3)
 507:             ->andReturn('250 OK' . "\r\n");
 508:
 509:         $this->_finishBuffer($buf);
 510:         $smtp->start();
 511:         $smtp->send($message);
 512:     }
 513:
 514:     public function testCcRecipientsSendsMultipleRcpt()
 515:     {
 516:         $buf = $this->_getBuffer();
 517:         $smtp = $this->_getTransport($buf);
 518:         $message = $this->_createMessage();
 519:
 520:         $message->shouldReceive('getFrom')
 521:                 ->once()
 522:                 ->andReturn(array('me@domain.com' => 'Me'));
 523:         $message->shouldReceive('getTo')
 524:                 ->once()
 525:                 ->andReturn(array('foo@bar' => null));
 526:         $message->shouldReceive('getCc')
 527:                 ->once()
 528:                 ->andReturn(array(
 529:                     'zip@button' => 'Zip Button',
 530:                     'test@domain' => 'Test user'
 531:                 ));
 532:         $buf->shouldReceive('write')
 533:             ->once()
 534:             ->with("RCPT TO: <foo@bar>\r\n")
 535:             ->andReturn(1);
 536:         $buf->shouldReceive('readLine')
 537:             ->once()
 538:             ->with(1)
 539:             ->andReturn('250 OK' . "\r\n");
 540:         $buf->shouldReceive('write')
 541:             ->once()
 542:             ->with("RCPT TO: <zip@button>\r\n")
 543:             ->andReturn(2);
 544:         $buf->shouldReceive('readLine')
 545:             ->once()
 546:             ->with(2)
 547:             ->andReturn('250 OK' . "\r\n");
 548:         $buf->shouldReceive('write')
 549:             ->once()
 550:             ->with("RCPT TO: <test@domain>\r\n")
 551:             ->andReturn(3);
 552:         $buf->shouldReceive('readLine')
 553:             ->once()
 554:             ->with(3)
 555:             ->andReturn('250 OK' . "\r\n");
 556:
 557:         $this->_finishBuffer($buf);
 558:         $smtp->start();
 559:         $smtp->send($message);
 560:     }
 561:
 562:     public function testSendReturnsNumberOfSuccessfulRecipients()
 563:     {
 564:         $buf = $this->_getBuffer();
 565:         $smtp = $this->_getTransport($buf);
 566:         $message = $this->_createMessage();
 567:
 568:         $message->shouldReceive('getFrom')
 569:                 ->once()
 570:                 ->andReturn(array('me@domain.com' => 'Me'));
 571:         $message->shouldReceive('getTo')
 572:                 ->once()
 573:                 ->andReturn(array('foo@bar' => null));
 574:         $message->shouldReceive('getCc')
 575:                 ->once()
 576:                 ->andReturn(array(
 577:                     'zip@button' => 'Zip Button',
 578:                     'test@domain' => 'Test user'
 579:                 ));
 580:         $buf->shouldReceive('write')
 581:             ->once()
 582:             ->with("RCPT TO: <foo@bar>\r\n")
 583:             ->andReturn(1);
 584:         $buf->shouldReceive('readLine')
 585:             ->once()
 586:             ->with(1)
 587:             ->andReturn('250 OK' . "\r\n");
 588:         $buf->shouldReceive('write')
 589:             ->once()
 590:             ->with("RCPT TO: <zip@button>\r\n")
 591:             ->andReturn(2);
 592:         $buf->shouldReceive('readLine')
 593:             ->once()
 594:             ->with(2)
 595:             ->andReturn('501 Nobody here' . "\r\n");
 596:         $buf->shouldReceive('write')
 597:             ->once()
 598:             ->with("RCPT TO: <test@domain>\r\n")
 599:             ->andReturn(3);
 600:         $buf->shouldReceive('readLine')
 601:             ->once()
 602:             ->with(3)
 603:             ->andReturn('250 OK' . "\r\n");
 604:
 605:         $this->_finishBuffer($buf);
 606:         $smtp->start();
 607:         $this->assertEquals(2, $smtp->send($message),
 608:             '%s: 1 of 3 recipients failed so 2 should be returned'
 609:             );
 610:     }
 611:
 612:     public function testRsetIsSentIfNoSuccessfulRecipients()
 613:     {
 614:         /* --RFC 2821, 4.1.1.5.
 615:
 616:         This command specifies that the current mail transaction will be
 617:         aborted.  Any stored sender, recipients, and mail data MUST be
 618:         discarded, and all buffers and state tables cleared.  The receiver
 619:         MUST send a "250 OK" reply to a RSET command with no arguments.  A
 620:         reset command may be issued by the client at any time.
 621:
 622:         -- RFC 2821, 4.3.2.
 623:
 624:         RSET
 625:             S: 250
 626:         */
 627:
 628:         $buf = $this->_getBuffer();
 629:         $smtp = $this->_getTransport($buf);
 630:         $message = $this->_createMessage();
 631:
 632:         $message->shouldReceive('getFrom')
 633:                 ->once()
 634:                 ->andReturn(array('me@domain.com' => 'Me'));
 635:         $message->shouldReceive('getTo')
 636:                 ->once()
 637:                 ->andReturn(array('foo@bar' => null));
 638:         $buf->shouldReceive('write')
 639:             ->once()
 640:             ->with("RCPT TO: <foo@bar>\r\n")
 641:             ->andReturn(1);
 642:         $buf->shouldReceive('readLine')
 643:             ->once()
 644:             ->with(1)
 645:             ->andReturn('503 Bad' . "\r\n");
 646:         $buf->shouldReceive('write')
 647:             ->once()
 648:             ->with("RSET\r\n")
 649:             ->andReturn(2);
 650:         $buf->shouldReceive('readLine')
 651:             ->once()
 652:             ->with(2)
 653:             ->andReturn('250 OK' . "\r\n");
 654:
 655:         $this->_finishBuffer($buf);
 656:         $smtp->start();
 657:         $this->assertEquals(0, $smtp->send($message),
 658:             '%s: 1 of 1 recipients failed so 0 should be returned'
 659:             );
 660:     }
 661:
 662:     public function testSuccessfulDataCommand()
 663:     {
 664:         /* -- RFC 2821, 3.3.
 665:
 666:         The third step in the procedure is the DATA command (or some
 667:         alternative specified in a service extension).
 668:
 669:                     DATA <CRLF>
 670:
 671:         If accepted, the SMTP server returns a 354 Intermediate reply and
 672:         considers all succeeding lines up to but not including the end of
 673:         mail data indicator to be the message text.
 674:
 675:         -- RFC 2821, 4.1.1.4.
 676:
 677:         The receiver normally sends a 354 response to DATA, and then treats
 678:         the lines (strings ending in <CRLF> sequences, as described in
 679:         section 2.3.7) following the command as mail data from the sender.
 680:         This command causes the mail data to be appended to the mail data
 681:         buffer.  The mail data may contain any of the 128 ASCII character
 682:         codes, although experience has indicated that use of control
 683:         characters other than SP, HT, CR, and LF may cause problems and
 684:         SHOULD be avoided when possible.
 685:
 686:         -- RFC 2821, 4.3.2.
 687:
 688:         DATA
 689:             I: 354 -> data -> S: 250
 690:                                                 E: 552, 554, 451, 452
 691:             E: 451, 554, 503
 692:         */
 693:
 694:         $buf = $this->_getBuffer();
 695:         $smtp = $this->_getTransport($buf);
 696:         $message = $this->_createMessage();
 697:
 698:         $message->shouldReceive('getFrom')
 699:                 ->once()
 700:                 ->andReturn(array('me@domain.com' => 'Me'));
 701:         $message->shouldReceive('getTo')
 702:                 ->once()
 703:                 ->andReturn(array('foo@bar' => null));
 704:         $buf->shouldReceive('write')
 705:             ->once()
 706:             ->with("DATA\r\n")
 707:             ->andReturn(1);
 708:         $buf->shouldReceive('readLine')
 709:             ->once()
 710:             ->with(1)
 711:             ->andReturn('354 Go ahead' . "\r\n");
 712:
 713:         $this->_finishBuffer($buf);
 714:         try {
 715:             $smtp->start();
 716:             $smtp->send($message);
 717:         } catch (Exception $e) {
 718:             $this->fail('354 is the expected response to DATA');
 719:         }
 720:     }
 721:
 722:     public function testBadDataResponseCausesException()
 723:     {
 724:         $buf = $this->_getBuffer();
 725:         $smtp = $this->_getTransport($buf);
 726:         $message = $this->_createMessage();
 727:
 728:         $message->shouldReceive('getFrom')
 729:                 ->once()
 730:                 ->andReturn(array('me@domain.com' => 'Me'));
 731:         $message->shouldReceive('getTo')
 732:                 ->once()
 733:                 ->andReturn(array('foo@bar' => null));
 734:         $buf->shouldReceive('write')
 735:             ->once()
 736:             ->with("DATA\r\n")
 737:             ->andReturn(1);
 738:         $buf->shouldReceive('readLine')
 739:             ->once()
 740:             ->with(1)
 741:             ->andReturn('451 Bad' . "\r\n");
 742:
 743:         $this->_finishBuffer($buf);
 744:         try {
 745:             $smtp->start();
 746:             $smtp->send($message);
 747:             $this->fail('354 is the expected response to DATA (not observed)');
 748:         } catch (Exception $e) {
 749:         }
 750:     }
 751:
 752:     public function testMessageIsStreamedToBufferForData()
 753:     {
 754:         $buf = $this->_getBuffer();
 755:         $smtp = $this->_getTransport($buf);
 756:         $message = $this->_createMessage();
 757:
 758:         $message->shouldReceive('getFrom')
 759:                 ->once()
 760:                 ->andReturn(array('me@domain.com' => 'Me'));
 761:         $message->shouldReceive('getTo')
 762:                 ->once()
 763:                 ->andReturn(array('foo@bar' => null));
 764:         $buf->shouldReceive('write')
 765:             ->once()
 766:             ->with("DATA\r\n")
 767:             ->andReturn(1);
 768:         $buf->shouldReceive('readLine')
 769:             ->once()
 770:             ->with(1)
 771:             ->andReturn('354 OK' . "\r\n");
 772:         $buf->shouldReceive('write')
 773:             ->once()
 774:             ->with("\r\n.\r\n")
 775:             ->andReturn(2);
 776:         $buf->shouldReceive('readLine')
 777:             ->once()
 778:             ->with(2)
 779:             ->andReturn('250 OK' . "\r\n");
 780:
 781:         $this->_finishBuffer($buf);
 782:         $smtp->start();
 783:         $smtp->send($message);
 784:     }
 785:
 786:     public function testBadResponseAfterDataTransmissionCausesException()
 787:     {
 788:         $buf = $this->_getBuffer();
 789:         $smtp = $this->_getTransport($buf);
 790:         $message = $this->_createMessage();
 791:
 792:         $message->shouldReceive('getFrom')
 793:                 ->once()
 794:                 ->andReturn(array('me@domain.com' => 'Me'));
 795:         $message->shouldReceive('getTo')
 796:                 ->once()
 797:                 ->andReturn(array('foo@bar' => null));
 798:         $buf->shouldReceive('write')
 799:             ->once()
 800:             ->with("DATA\r\n")
 801:             ->andReturn(1);
 802:         $buf->shouldReceive('readLine')
 803:             ->once()
 804:             ->with(1)
 805:             ->andReturn('354 OK' . "\r\n");
 806:         $buf->shouldReceive('write')
 807:             ->once()
 808:             ->with("\r\n.\r\n")
 809:             ->andReturn(2);
 810:         $buf->shouldReceive('readLine')
 811:             ->once()
 812:             ->with(2)
 813:             ->andReturn('554 Error' . "\r\n");
 814:
 815:         $this->_finishBuffer($buf);
 816:         try {
 817:             $smtp->start();
 818:             $smtp->send($message);
 819:             $this->fail('250 is the expected response after a DATA transmission (not observed)');
 820:         } catch (Exception $e) {
 821:         }
 822:     }
 823:
 824:     public function testBccRecipientsAreRemovedFromHeaders()
 825:     {
 826:         /* -- RFC 2821, 7.2.
 827:
 828:      Addresses that do not appear in the message headers may appear in the
 829:      RCPT commands to an SMTP server for a number of reasons.  The two
 830:      most common involve the use of a mailing address as a "list exploder"
 831:      (a single address that resolves into multiple addresses) and the
 832:      appearance of "blind copies".  Especially when more than one RCPT
 833:      command is present, and in order to avoid defeating some of the
 834:      purpose of these mechanisms, SMTP clients and servers SHOULD NOT copy
 835:      the full set of RCPT command arguments into the headers, either as
 836:      part of trace headers or as informational or private-extension
 837:      headers.  Since this rule is often violated in practice, and cannot
 838:      be enforced, sending SMTP systems that are aware of "bcc" use MAY
 839:      find it helpful to send each blind copy as a separate message
 840:      transaction containing only a single RCPT command.
 841:      */
 842:
 843:         $buf = $this->_getBuffer();
 844:         $smtp = $this->_getTransport($buf);
 845:         $message = $this->_createMessage();
 846:         $message->shouldReceive('getFrom')
 847:                 ->zeroOrMoreTimes()
 848:                 ->andReturn(array('me@domain.com' => 'Me'));
 849:         $message->shouldReceive('getTo')
 850:                 ->zeroOrMoreTimes()
 851:                 ->andReturn(array('foo@bar' => null));
 852:         $message->shouldReceive('getBcc')
 853:                 ->zeroOrMoreTimes()
 854:                 ->andReturn(array(
 855:                     'zip@button' => 'Zip Button',
 856:                     'test@domain' => 'Test user'
 857:                 ));
 858:         $message->shouldReceive('setBcc')
 859:                 ->once()
 860:                 ->with(array());
 861:         $message->shouldReceive('setBcc')
 862:                 ->zeroOrMoreTimes();
 863:
 864:         $this->_finishBuffer($buf);
 865:         $smtp->start();
 866:         $smtp->send($message);
 867:     }
 868:
 869:     public function testEachBccRecipientIsSentASeparateMessage()
 870:     {
 871:         $buf = $this->_getBuffer();
 872:         $smtp = $this->_getTransport($buf);
 873:         $message = $this->_createMessage();
 874:
 875:         $message->shouldReceive('getFrom')
 876:                 ->zeroOrMoreTimes()
 877:                 ->andReturn(array('me@domain.com' => 'Me'));
 878:         $message->shouldReceive('getTo')
 879:                 ->zeroOrMoreTimes()
 880:                 ->andReturn(array('foo@bar' => null));
 881:         $message->shouldReceive('getBcc')
 882:                 ->zeroOrMoreTimes()
 883:                 ->andReturn(array(
 884:                     'zip@button' => 'Zip Button',
 885:                     'test@domain' => 'Test user'
 886:                 ));
 887:         $message->shouldReceive('setBcc')
 888:                 ->atLeast()->once()
 889:                 ->with(array());
 890:         $message->shouldReceive('setBcc')
 891:                 ->once()
 892:                 ->with(array('zip@button' => 'Zip Button'));
 893:         $message->shouldReceive('setBcc')
 894:                 ->once()
 895:                 ->with(array('test@domain' => 'Test user'));
 896:         $message->shouldReceive('setBcc')
 897:                 ->atLeast()->once()
 898:                 ->with(array(
 899:                     'zip@button' => 'Zip Button',
 900:                     'test@domain' => 'Test user'
 901:                 ));
 902:
 903:         $buf->shouldReceive('write')->once()->with("MAIL FROM: <me@domain.com>\r\n")->andReturn(1);
 904:         $buf->shouldReceive('readLine')->once()->with(1)->andReturn("250 OK\r\n");
 905:         $buf->shouldReceive('write')->once()->with("RCPT TO: <foo@bar>\r\n")->andReturn(2);
 906:         $buf->shouldReceive('readLine')->once()->with(2)->andReturn("250 OK\r\n");
 907:         $buf->shouldReceive('write')->once()->with("DATA\r\n")->andReturn(3);
 908:         $buf->shouldReceive('readLine')->once()->with(3)->andReturn("354 OK\r\n");
 909:         $buf->shouldReceive('write')->once()->with("\r\n.\r\n")->andReturn(4);
 910:         $buf->shouldReceive('readLine')->once()->with(4)->andReturn("250 OK\r\n");
 911:
 912:         $buf->shouldReceive('write')->once()->with("MAIL FROM: <me@domain.com>\r\n")->andReturn(5);
 913:         $buf->shouldReceive('readLine')->once()->with(5)->andReturn("250 OK\r\n");
 914:         $buf->shouldReceive('write')->once()->with("RCPT TO: <zip@button>\r\n")->andReturn(6);
 915:         $buf->shouldReceive('readLine')->once()->with(6)->andReturn("250 OK\r\n");
 916:         $buf->shouldReceive('write')->once()->with("DATA\r\n")->andReturn(7);
 917:         $buf->shouldReceive('readLine')->once()->with(7)->andReturn("354 OK\r\n");
 918:         $buf->shouldReceive('write')->once()->with("\r\n.\r\n")->andReturn(8);
 919:         $buf->shouldReceive('readLine')->once()->with(8)->andReturn("250 OK\r\n");
 920:
 921:         $buf->shouldReceive('write')->once()->with("MAIL FROM: <me@domain.com>\r\n")->andReturn(9);
 922:         $buf->shouldReceive('readLine')->once()->with(9)->andReturn("250 OK\r\n");
 923:         $buf->shouldReceive('write')->once()->with("RCPT TO: <test@domain>\r\n")->andReturn(10);
 924:         $buf->shouldReceive('readLine')->once()->with(10)->andReturn("250 OK\r\n");
 925:         $buf->shouldReceive('write')->once()->with("DATA\r\n")->andReturn(11);
 926:         $buf->shouldReceive('readLine')->once()->with(11)->andReturn("354 OK\r\n");
 927:         $buf->shouldReceive('write')->once()->with("\r\n.\r\n")->andReturn(12);
 928:         $buf->shouldReceive('readLine')->once()->with(12)->andReturn("250 OK\r\n");
 929:
 930:         $this->_finishBuffer($buf);
 931:         $smtp->start();
 932:         $this->assertEquals(3, $smtp->send($message));
 933:     }
 934:
 935:     public function testMessageStateIsRestoredOnFailure()
 936:     {
 937:         $buf = $this->_getBuffer();
 938:         $smtp = $this->_getTransport($buf);
 939:         $message = $this->_createMessage();
 940:
 941:         $message->shouldReceive('getFrom')
 942:                 ->zeroOrMoreTimes()
 943:                 ->andReturn(array('me@domain.com' => 'Me'));
 944:         $message->shouldReceive('getTo')
 945:                 ->zeroOrMoreTimes()
 946:                 ->andReturn(array('foo@bar' => null));
 947:         $message->shouldReceive('getBcc')
 948:                 ->zeroOrMoreTimes()
 949:                 ->andReturn(array(
 950:                     'zip@button' => 'Zip Button',
 951:                     'test@domain' => 'Test user'
 952:                 ));
 953:         $message->shouldReceive('setBcc')
 954:                 ->once()
 955:                 ->with(array());
 956:         $message->shouldReceive('setBcc')
 957:                 ->once()
 958:                 ->with(array(
 959:                     'zip@button' => 'Zip Button',
 960:                     'test@domain' => 'Test user'
 961:                 ));
 962:         $buf->shouldReceive('write')
 963:             ->once()
 964:             ->with("MAIL FROM: <me@domain.com>\r\n")
 965:             ->andReturn(1);
 966:         $buf->shouldReceive('readLine')
 967:             ->once()
 968:             ->with(1)
 969:             ->andReturn("250 OK\r\n");
 970:         $buf->shouldReceive('write')
 971:             ->once()
 972:             ->with("RCPT TO: <foo@bar>\r\n")
 973:             ->andReturn(2);
 974:         $buf->shouldReceive('readLine')
 975:             ->once()
 976:             ->with(2)
 977:             ->andReturn("250 OK\r\n");
 978:         $buf->shouldReceive('write')
 979:             ->once()
 980:             ->with("DATA\r\n")
 981:             ->andReturn(3);
 982:         $buf->shouldReceive('readLine')
 983:             ->once()
 984:             ->with(3)
 985:             ->andReturn("451 No\r\n");
 986:
 987:         $this->_finishBuffer($buf);
 988:
 989:         $smtp->start();
 990:         try {
 991:             $smtp->send($message);
 992:             $this->fail('A bad response was given so exception is expected');
 993:         } catch (Exception $e) {
 994:         }
 995:     }
 996:
 997:     public function testStopSendsQuitCommand()
 998:     {
 999:         /* -- RFC 2821, 4.1.1.10.
1000:
1001:         This command specifies that the receiver MUST send an OK reply, and
1002:         then close the transmission channel.
1003:
1004:         The receiver MUST NOT intentionally close the transmission channel
1005:         until it receives and replies to a QUIT command (even if there was an
1006:         error).  The sender MUST NOT intentionally close the transmission
1007:         channel until it sends a QUIT command and SHOULD wait until it
1008:         receives the reply (even if there was an error response to a previous
1009:         command).  If the connection is closed prematurely due to violations
1010:         of the above or system or network failure, the server MUST cancel any
1011:         pending transaction, but not undo any previously completed
1012:         transaction, and generally MUST act as if the command or transaction
1013:         in progress had received a temporary error (i.e., a 4yz response).
1014:
1015:         The QUIT command may be issued at any time.
1016:
1017:         Syntax:
1018:             "QUIT" CRLF
1019:         */
1020:
1021:         $buf = $this->_getBuffer();
1022:         $smtp = $this->_getTransport($buf);
1023:         $message = $this->_createMessage();
1024:         $buf->shouldReceive('initialize')
1025:             ->once();
1026:         $buf->shouldReceive('write')
1027:             ->once()
1028:             ->with("QUIT\r\n")
1029:             ->andReturn(1);
1030:         $buf->shouldReceive('readLine')
1031:             ->once()
1032:             ->with(1)
1033:             ->andReturn("221 Bye\r\n");
1034:         $buf->shouldReceive('terminate')
1035:             ->once();
1036:
1037:         $this->_finishBuffer($buf);
1038:
1039:         $this->assertFalse($smtp->isStarted());
1040:         $smtp->start();
1041:         $this->assertTrue($smtp->isStarted());
1042:         $smtp->stop();
1043:         $this->assertFalse($smtp->isStarted());
1044:     }
1045:
1046:     public function testBufferCanBeFetched()
1047:     {
1048:         $buf = $this->_getBuffer();
1049:         $smtp = $this->_getTransport($buf);
1050:         $ref = $smtp->getBuffer();
1051:         $this->assertEquals($buf, $ref);
1052:     }
1053:
1054:     public function testBufferCanBeWrittenToUsingExecuteCommand()
1055:     {
1056:         $buf = $this->_getBuffer();
1057:         $smtp = $this->_getTransport($buf);
1058:         $message = $this->_createMessage();
1059:         $buf->shouldReceive('write')
1060:             ->zeroOrMoreTimes()
1061:             ->with("FOO\r\n")
1062:             ->andReturn(1);
1063:         $buf->shouldReceive('readLine')
1064:             ->zeroOrMoreTimes()
1065:             ->with(1)
1066:             ->andReturn("250 OK\r\n");
1067:
1068:         $res = $smtp->executeCommand("FOO\r\n");
1069:         $this->assertEquals("250 OK\r\n", $res);
1070:     }
1071:
1072:     public function testResponseCodesAreValidated()
1073:     {
1074:         $buf = $this->_getBuffer();
1075:         $smtp = $this->_getTransport($buf);
1076:         $message = $this->_createMessage();
1077:         $buf->shouldReceive('write')
1078:             ->zeroOrMoreTimes()
1079:             ->with("FOO\r\n")
1080:             ->andReturn(1);
1081:         $buf->shouldReceive('readLine')
1082:             ->zeroOrMoreTimes()
1083:             ->with(1)
1084:             ->andReturn("551 Not ok\r\n");
1085:
1086:         try {
1087:             $smtp->executeCommand("FOO\r\n", array(250, 251));
1088:             $this->fail('A 250 or 251 response was needed but 551 was returned.');
1089:         } catch (Exception $e) {
1090:         }
1091:     }
1092:
1093:     public function testFailedRecipientsCanBeCollectedByReference()
1094:     {
1095:         $buf = $this->_getBuffer();
1096:         $smtp = $this->_getTransport($buf);
1097:         $message = $this->_createMessage();
1098:
1099:         $message->shouldReceive('getFrom')
1100:                 ->zeroOrMoreTimes()
1101:                 ->andReturn(array('me@domain.com' => 'Me'));
1102:         $message->shouldReceive('getTo')
1103:                 ->zeroOrMoreTimes()
1104:                 ->andReturn(array('foo@bar' => null));
1105:         $message->shouldReceive('getBcc')
1106:                 ->zeroOrMoreTimes()
1107:                 ->andReturn(array(
1108:                     'zip@button' => 'Zip Button',
1109:                     'test@domain' => 'Test user'
1110:                 ));
1111:         $message->shouldReceive('setBcc')
1112:                 ->atLeast()->once()
1113:                 ->with(array());
1114:         $message->shouldReceive('setBcc')
1115:                 ->once()
1116:                 ->with(array('zip@button' => 'Zip Button'));
1117:         $message->shouldReceive('setBcc')
1118:                 ->once()
1119:                 ->with(array('test@domain' => 'Test user'));
1120:         $message->shouldReceive('setBcc')
1121:                 ->atLeast()->once()
1122:                 ->with(array(
1123:                     'zip@button' => 'Zip Button',
1124:                     'test@domain' => 'Test user'
1125:                 ));
1126:
1127:         $buf->shouldReceive('write')->once()->with("MAIL FROM: <me@domain.com>\r\n")->andReturn(1);
1128:         $buf->shouldReceive('readLine')->once()->with(1)->andReturn("250 OK\r\n");
1129:         $buf->shouldReceive('write')->once()->with("RCPT TO: <foo@bar>\r\n")->andReturn(2);
1130:         $buf->shouldReceive('readLine')->once()->with(2)->andReturn("250 OK\r\n");
1131:         $buf->shouldReceive('write')->once()->with("DATA\r\n")->andReturn(3);
1132:         $buf->shouldReceive('readLine')->once()->with(3)->andReturn("354 OK\r\n");
1133:         $buf->shouldReceive('write')->once()->with("\r\n.\r\n")->andReturn(4);
1134:         $buf->shouldReceive('readLine')->once()->with(4)->andReturn("250 OK\r\n");
1135:
1136:         $buf->shouldReceive('write')->once()->with("MAIL FROM: <me@domain.com>\r\n")->andReturn(5);
1137:         $buf->shouldReceive('readLine')->once()->with(5)->andReturn("250 OK\r\n");
1138:         $buf->shouldReceive('write')->once()->with("RCPT TO: <zip@button>\r\n")->andReturn(6);
1139:         $buf->shouldReceive('readLine')->once()->with(6)->andReturn("500 Bad\r\n");
1140:         $buf->shouldReceive('write')->once()->with("RSET\r\n")->andReturn(7);
1141:         $buf->shouldReceive('readLine')->once()->with(7)->andReturn("250 OK\r\n");
1142:
1143:         $buf->shouldReceive('write')->once()->with("MAIL FROM: <me@domain.com>\r\n")->andReturn(9);
1144:         $buf->shouldReceive('readLine')->once()->with(9)->andReturn("250 OK\r\n");
1145:         $buf->shouldReceive('write')->once()->with("RCPT TO: <test@domain>\r\n")->andReturn(10);
1146:         $buf->shouldReceive('readLine')->once()->with(10)->andReturn("500 Bad\r\n");
1147:         $buf->shouldReceive('write')->once()->with("RSET\r\n")->andReturn(11);
1148:         $buf->shouldReceive('readLine')->once()->with(11)->andReturn("250 OK\r\n");
1149:
1150:         $this->_finishBuffer($buf);
1151:         $smtp->start();
1152:         $this->assertEquals(1, $smtp->send($message, $failures));
1153:         $this->assertEquals(array('zip@button', 'test@domain'), $failures,
1154:             '%s: Failures should be caught in an array'
1155:             );
1156:     }
1157:
1158:     public function testSendingRegeneratesMessageId()
1159:     {
1160:         $buf = $this->_getBuffer();
1161:         $smtp = $this->_getTransport($buf);
1162:         $message = $this->_createMessage();
1163:         $message->shouldReceive('getFrom')
1164:                 ->zeroOrMoreTimes()
1165:                 ->andReturn(array('me@domain.com'=>'Me'));
1166:         $message->shouldReceive('getTo')
1167:                 ->zeroOrMoreTimes()
1168:                 ->andReturn(array('foo@bar'=>null));
1169:         $message->shouldReceive('generateId')
1170:                 ->once();
1171:
1172:         $this->_finishBuffer($buf);
1173:         $smtp->start();
1174:         $smtp->send($message);
1175:     }
1176:
1177:     // -- Protected methods
1178:
1179:     protected function _getBuffer()
1180:     {
1181:         return $this->getMockery('Swift_Transport_IoBuffer')->shouldIgnoreMissing();
1182:     }
1183:
1184:     protected function _createMessage()
1185:     {
1186:         return $this->getMockery('Swift_Mime_Message')->shouldIgnoreMissing();
1187:     }
1188:
1189:     protected function _finishBuffer($buf)
1190:     {
1191:         $buf->shouldReceive('readLine')
1192:             ->zeroOrMoreTimes()
1193:             ->with(0)
1194:             ->andReturn('220 server.com foo' . "\r\n");
1195:         $buf->shouldReceive('write')
1196:             ->zeroOrMoreTimes()
1197:             ->with('~^(EH|HE)LO .*?\r\n$~D')
1198:             ->andReturn($x = uniqid());
1199:         $buf->shouldReceive('readLine')
1200:             ->zeroOrMoreTimes()
1201:             ->with($x)
1202:             ->andReturn('250 ServerName' . "\r\n");
1203:         $buf->shouldReceive('write')
1204:             ->zeroOrMoreTimes()
1205:             ->with('~^MAIL FROM: <.*?>\r\n$~D')
1206:             ->andReturn($x = uniqid());
1207:         $buf->shouldReceive('readLine')
1208:             ->zeroOrMoreTimes()
1209:             ->with($x)
1210:             ->andReturn("250 OK\r\n");
1211:         $buf->shouldReceive('write')
1212:             ->zeroOrMoreTimes()
1213:             ->with('~^RCPT TO: <.*?>\r\n$~D')
1214:             ->andReturn($x = uniqid());
1215:         $buf->shouldReceive('readLine')
1216:             ->zeroOrMoreTimes()
1217:             ->with($x)
1218:             ->andReturn("250 OK\r\n");
1219:         $buf->shouldReceive('write')
1220:             ->zeroOrMoreTimes()
1221:             ->with("DATA\r\n")
1222:             ->andReturn($x = uniqid());
1223:         $buf->shouldReceive('readLine')
1224:             ->zeroOrMoreTimes()
1225:             ->with($x)
1226:             ->andReturn("354 OK\r\n");
1227:         $buf->shouldReceive('write')
1228:             ->zeroOrMoreTimes()
1229:             ->with("\r\n.\r\n")
1230:             ->andReturn($x = uniqid());
1231:         $buf->shouldReceive('readLine')
1232:             ->zeroOrMoreTimes()
1233:             ->with($x)
1234:             ->andReturn("250 OK\r\n");
1235:         $buf->shouldReceive('write')
1236:             ->zeroOrMoreTimes()
1237:             ->with("RSET\r\n")
1238:             ->andReturn($x = uniqid());
1239:         $buf->shouldReceive('readLine')
1240:             ->zeroOrMoreTimes()
1241:             ->with($x)
1242:             ->andReturn("250 OK\r\n");
1243:
1244:         $buf->shouldReceive('write')
1245:             ->zeroOrMoreTimes()
1246:             ->andReturn(false);
1247:         $buf->shouldReceive('readLine')
1248:             ->zeroOrMoreTimes()
1249:             ->andReturn(false);
1250:     }
1251: }
1252:

		seip API documentation generated by ApiGen 2.8.0


text:
using System.Collections.Generic;
using FileContextCore.ValueGeneration.Internal;
using JetBrains.Annotations;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Diagnostics;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Update;

namespace FileContextCore.Storage.Internal
{

    public interface IFileContextStore
    {

        bool EnsureCreated(
            [NotNull] IUpdateAdapterFactory updateAdapterFactory,
            [NotNull] IDiagnosticsLogger<DbLoggerCategory.Update> updateLogger);

        bool Clear();

        IReadOnlyList<FileContextTableSnapshot> GetTables([NotNull] IEntityType entityType);

        FileContextIntegerValueGenerator<TProperty> GetIntegerValueGenerator<TProperty>([NotNull] IProperty property);

        int ExecuteTransaction(
            [NotNull] IList<IUpdateEntry> entries, [NotNull] IDiagnosticsLogger<DbLoggerCategory.Update> updateLogger);
    }
}

redpajama_set_name: RedPajamaGithub


text:
@implementation NewsModel

@end
@implementation NewsData

+ (NSDictionary *)objectClassInArray{
    return @{@"data" : [ChildData class]};
}

@end

@implementation ChildData

@end

@implementation User

@end


text:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="pref_title_user_icon_rounded_on">Rounded to the icon</string>
    <string name="pref_description_user_icon_rounded_on">Memory consumption will decrease when you disable.</string>

    <string name="pref_title_user_icon_size">Icon image quality</string>
    <string-array name="pref_user_icon_size_titles">
        <item>none</item>
        <item>low</item>
        <item>middle</item>
        <item>high</item>
    </string-array>
    <string-array name="pref_user_icon_size_values">
        <item>none</item>
        <item>mini</item>
        <item>normal</item>
        <item>bigger</item>
    </string-array>

    <string name="pref_title_display_thumbnail_on">Display Thumbnail</string>
    <string name="pref_description_display_thumbnail_on">Display thumbnail images that are attached.</string>

    <string name="pref_title_page_count">Number of records to additional</string>
    <string-array name="pref_page_count_titles">
        <item>20 records</item>
        <item>50 records</item>
        <item>100 records</item>
        <item>200 records</item>
    </string-array>
    <string-array name="pref_page_count_values">
        <item>20</item>
        <item>50</item>
        <item>100</item>
        <item>200</item>
    </string-array>
</resources>


text:
module.exports = function() {
          var style = this.styling=='form-inline'?{display:'inline'}:{};
          style.position = "relative";

          return style;
        }