From 8fae78b1b3e5820a31d7ada1ffd5987da3263505 Mon Sep 17 00:00:00 2001 From: Guy Halse <guy@tenet.ac.za> Date: Tue, 29 May 2018 16:43:30 +0200 Subject: [PATCH] Consent: unit test setting of instance private vars --- .../consent/lib/Auth/Process/ConsentTest.php | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/tests/modules/consent/lib/Auth/Process/ConsentTest.php b/tests/modules/consent/lib/Auth/Process/ConsentTest.php index 97534dc43..c0c03cae5 100644 --- a/tests/modules/consent/lib/Auth/Process/ConsentTest.php +++ b/tests/modules/consent/lib/Auth/Process/ConsentTest.php @@ -179,4 +179,39 @@ class ConsentTest extends TestCase "Hash is not the same when the order of the attributs changes and the values are not included" ); } + + public function testConstructorSetsInstancePrivateVars() + { + $reflection = new \ReflectionClass('\sspmod_consent_Auth_Process_Consent'); + + foreach (array( + '_includeValues', '_checked', '_focus', '_hiddenAttributes', '_noconsentattributes', '_showNoConsentAboutService' + ) as $v) { + $instanceVars[$v] = $reflection->getProperty($v); + $instanceVars[$v]->setAccessible(true); + } + + /* these just need to be different to the default values */ + $config = array( + 'includeValues' => true, + 'checked' => true, + 'focus' => 'yes', + 'hiddenAttributes' => array('attribute1', 'attribute2'), + 'attributes.exclude' => array('attribute1', 'attribute2'), + 'showNoConsentAboutService' => false, + ); + + $testcase = $reflection->newInstance($config, null); + + $this->assertEquals($instanceVars['_includeValues']->getValue($testcase), $config['includeValues']); + $this->assertEquals($instanceVars['_checked']->getValue($testcase), $config['checked']); + $this->assertEquals($instanceVars['_focus']->getValue($testcase), $config['focus']); + $this->assertEquals($instanceVars['_hiddenAttributes']->getValue($testcase), $config['hiddenAttributes']); + $this->assertEquals($instanceVars['_noconsentattributes']->getValue($testcase), $config['attributes.exclude']); + $this->assertEquals($instanceVars['_showNoConsentAboutService']->getValue($testcase), $config['showNoConsentAboutService']); + + $deprecated = $reflection->newInstance(array('noconsentattributes' => $config['attributes.exclude'],), null); + $this->assertEquals($instanceVars['_noconsentattributes']->getValue($deprecated), $config['attributes.exclude']); + + } } -- GitLab