Gitee
  • GKPHP
  • API Documentation
    • \App
    • \BaconQrCode
    • \Endroid
    • \GK
    • \Medoo
    • \Monolog
    • \MyCLabs
    • \PHPMailer
    • \Psr
    • \Symfony
    • \Twig
    • \Whoops
    • \Zxing
  • Charts
    •  Class hierarchy diagram
\
App
Index
Controller
  • IndexController
BaconQrCode
Common
  • AbstractEnum
  • BitArray
  • BitMatrix
  • BitUtils
  • CharacterSetEci
  • EcBlock
  • EcBlocks
  • ErrorCorrectionLevel
  • FormatInformation
  • Mode
  • ReedSolomonCodec
  • Version
Encoder
  • BlockPair
  • ByteMatrix
  • Encoder
  • MaskUtil
  • MatrixUtil
  • QrCode
Exception
  • ExceptionInterface
  • InvalidArgumentException
  • OutOfBoundsException
  • RuntimeException
  • UnexpectedValueException
  • WriterException
Renderer
Color
  • ColorInterface
  • Cmyk
  • Gray
  • Rgb
Image
Decorator
  • DecoratorInterface
  • FinderPattern
  • RendererInterface
  • AbstractRenderer
  • Eps
  • Png
  • Svg
Text
  • Html
  • Plain
  • RendererInterface
  • Writer
Endroid
QrCode
Bundle
QrCodeBundle
Controller
  • QrCodeController
DependencyInjection
Compiler
  • WriterRegistryCompilerPass
  • Configuration
  • EndroidQrCodeExtension
  • EndroidQrCodeBundle
Exception
  • InvalidPathException
  • InvalidWriterException
  • MissingFunctionException
  • QrCodeException
  • UnsupportedExtensionException
  • ValidationException
Factory
  • QrCodeFactory
Twig
Extension
  • QrCodeExtension
Writer
  • WriterInterface
  • AbstractBaconWriter
  • AbstractWriter
  • BinaryWriter
  • DebugWriter
  • EpsWriter
  • PngWriter
  • SvgWriter
  • QrCodeInterface
  • WriterRegistryInterface
  • ErrorCorrectionLevel
  • LabelAlignment
  • QrCode
  • StaticWriterRegistry
  • WriterRegistry
GK
Exception
  • ClassNotFoundException
  • NumberException
Route
Driver
  • Domain_Info
  • Path_Info
  • Driver
  • App
  • Cache
  • Config
  • Controller
  • CoreInit
  • Curl
  • Json
  • Loader
  • Model
  • Request
  • Route
  • Url
Medoo
  • Medoo
  • Raw
Monolog
Formatter
  • FormatterInterface
  • ChromePHPFormatter
  • ElasticaFormatter
  • FlowdockFormatter
  • FluentdFormatter
  • GelfMessageFormatter
  • HtmlFormatter
  • JsonFormatter
  • LineFormatter
  • LogglyFormatter
  • LogstashFormatter
  • MongoDBFormatter
  • NormalizerFormatter
  • ScalarFormatter
  • WildfireFormatter
Handler
Curl
  • Util
FingersCrossed
  • ActivationStrategyInterface
  • ChannelLevelActivationStrategy
  • ErrorLevelActivationStrategy
Slack
  • SlackRecord
SyslogUdp
  • UdpSocket
  • HandlerInterface
  • AbstractHandler
  • AbstractProcessingHandler
  • AbstractSyslogHandler
  • AmqpHandler
  • BrowserConsoleHandler
  • BufferHandler
  • ChromePHPHandler
  • CouchDBHandler
  • CubeHandler
  • DeduplicationHandler
  • DoctrineCouchDBHandler
  • DynamoDbHandler
  • ElasticSearchHandler
  • ErrorLogHandler
  • FilterHandler
  • FingersCrossedHandler
  • FirePHPHandler
  • FleepHookHandler
  • FlowdockHandler
  • GelfHandler
  • GroupHandler
  • HandlerWrapper
  • HipChatHandler
  • IFTTTHandler
  • InsightOpsHandler
  • LogEntriesHandler
  • LogglyHandler
  • MailHandler
  • MandrillHandler
  • MissingExtensionException
  • MongoDBHandler
  • NativeMailerHandler
  • NewRelicHandler
  • NullHandler
  • PHPConsoleHandler
  • PsrHandler
  • PushoverHandler
  • RavenHandler
  • RedisHandler
  • RollbarHandler
  • RotatingFileHandler
  • SamplingHandler
  • SlackbotHandler
  • SlackHandler
  • SlackWebhookHandler
  • SocketHandler
  • StreamHandler
  • SwiftMailerHandler
  • SyslogHandler
  • SyslogUdpHandler
  • TestHandler
  • WhatFailureGroupHandler
  • ZendMonitorHandler
