From c3606cac9411d12c9094fb932090829bffd53dac Mon Sep 17 00:00:00 2001 From: llaffont <llaffont@git-test.afi-sa.fr> Date: Mon, 10 Dec 2012 13:36:13 +0000 Subject: [PATCH] =?UTF-8?q?Correction=20validation=20OAI=20avec=20attribut?= =?UTF-8?q?=20mal=20form=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/Class/Xml/Builder.php | 2 +- .../controllers/OAIControllerGetRecordTest.php | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/library/Class/Xml/Builder.php b/library/Class/Xml/Builder.php index 6ed15d5a476..afb735f95c6 100644 --- a/library/Class/Xml/Builder.php +++ b/library/Class/Xml/Builder.php @@ -54,7 +54,7 @@ class Class_Xml_Builder { public function attributesToString($attributes) { $attribs = ''; foreach ($attributes as $k => $v) - $attribs .= ' ' . $k . '="' . $v . '"'; + $attribs .= ' ' . $k . '="' . htmlentities($v, ENT_COMPAT|ENT_XML1) . '"'; return $attribs; } diff --git a/tests/application/modules/opac/controllers/OAIControllerGetRecordTest.php b/tests/application/modules/opac/controllers/OAIControllerGetRecordTest.php index 9039fd5d518..ae4a6b4a461 100644 --- a/tests/application/modules/opac/controllers/OAIControllerGetRecordTest.php +++ b/tests/application/modules/opac/controllers/OAIControllerGetRecordTest.php @@ -34,6 +34,8 @@ abstract class OAIControllerGetRecordTestCase extends AbstractControllerTestCase } + + class OAIControllerGetRecordNoIdentifierTest extends OAIControllerGetRecordTestCase { public function setUp() { parent::setUp(); @@ -57,6 +59,8 @@ class OAIControllerGetRecordNoIdentifierTest extends OAIControllerGetRecordTestC } + + class OAIControllerGetRecordNoMetadataPrefixTest extends OAIControllerGetRecordTestCase { public function setUp() { parent::setUp(); @@ -81,6 +85,7 @@ class OAIControllerGetRecordNoMetadataPrefixTest extends OAIControllerGetRecordT + class OAIControllerGetRecordNotFoundParamsTest extends OAIControllerGetRecordTestCase { public function setUp() { parent::setUp(); @@ -90,7 +95,7 @@ class OAIControllerGetRecordNotFoundParamsTest extends OAIControllerGetRecordTes ->with('harrypotter-sorciers') ->answers(null); - $this->dispatch('/opac/oai/request?verb=GetRecord&metadataPrefix=oai_dc&identifier=harrypotter-sorciers', true); + $this->dispatch('/opac/oai/request?verb=GetRecord&metadataPrefix=oai_dc&identifier=harrypotter-sorciers\"id', true); $this->_xml = $this->_response->getBody(); } @@ -98,7 +103,7 @@ class OAIControllerGetRecordNotFoundParamsTest extends OAIControllerGetRecordTes /** @test */ public function requestVerbShouldBeGetRecord() { $this->_xpath->assertXpath($this->_xml, - '//oai:request[@verb="GetRecord"][@identifier="harrypotter-sorciers"][@metadataPrefix="oai_dc"]'); + '//oai:request[@verb="GetRecord"][contains(@identifier, "harrypotter-sorciers")][@metadataPrefix="oai_dc"]'); } @@ -110,6 +115,8 @@ class OAIControllerGetRecordNotFoundParamsTest extends OAIControllerGetRecordTes } + + class OAIControllerGetRecordNotSupportedPrefixTest extends OAIControllerGetRecordTestCase { public function setUp() { parent::setUp(); @@ -143,6 +150,8 @@ class OAIControllerGetRecordNotSupportedPrefixTest extends OAIControllerGetRecor } + + class OAIControllerGetRecordValidParamsTest extends OAIControllerGetRecordTestCase { public function setUp() { parent::setUp(); @@ -212,5 +221,4 @@ class OAIControllerGetRecordValidParamsTest extends OAIControllerGetRecordTestCa self::OAI_RECORD_PATH . 'oai:metadata', 1); } - } \ No newline at end of file -- GitLab