$t->is($p->getEscaping(), 'on', '->initialize() takes an array of options as its third argument');
$t->is($p->getEscapingMethod(), ESC_RAW, '->initialize() takes an array of options as its third argument');
// ->isEscaped()
$t->diag('->isEscaped()');
$p->setEscaping('on');
$t->is($p->isEscaped(), true, '->isEscaped() returns true if data will be escaped');
$p->setEscaping('off');
$t->is($p->isEscaped(), false, '->isEscaped() returns false if data won\'t be escaped');
// ->getEscaping() ->setEscaping()
$t->diag('->getEscaping() ->setEscaping()');
$p->initialize($dispatcher);
$p->setEscaping('on');
$t->is($p->getEscaping(), 'on', '->setEscaping() changes the escaping strategy');
// ->getEscapingMethod() ->setEscapingMethod()
$t->diag('->getEscapingMethod() ->setEscapingMethod()');
$p->setEscapingMethod('ESC_RAW');
$t->is($p->getEscapingMethod(), ESC_RAW, '->setEscapingMethod() changes the escaping method');
$p->setEscapingMethod('');
$t->is($p->getEscapingMethod(), '', '->getEscapingMethod() returns an empty value if the method is empty');
try {
    $p->setEscapingMethod('nonexistant');
    $p->getEscapingMethod();
    $t->fail('->getEscapingMethod() throws an InvalidArgumentException if the escaping method does not exist');
} catch (InvalidArgumentException $e) {
    $t->pass('->getEscapingMethod() throws an InvalidArgumentException if the escaping method does not exist');
}
// ->toArray()
$t->diag('->toArray()');
$p->initialize($dispatcher, array('foo' => 'bar'));
$a = $p->toArray();
$t->is($a['foo'], 'bar', '->toArray() returns an array representation of the parameter holder');