Processor
  • ProcessorInterface
  • GitProcessor
  • IntrospectionProcessor
  • MemoryPeakUsageProcessor
  • MemoryProcessor
  • MemoryUsageProcessor
  • MercurialProcessor
  • ProcessIdProcessor
  • PsrLogMessageProcessor
  • TagProcessor
  • UidProcessor
  • WebProcessor
  • ResettableInterface
  • ErrorHandler
  • Logger
  • Registry
  • SignalHandler
  • Utils
MyCLabs
Enum
  • Enum
PHPMailer
PHPMailer
  • Exception
  • OAuth
  • PHPMailer
  • POP3
  • SMTP
Psr
Log
  • LoggerAwareInterface
  • LoggerInterface
  • LoggerAwareTrait
  • LoggerTrait
  • AbstractLogger
  • InvalidArgumentException
  • LogLevel
  • NullLogger
Symfony
Component
OptionsResolver
Exception
  • ExceptionInterface
  • AccessException
  • InvalidArgumentException
  • InvalidOptionsException
  • MissingOptionsException
  • NoSuchOptionException
  • OptionDefinitionException
  • UndefinedOptionsException
Tests
  • LegacyOptionsResolverTest
  • LegacyOptionsTest
  • OptionsResolver2Dot6Test
  • Options
  • OptionsResolverInterface
  • OptionsResolver
PropertyAccess
Exception
  • ExceptionInterface
  • AccessException
  • InvalidArgumentException
  • InvalidPropertyPathException
  • NoSuchIndexException
  • NoSuchPropertyException
  • OutOfBoundsException
  • RuntimeException
  • UnexpectedTypeException
Tests
Fixtures
  • NonTraversableArrayObject
  • ReturnTyped
  • TestClass
  • TestClassIsWritable
  • TestClassMagicCall
  • TestClassMagicGet
  • TestClassSetValue
  • Ticket5775Object
  • TraversableArrayObject
  • TypeHinted
  • PropertyAccessorArrayAccessTest
  • PropertyAccessorArrayObjectTest
  • PropertyAccessorArrayTest
  • PropertyAccessorBuilderTest
  • PropertyAccessorCollectionTest
  • PropertyAccessorCollectionTest_Car
  • PropertyAccessorCollectionTest_CarNoAdderAndRemover
  • PropertyAccessorCollectionTest_CarOnlyAdder
  • PropertyAccessorCollectionTest_CarOnlyRemover
  • PropertyAccessorCollectionTest_CarStructure
  • PropertyAccessorCollectionTest_CompositeCar
  • PropertyAccessorNonTraversableArrayObjectTest
  • PropertyAccessorTest
  • PropertyAccessorTraversableArrayObjectTest
  • PropertyPathBuilderTest
  • PropertyPathTest
  • StringUtilTest
  • PropertyAccessorInterface
  • PropertyPathInterface
  • PropertyPathIteratorInterface
  • PropertyAccess
  • PropertyAccessor
  • PropertyAccessorBuilder
  • PropertyPath
  • PropertyPathBuilder
  • PropertyPathIterator
  • StringUtil
Polyfill
Ctype
  • Ctype
Mbstring
  • Mbstring
Twig
Cache
  • CacheInterface
  • FilesystemCache
  • NullCache
Error
  • Error
  • LoaderError
  • RuntimeError
  • SyntaxError
Extension
  • ExtensionInterface
  • GlobalsInterface
  • InitRuntimeInterface
  • RuntimeExtensionInterface
  • AbstractExtension
  • CoreExtension
  • DebugExtension
  • EscaperExtension
  • OptimizerExtension
  • ProfilerExtension
  • SandboxExtension
  • StagingExtension
  • StringLoaderExtension
