public function testSPLIT_PATTERN_OBJECTDEFINITION()
{
$pattern = Parser::SPLIT_PATTERN_OBJECTDEFINITION;
$expected = array(0 => 'foo.bar = Test', 'ObjectPath' => 'foo.bar', 1 => 'foo.bar', 'Operator' => '=', 2 => '=', 'Value' => 'Test', 3 => 'Test');
$this->assertRegexMatches('foo.bar = Test', $pattern, $expected, 'Simple assignment');
$expected = array(0 => 'foo.\'@bar\' = Test', 'ObjectPath' => 'foo.\'@bar\'', 1 => 'foo.\'@bar\'', 'Operator' => '=', 2 => '=', 'Value' => 'Test', 3 => 'Test');
$this->assertRegexMatches('foo.\'@bar\' = Test', $pattern, $expected, 'Simple assignment with single quoted key');
$expected = array(0 => 'foo."@bar" = Test', 'ObjectPath' => 'foo."@bar"', 1 => 'foo."@bar"', 'Operator' => '=', 2 => '=', 'Value' => 'Test', 3 => 'Test');
$this->assertRegexMatches('foo."@bar" = Test', $pattern, $expected, 'Simple assignment with double quoted key');
$expected = array(0 => 'foo.prototype(TYPO3.Blah).bar = Test', 'ObjectPath' => 'foo.prototype(TYPO3.Blah).bar', 1 => 'foo.prototype(TYPO3.Blah).bar', 'Operator' => '=', 2 => '=', 'Value' => 'Test', 3 => 'Test');
$this->assertRegexMatches('foo.prototype(TYPO3.Blah).bar = Test', $pattern, $expected, 'Prototype Object assignment');
$expected = array(0 => 'prototype(TYPO3.Blah).bar = Test', 'ObjectPath' => 'prototype(TYPO3.Blah).bar', 1 => 'prototype(TYPO3.Blah).bar', 'Operator' => '=', 2 => '=', 'Value' => 'Test', 3 => 'Test');
$this->assertRegexMatches('prototype(TYPO3.Blah).bar = Test', $pattern, $expected, 'Prototype Object assignment at root object');
$expected = array();
$this->assertRegexMatches('prototype(TYPO3.Blah) {', $pattern, $expected, 'Prototype Object assignment at root object');
}