Loader
  • ExistsLoaderInterface
  • LoaderInterface
  • SourceContextLoaderInterface
  • ArrayLoader
  • ChainLoader
  • FilesystemLoader
Node
Expression
Binary
  • AbstractBinary
  • AddBinary
  • AndBinary
  • BitwiseAndBinary
  • BitwiseOrBinary
  • BitwiseXorBinary
  • ConcatBinary
  • DivBinary
  • EndsWithBinary
  • EqualBinary
  • FloorDivBinary
  • GreaterBinary
  • GreaterEqualBinary
  • InBinary
  • LessBinary
  • LessEqualBinary
  • MatchesBinary
  • ModBinary
  • MulBinary
  • NotEqualBinary
  • NotInBinary
  • OrBinary
  • PowerBinary
  • RangeBinary
  • StartsWithBinary
  • SubBinary
Filter
  • DefaultFilter
Test
  • ConstantTest
  • DefinedTest
  • DivisiblebyTest
  • EvenTest
  • NullTest
  • OddTest
  • SameasTest
Unary
  • AbstractUnary
  • NegUnary
  • NotUnary
  • PosUnary
  • AbstractExpression
  • ArrayExpression
  • AssignNameExpression
  • BlockReferenceExpression
  • CallExpression
  • ConditionalExpression
  • ConstantExpression
  • FilterExpression
  • FunctionExpression
  • GetAttrExpression
  • MethodCallExpression
  • NameExpression
  • NullCoalesceExpression
  • ParentExpression
  • TempNameExpression
  • TestExpression
  • NodeCaptureInterface
  • NodeOutputInterface
  • AutoEscapeNode
  • BlockNode
  • BlockReferenceNode
  • BodyNode
  • CheckSecurityNode
  • DeprecatedNode
  • DoNode
  • EmbedNode
  • FlushNode
  • ForLoopNode
  • ForNode
  • IfNode
  • ImportNode
  • IncludeNode
  • MacroNode
  • ModuleNode
  • Node
  • PrintNode
  • SandboxedPrintNode
  • SandboxNode
  • SetNode
  • SpacelessNode
  • TextNode
  • WithNode
NodeVisitor
  • NodeVisitorInterface
  • AbstractNodeVisitor
  • EscaperNodeVisitor
  • OptimizerNodeVisitor
  • SafeAnalysisNodeVisitor
  • SandboxNodeVisitor
Profiler
Dumper
  • BaseDumper
  • BlackfireDumper
  • HtmlDumper
  • TextDumper
Node
  • EnterProfileNode
  • LeaveProfileNode
NodeVisitor
  • ProfilerNodeVisitor
  • Profile
RuntimeLoader
  • RuntimeLoaderInterface
  • ContainerRuntimeLoader
  • FactoryRuntimeLoader
Sandbox
  • SecurityPolicyInterface
  • SecurityError
  • SecurityNotAllowedFilterError
  • SecurityNotAllowedFunctionError
  • SecurityNotAllowedMethodError
  • SecurityNotAllowedPropertyError
  • SecurityNotAllowedTagError
  • SecurityPolicy
Test
  • IntegrationTestCase
  • NodeTestCase
TokenParser
  • TokenParserInterface
  • AbstractTokenParser
  • AutoEscapeTokenParser
  • BlockTokenParser
  • DeprecatedTokenParser
  • DoTokenParser
  • EmbedTokenParser
  • ExtendsTokenParser
  • FilterTokenParser
  • FlushTokenParser
  • ForTokenParser
  • FromTokenParser
  • IfTokenParser
  • ImportTokenParser
  • IncludeTokenParser
  • MacroTokenParser
  • SandboxTokenParser
  • SetTokenParser
  • SpacelessTokenParser
  • UseTokenParser
  • WithTokenParser
Util
  • DeprecationCollector
  • TemplateDirIterator
  • Compiler
  • Environment
  • ExpressionParser
  • ExtensionSet
  • FileExtensionEscapingStrategy
  • Lexer
  • Markup
  • NodeTraverser
  • Parser
  • Source
  • Template
  • TemplateWrapper
  • Token
  • TokenStream
  • TwigFilter
  • TwigFunction
  • TwigTest
Whoops
Exception
  • ErrorException
  • Formatter
  • Frame
  • FrameCollection
  • Inspector
Handler
  • HandlerInterface
  • CallbackHandler
  • Handler
  • JsonResponseHandler
  • PlainTextHandler
  • PrettyPageHandler
  • XmlResponseHandler
Util
  • HtmlDumperOutput
  • Misc
  • SystemFacade
  • TemplateHelper
  • RunInterface
  • Run
Zxing
Common
CharacterSetEci
AbstractEnum
  • AbstractEnum
Detector
  • MathUtils
  • MonochromeRectangleDetector
Reedsolomon
  • GenericGF
  • GenericGFPoly
  • ReedSolomonDecoder
  • ReedSolomonException
  • BitArray
  • BitMatrix
  • BitSource
  • CharacterSetECI
  • DecoderResult
  • DefaultGridSampler
  • DetectorResult
  • GlobalHistogramBinarizer
  • GridSampler
  • HybridBinarizer
  • PerspectiveTransform
Qrcode
Decoder
  • BitMatrixParser
  • DataBlock
  • DataMask
  • DataMask000
  • DataMask001
  • DataMask010
  • DataMask011
  • DataMask100
  • DataMask101
  • DataMask110
  • DataMask111
  • DecodedBitStreamParser
  • Decoder
  • ECB
  • ECBlocks
  • ErrorCorrectionLevel
  • FormatInformation
  • Mode
  • Version
Detector
  • AlignmentPattern
  • AlignmentPatternFinder
  • Detector
  • FinderPattern
  • FinderPatternFinder
  • FinderPatternInfo
  • QRCodeReader
  • Reader
  • Binarizer
  • BinaryBitmap
  • ChecksumException
  • FormatException
  • GDLuminanceSource
  • IMagickLuminanceSource
  • LuminanceSource
  • NotFoundException
  • PlanarYUVLuminanceSource
  • ReaderException
  • Result
  • ResultPoint
  • RGBLuminanceSource
  • Twig_CacheInterface
  • Twig_ExistsLoaderInterface
  • Twig_Extension_GlobalsInterface
  • Twig_Extension_InitRuntimeInterface
  • Twig_ExtensionInterface
  • Twig_LoaderInterface
  • Twig_NodeCaptureInterface
  • Twig_NodeOutputInterface
  • Twig_NodeVisitorInterface
  • Twig_RuntimeLoaderInterface
  • Twig_Sandbox_SecurityPolicyInterface
  • Twig_SourceContextLoaderInterface
  • Twig_TokenParserInterface
  • QrReader
  • Twig_BaseNodeVisitor
  • Twig_Cache_Filesystem
  • Twig_Cache_Null
  • Twig_Compiler
  • Twig_ContainerRuntimeLoader
  • Twig_Environment
  • Twig_Error
  • Twig_Error_Loader
  • Twig_Error_Runtime
  • Twig_Error_Syntax
  • Twig_ExpressionParser
  • Twig_Extension
  • Twig_Extension_Core
  • Twig_Extension_Debug
  • Twig_Extension_Escaper
  • Twig_Extension_Optimizer
  • Twig_Extension_Profiler
  • Twig_Extension_Sandbox
  • Twig_Extension_Staging
  • Twig_Extension_StringLoader
  • Twig_ExtensionSet
  • Twig_FactoryRuntimeLoader
  • Twig_FileExtensionEscapingStrategy
  • Twig_Filter
  • Twig_Function
  • Twig_Lexer
  • Twig_Loader_Array
  • Twig_Loader_Chain
  • Twig_Loader_Filesystem
  • Twig_Markup
  • Twig_Node
  • Twig_Node_AutoEscape
  • Twig_Node_Block
  • Twig_Node_BlockReference
  • Twig_Node_Body
  • Twig_Node_CheckSecurity
  • Twig_Node_Deprecated
  • 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_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_NullCoalesce
  • 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_SandboxedPrint
  • Twig_Node_Set
  • Twig_Node_Spaceless
  • Twig_Node_Text
  • Twig_Node_With
  • Twig_NodeTraverser
  • Twig_NodeVisitor_Escaper
  • Twig_NodeVisitor_Optimizer
  • Twig_NodeVisitor_SafeAnalysis
  • Twig_NodeVisitor_Sandbox
  • Twig_Parser
  • Twig_Profiler_Dumper_Base
  • Twig_Profiler_Dumper_Blackfire
  • Twig_Profiler_Dumper_Html
  • Twig_Profiler_Dumper_Text
  • Twig_Profiler_Node_EnterProfile
  • Twig_Profiler_Node_LeaveProfile
  • Twig_Profiler_NodeVisitor_Profiler
  • Twig_Profiler_Profile
  • Twig_Sandbox_SecurityError
  • Twig_Sandbox_SecurityNotAllowedFilterError
  • Twig_Sandbox_SecurityNotAllowedFunctionError
  • Twig_Sandbox_SecurityNotAllowedMethodError
  • Twig_Sandbox_SecurityNotAllowedPropertyError
  • Twig_Sandbox_SecurityNotAllowedTagError
  • Twig_Sandbox_SecurityPolicy
  • Twig_SimpleFilter
  • Twig_SimpleFunction
  • Twig_SimpleTest
  • Twig_Source
  • Twig_TemplateWrapper
  • Twig_Test
  • Twig_Test_IntegrationTestCase
  • Twig_Test_NodeTestCase
  • Twig_Token
  • Twig_TokenParser
  • Twig_TokenParser_AutoEscape
  • Twig_TokenParser_Block
  • Twig_TokenParser_Deprecated
  • 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_TokenParser_With
  • Twig_TokenStream
  • Twig_Util_DeprecationCollector
  • Twig_Util_TemplateDirIterator

Gkphp/Library/Traits/Psr4/Symfony/property-access/TestsPropertyAccessorCollectionTest.php

Classes

PropertyAccessorCollectionTest_Car
PropertyAccessorCollectionTest_CarOnlyAdder
PropertyAccessorCollectionTest_CarOnlyRemover
PropertyAccessorCollectionTest_CarNoAdderAndRemover
PropertyAccessorCollectionTest_CompositeCar
PropertyAccessorCollectionTest_CarStructure
PropertyAccessorCollectionTest
Package
\Default

Tags

None found

<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\PropertyAccess\Tests;

class PropertyAccessorCollectionTest_Car
{
    private $axes;

    public function __construct($axes = null)
    {
        $this->axes = $axes;
    }

    // In the test, use a name that StringUtil can't uniquely singularify
    public function addAxis($axis)
    {
        $this->axes[] = $axis;
    }

    public function removeAxis($axis)
    {
        foreach ($this->axes as $key => $value) {
            if ($value === $axis) {
                unset($this->axes[$key]);

                return;
            }
        }
    }

    public function getAxes()
    {
        return $this->axes;
    }
}

class PropertyAccessorCollectionTest_CarOnlyAdder
{
    public function addAxis($axis)
    {
    }

    public function getAxes()
    {
    }
}

class PropertyAccessorCollectionTest_CarOnlyRemover
{
    public function removeAxis($axis)
    {
    }

    public function getAxes()
    {
    }
}

class PropertyAccessorCollectionTest_CarNoAdderAndRemover
{
    public function getAxes()
    {
    }
}

class PropertyAccessorCollectionTest_CompositeCar
{
    public function getStructure()
    {
    }

    public function setStructure($structure)
    {
    }
}

class PropertyAccessorCollectionTest_CarStructure
{
    public function addAxis($axis)
    {
    }

    public function removeAxis($axis)
    {
    }

    public function getAxes()
    {
    }
}

abstract class PropertyAccessorCollectionTest extends PropertyAccessorArrayAccessTest
{
    public function testSetValueCallsAdderAndRemoverForCollections()
    {
        $axesBefore = $this->getContainer(array(1 => 'second', 3 => 'fourth', 4 => 'fifth'));
        $axesMerged = $this->getContainer(array(1 => 'first', 2 => 'second', 3 => 'third'));
        $axesAfter = $this->getContainer(array(1 => 'second', 5 => 'first', 6 => 'third'));
        $axesMergedCopy = \is_object($axesMerged) ? clone $axesMerged : $axesMerged;

        // Don't use a mock in order to test whether the collections are
        // modified while iterating them
        $car = new PropertyAccessorCollectionTest_Car($axesBefore);

        $this->propertyAccessor->setValue($car, 'axes', $axesMerged);

        $this->assertEquals($axesAfter, $car->getAxes());

        // The passed collection was not modified
        $this->assertEquals($axesMergedCopy, $axesMerged);
    }

    public function testSetValueCallsAdderAndRemoverForNestedCollections()
    {
        $car = $this->getMockBuilder(__CLASS__.'_CompositeCar')->getMock();
        $structure = $this->getMockBuilder(__CLASS__.'_CarStructure')->getMock();
        $axesBefore = $this->getContainer(array(1 => 'second', 3 => 'fourth'));
        $axesAfter = $this->getContainer(array(0 => 'first', 1 => 'second', 2 => 'third'));

        $car->expects($this->any())
            ->method('getStructure')
            ->will($this->returnValue($structure));

        $structure->expects($this->at(0))
            ->method('getAxes')
            ->will($this->returnValue($axesBefore));
        $structure->expects($this->at(1))
            ->method('removeAxis')
            ->with('fourth');
        $structure->expects($this->at(2))
            ->method('addAxis')
            ->with('first');
        $structure->expects($this->at(3))
            ->method('addAxis')
            ->with('third');

        $this->propertyAccessor->setValue($car, 'structure.axes', $axesAfter);
    }

    /**
     * @expectedException \Symfony\Component\PropertyAccess\Exception\NoSuchPropertyException
     * @expectedExceptionMessage Neither the property "axes" nor one of the methods "addAx()"/"removeAx()", "addAxe()"/"removeAxe()", "addAxis()"/"removeAxis()", "setAxes()", "axes()", "__set()" or "__call()" exist and have public access in class "Mock_PropertyAccessorCollectionTest_CarNoAdderAndRemover
     */
    public function testSetValueFailsIfNoAdderNorRemoverFound()
    {
        $car = $this->getMockBuilder(__CLASS__.'_CarNoAdderAndRemover')->getMock();
        $axesBefore = $this->getContainer(array(1 => 'second', 3 => 'fourth'));
        $axesAfter = $this->getContainer(array(0 => 'first', 1 => 'second', 2 => 'third'));

        $car->expects($this->any())
            ->method('getAxes')
            ->will($this->returnValue($axesBefore));

        $this->propertyAccessor->setValue($car, 'axes', $axesAfter);
    }

    public function testIsWritableReturnsTrueIfAdderAndRemoverExists()
    {
        $car = $this->getMockBuilder(__CLASS__.'_Car')->getMock();
        $this->assertTrue($this->propertyAccessor->isWritable($car, 'axes'));
    }

    public function testIsWritableReturnsFalseIfOnlyAdderExists()
    {
        $car = $this->getMockBuilder(__CLASS__.'_CarOnlyAdder')->getMock();
        $this->assertFalse($this->propertyAccessor->isWritable($car, 'axes'));
    }

    public function testIsWritableReturnsFalseIfOnlyRemoverExists()
    {
        $car = $this->getMockBuilder(__CLASS__.'_CarOnlyRemover')->getMock();
        $this->assertFalse($this->propertyAccessor->isWritable($car, 'axes'));
    }

    public function testIsWritableReturnsFalseIfNoAdderNorRemoverExists()
    {
        $car = $this->getMockBuilder(__CLASS__.'_CarNoAdderAndRemover')->getMock();
        $this->assertFalse($this->propertyAccessor->isWritable($car, 'axes'));
    }

    /**
     * @expectedException \Symfony\Component\PropertyAccess\Exception\NoSuchPropertyException
     * expectedExceptionMessageRegExp /The property "axes" in class "Mock_PropertyAccessorCollectionTest_Car[^"]*" can be defined with the methods "addAxis()", "removeAxis()" but the new value must be an array or an instance of \Traversable, "string" given./
     */
    public function testSetValueFailsIfAdderAndRemoverExistButValueIsNotTraversable()
    {
        $car = $this->getMockBuilder(__CLASS__.'_Car')->getMock();

        $this->propertyAccessor->setValue($car, 'axes', 'Not an array or Traversable');
    }
}

  • \App
  • \BaconQrCode
  • \Endroid
  • \GK
  • \Medoo
  • \Monolog
  • \MyCLabs
  • \PHPMailer
  • \Psr
  • \Symfony
  • \Twig
  • \Whoops
  • \Zxing

  • Class Hierarchy Diagram

  • Errors
  • Markers

Documentation is powered by phpDocumentor and authored on July 31st, 2019 at 09:07.