Commit 5c342a3c authored by Ghislain Loas's avatar Ghislain Loas
Browse files

Merge remote-tracking branch 'refs/remotes/origin/master' into...

Merge remote-tracking branch 'refs/remotes/origin/master' into dev#59224_miop_mot_de_passe_adherent_bokeh_koha
parents 3e204ecf 210c6b73
Pipeline #4029 failed with stage
in 32 minutes and 21 seconds
26/04/2018 - v7.12.16
- ticket #74650 : Explorateur de fichiers : amélioration de la gestion des extensions de fichiers pouvant enrichir un contenu.
- ticket #74673 : Administration : correction du formulaire de modification des albums dans une popup.
- ticket #74638 : Administration : Boîte article : correction de l'affichage des propriétés "nombre d'article à afficher" et "nombre à analyser"
24/04/2018 - v7.12.13 v7.12.14 v7.12.15
- ticket #72285 : correction: si une zone de lien contient une URL relative, le lien reste relatif
- ticket #74605 : Administration : correction de l'ajout d'images dans les articles.
23/04/2018 - v7.12.12
- ticket #74541 : Administration : correction de l'affichage de la popup des listes de fonctionnalités
......
......@@ -1084,4 +1084,15 @@ class Class_AdminVar extends Storm_Model_Abstract {
public function matchRoleLevel($role_level) {
return ($role_level >= $this->getMeta()->getAttribute('role_level', ZendAfi_Acl_AdminControllerRoles::SUPER_ADMIN));
}
public static function getSelectableExtensions() {
$extensions = Class_AdminVar::getValueOrDefault('SELECTABLE_EXTENSIONS')
. ';'
. Class_AdminVar::getValueOrDefault('ALLOWED_FILES_EXTENSIONS_FOR_IMPORT');
$extensions = explode(';', $extensions);
$extensions = array_unique(array_filter($extensions));
return implode(';', $extensions);
}
}
\ No newline at end of file
......@@ -137,13 +137,36 @@ class Class_FileManager extends Class_Entity {
}
public static function find($path) {
public static function find($url_or_path) {
if(!$path = static::_findPathIn($url_or_path))
return;
return ($item = static::directory($path))
? $item
: static::file($path);
}
protected static function _findPathIn($url_or_path) {
if(!$url_or_path)
return;
if(!is_string($url_or_path))
return;
if(!Class_Url::isAnUrl($url_or_path))
return $url_or_path;
if(!$url = Class_Url::absolute($url_or_path))
return;
if(!$absolute = Class_Url::absolute('/'))
return;
return str_replace($absolute , '', $url);
}
public static function delete($item) {
if (!$item)
return true;
......@@ -358,7 +381,7 @@ class Class_FileManager extends Class_Entity {
return false;
if ('all' == $extensions)
$extensions = Class_AdminVar::get('SELECTABLE_EXTENSIONS');
$extensions = Class_AdminVar::getSelectableExtensions();
$selectable = array_map('strtolower', explode(';', $extensions));
return in_array(strtolower($this->getExtension()), $selectable);
......
......@@ -146,6 +146,9 @@ class Class_Notice_Urls {
protected function _ensureHttp($link) {
if (substr($link, 0, 1) === '/')
return $link;
return (substr(strtoupper($link), 0, 4) != 'HTTP') ?
'http://' . $link : $link;
}
......
......@@ -99,7 +99,8 @@ class Class_Notice_Xsl {
public function getXslFileUrl() {
$settings = $this->_profile->getCfgModulesPreferences('recherche', 'viewnotice', $this->_record->getTypeDoc());
$settings = $this->_profile->getCfgModulesPreferences('recherche', 'viewnotice', $this->_record->getTypeDoc());
if(!$settings)
return;
......
......@@ -87,6 +87,20 @@ class Class_Url {
}
public static function isAnUrl($string) {
if(!$string)
return false;
if(!is_string($string))
return false;
if('/' === substr($string, 0, 1))
return true;
return 'http' === substr($string, 0, 4);
}
protected static function _isSecure() {
return array_key_exists('HTTPS', $_SERVER)
&& $_SERVER['HTTPS']
......
......@@ -70,13 +70,12 @@ class ZendAfi_Controller_Plugin_Manager_Album extends ZendAfi_Controller_Plugin_
public function addalbumtoAction() {
$categorie = '';
$title = 'Ajouter un album';
if ($categorie = Class_AlbumCategorie::find((int)$this->_getParam('id')))
$title .= ' dans la collection "' . $categorie->getLibelle() . '"';
$categorie = ($categorie = Class_AlbumCategorie::find((int)$this->_getParam('id')))
? $categorie
: Class_AlbumCategorie::defaultCategory();
$this->_renderAlbumForm(
Class_Album::newInstance()->setCategorie($categorie), $title);
$this->_renderAlbumForm(Class_Album::newInstance()->setCategorie($categorie),
$this->_('Ajouter un album dans la collection "%s"', $categorie->getLibelle()));
}
......@@ -389,9 +388,13 @@ class ZendAfi_Controller_Plugin_Manager_Album extends ZendAfi_Controller_Plugin_
protected function _albumForm($album) {
$form = ZendAfi_Form_Album::newWithAlbum($album);
$bib_id_param = [];
if(!$this->_getParam('title_search'))
$bib_id_param = ['cat_id' => $album->getCatId()];
$form->addAttribs(['data-backurl' => $this->_view->url(array_filter(array_merge(['action' => 'index'], $bib_id_param)))]);
$form->setAction($this->_view->url());
$form->addAttribs(['data-backurl' => $this->_view->url(array_filter(array_merge(['action' => 'index'],
$bib_id_param)))]);
return $form;
}
......
......@@ -46,7 +46,7 @@ class ZendAfi_Controller_Plugin_Manager_FileManager extends ZendAfi_Controller_P
},
'label' => $this->_('Sélectionner "%s"', $model->getName()),
'anchorOptions' => array_filter(['title' => $this->_('Sélectionner "%s"', $model->getName()),
'onclick' => "$(this).selectItemForCKEditor('" . str_replace(["'", '"'], ['%27', '%22'], $model->getId()) . "');"])],
'onclick' => "$(this).selectItemForCKEditor('" . str_replace(["'", '"'], ['%27', '%22'], Class_Url::relative($model->getPath())) . "');"])],
['url' => ['action' => 'create',
'into' => $model->getId()],
......
......@@ -34,14 +34,14 @@ class ZendAfi_View_Helper_CkEditor extends ZendAfi_View_Helper_BaseHelper
'?' .
http_build_query(['full_screen' => 1,
'browser' => 'userfiles/file',
'selectable_extensions' => Class_AdminVar::get('ALLOWED_FILES_EXTENSIONS_FOR_IMPORT')]);
'selectable_extensions' => Class_AdminVar::getSelectableExtensions()]);
$config['filebrowserImageBrowseUrl'] = $this->view->url(['module' => 'admin',
'controller' => 'file-manager'], null, true) .
'?' .
http_build_query(['full_screen' => 1,
'browser' => 'userfiles/image',
'selectable_extensions' => Class_AdminVar::get('SELECTABLE_EXTENSIONS')]);
'selectable_extensions' => Class_AdminVar::getSelectableExtensions()]);
$config['filebrowserFlashBrowseUrl'] = $this->view->url(['module' => 'admin',
'controller' => 'file-manager'], null, true) .
......
......@@ -23,13 +23,11 @@
class ZendAfi_View_Helper_CoreFiveFileInput extends ZendAfi_View_Helper_BaseHelper {
public function CoreFiveFileInput($name, $value, $folder, $type = 'Images', $attribs = []) {
$banniere_dir = USERFILESPATH . "/$folder/";
if (!is_dir($banniere_dir))
mkdir($banniere_dir);
$dir = USERFILESPATH . "/$folder/";
if (!is_dir($dir))
mkdir($dir);
$extensions = ($type == 'Images')
? Class_AdminVar::get('SELECTABLE_EXTENSIONS')
: Class_AdminVar::get('ALLOWED_FILES_EXTENSIONS_FOR_IMPORT');
$extensions = Class_AdminVar::getSelectableExtensions();
$c5_url = $this->view->url(['module' => 'admin',
'controller' => 'file-manager'], null, true) .
......
......@@ -82,7 +82,7 @@ class Bokeh_Engine {
function setupConstants() {
defineConstant('BOKEH_MAJOR_VERSION','7.12');
defineConstant('BOKEH_RELEASE_NUMBER', BOKEH_MAJOR_VERSION . '.12');
defineConstant('BOKEH_RELEASE_NUMBER', BOKEH_MAJOR_VERSION . '.16');
defineConstant('BOKEH_REMOTE_FILES', 'http://git.afi-sa.fr/afi/opacce/');
......
......@@ -191,22 +191,22 @@ function radioToggleVisibilityForElement(eventSourceSelector, objectToShowSelect
visibleForValues = [visibleForValues];
return toggleVisibilityForElement(eventSourceSelector,
objectToShowSelector,
function(element) {
return ($(element).attr('checked') == 'checked') && (0 <= $.inArray(element.val(), visibleForValues));
});
objectToShowSelector,
function(element) {
return $(element).is(':checked') && (0 <= $.inArray(element.val(), visibleForValues));
});
}
function checkBoxToggleVisibilityForElement(eventSourceSelector, objectToShowSelector, visibleWhenChecked) {
return toggleVisibilityForElement(eventSourceSelector,
objectToShowSelector,
function(element) {
function(element) {
if(visibleWhenChecked)
return $(element).is(':checked');
return !$(element).is(':checked');
});
});
}
......
......@@ -591,8 +591,8 @@ class Admin_AlbumControllerAddAlbumToPatrimoineTest extends Admin_AlbumControlle
/** @test */
public function formActionShouldBeEmpty() {
$this->assertXPath("//form[@action='']");
public function formActionShouldContainsModuleActionAndParams() {
$this->assertXPath("//form[contains(@action, '/admin/album/add_album_to/id/38')]");
}
......@@ -1363,8 +1363,8 @@ class Admin_AlbumControllerEditAlbumMesBDTest extends Admin_AlbumControllerEditA
/** @test */
public function formActionShouldBeEmpty() {
$this->assertXPath("//form[@action='']");
public function formActionShouldContainsModuleActionAndParams() {
$this->assertXPath("//form[contains(@action, '/admin/album/edit_album/id/43')]");
}
......@@ -1642,6 +1642,24 @@ class Admin_AlbumControllerEditAlbumMesBDAsPopupTest extends Admin_AlbumControll
(new Storm_Test_XPath())->assertNotXPath($content, '//input[@name="fichier"]');
}
public function getDispatchUrlPopupAndParams() {
return [
['/admin/album/edit_album/id/43/render/popup', 'id/43'],
['/admin/album/edit_album/id/43/id_notice/8/render/popup', 'id/43/id_notice/8']
];
}
/**
* @dataProvider getDispatchUrlAndParams
* @test
**/
public function formActionShouldContainsUrlParams($url, $params) {
$this->dispatch($url, true);
$content = json_decode($this->_response->getBody())->content;
(new Storm_Test_XPath())->assertXPath($content, '//form[contains(@action, "' . $params . '")]');
}
}
......
......@@ -123,31 +123,31 @@ abstract class FileManagerControllerTestCase extends Admin_AbstractControllerTes
->setDir(true);
$disk = $this->mock()
->whenCalled('diskSpaceInfo')
->answers((new Class_Entity)
->setFree('2 GO')
->setUsed('153 GO')
->setTotal('155 GO')
->setPercent('99%')
->whenCalledDo('isFull', function(){return false;}))
->whenCalled('diskSpaceInfo')
->answers((new Class_Entity)
->setFree('2 GO')
->setUsed('153 GO')
->setTotal('155 GO')
->setPercent('99%')
->whenCalledDo('isFull', function(){return false;}))
->whenCalled('clearCache')
->answers(true)
->whenCalled('clearCache')
->answers(true)
->whenCalled('isOversized')
->answers(false)
->whenCalled('isOversized')
->answers(false)
->whenCalled('directoriesAt')
->with('userfiles')
->answers([$this->_dir])
->whenCalled('directoriesAt')
->with('userfiles')
->answers([$this->_dir])
->whenCalled('directoryAt')
->with('userfiles')
->answers($this->_userfiles_dir)
->whenCalled('directoryAt')
->with('userfiles')
->answers($this->_userfiles_dir)
->whenCalled('filesAt')
->with('userfiles')
->answers([]);
->whenCalled('filesAt')
->with('userfiles')
->answers([]);
Class_FileManager::setFileSystem($disk);
}
......@@ -1595,7 +1595,7 @@ class FileManagerControllerWithSpecialCharTest extends FileManagerControllerTest
/** @test */
public function selectButtonShouldBePresent() {
$this->assertXPathContentContains('//div//a[contains(@onclick, "$(this).selectItemForCKEditor(")][contains(@onclick, "selectItemForCKEditor(\'userfiles/my %27direct%22ory/new%27_ima%22ge.jpg")]', 'Sélectionner');
$this->assertXPathContentContains('//div//a[contains(@onclick, "$(this).selectItemForCKEditor(")][contains(@onclick, "/userfiles/my %27direct%22ory/new%27_ima%22ge.jpg")]', 'Sélectionner');
}
......@@ -1657,4 +1657,68 @@ class FileManagerControllerRigthsOnPathTest extends ModelTestCase {
public function checkRightsOnPath($has_right, $path) {
$this->assertEquals($has_right, Class_FileManager::userHasRightOnPath($path));
}
}
class FileManagerControllerFindTest extends ModelTestCase {
protected
$old_server_name,
$_storm_default_to_volatile = true;
public function setUp() {
parent::setUp();
$this->_initPhpMode();
$admin = $this->fixture('Class_Users',
['id' => 3,
'login' => 'admin',
'password' => 'admin']);
$admin->beAdminPortail();
ZendAfi_Auth::getInstance()->logUser($admin);
}
protected function _initPhpMode() {
Class_Url::setPhpMode('apache');
}
public function getUrlAndPaths() {
$this->_initPhpMode();
return [
['userfiles', 'userfiles'],
['/userfiles', 'userfiles'],
['userfiles/image', 'userfiles/image'],
[Class_Url::relative('userfiles/image'), 'userfiles/image'],
[Class_Url::absolute('userfiles/image'), 'userfiles/image'],
['', null],
[null, null],
[[], null],
[Class_Url::relative('/'), null],
[Class_Url::absolute('/'), null],
[['module' => 'admin',
'controller' => 'index',
'action' => 'index',
'userfiles' => 'image'], null]
];
}
/**
* @dataProvider getUrlAndPaths
* @test
*/
public function findShouldReturnExpectedFiles($path_or_url, $file_path) {
$file = Class_FileManager::find($path_or_url);
if($file == $file_path && $file == null)
return $this->assertTrue(true);
if(!$file)
$this->fail('no file find @ ' . $path_or_url . '. Path expected : ' . $file_path);
$this->assertEquals($file_path, $file->getPath());
}
}
\ No newline at end of file
......@@ -319,7 +319,7 @@ class BibNumeriqueContollerDilicomConsultBookWithErrorsActionTest extends BibNum
class BibNumeriqueControllerDilicomLoanBookActionTestCase extends BibNumeriqueContollerDilicomTestCase {
abstract class BibNumeriqueControllerDilicomLoanBookActionTestCase extends BibNumeriqueContollerDilicomTestCase {
public function setUp() {
parent::setUp();
$_SERVER['HTTP_REFERER'] = '/viewnotice/id/3';
......
......@@ -57,7 +57,7 @@ class JavaControllerWidthDefaultKiosqueTest extends AbstractControllerTestCase {
class JavaControllerCarrouselHorizontalTestCase extends AbstractControllerTestCase {
abstract class JavaControllerCarrouselHorizontalTestCase extends AbstractControllerTestCase {
public function setUp() {
parent::setUp();
$this->fixture('Class_Profil',
......
......@@ -29,7 +29,7 @@ abstract class RecordCustomLinksTestCase extends AbstractControllerTestCase {
$this->fixture('Class_Notice',
['id' => 999,
'type_doc' => 1,
'unimarc' => '02096nam0 22002651 450 0010008000000100034000080730018000421000041000602000038001012100035001392150042001742250011002163301160002274100037013876070043014246760007014677000032014748010038015068010028015449020019015729020010015919030006016019330103016079330120017100662324 a978-2-7491-4106-0d18,80 Ð  |a2-7491-4106-0 a20140623d2014 u u0frey50 ba1 aLa TerreurfPatrick Wald Lasowski aPariscCherche midi (Le)d2014 a345 p.cjaquette ill. en coul.d21 cm| aStyles aMars 1793. Un homme s\'interroge. Malade, rongé par le cancer qu\'il soigne en mêlant grains d\'opium et verres de ratafia, le commissaire Grand-Jacques découvre les effets de la Terreur mise à l\'ordre du jour. Que veulent-ils ? Qu\'est-ce qui les fait danser, les Enragés, les Indulgents, les missionnaires, les juges et les jurés du Tribunal révolutionnaire et la meute des lécheurs de guillotine qui attend le passage des condamnés ? Est-ce une puissance de mort ou de vie ? Est-ce un charnier ou un berceau ? Et lui-même, Grand-Jacques, qui poursuit ses enquêtes ordinaires, assisté de ses deux lieutenants, Chêneville et Cloüet, qu\'attend-il des mois qui lui restent à vivre ? Du moins y a-t-il les moments partagés avec son ami mélomane, Bruiant Fauve-Roussel, et les rêves que suscite Adeline, la fille galante de la maison voisine, aux yeux charbonnés et aux lèvres gourmandes. Voilà pourtant qu\'une série de crimes d\'une extrême violence relance son désir de justice, au-delà de la pitié. Le vieux limier se met en quête. Parmi les victimes quotidiennes de la Terreur, ces prostituées assassinées sont des mortes de trop. 030527714tStylescLe Cherche midi aFrancez1789-1799 (Révolution)xRoman aRP 1aWald LasowskibPatrick4070 3aFrbLibrairie Dialoguesc20140623 2aFRbBDP Yonnec20141017 aRoman policier aRoman am 3http://www.pagedeslibraires.fr/livre-6236/la-terreur.htmlaVoir la chronique de Page des libraires 3http://www.lepoint.fr/livres/la-terreur-cinq-meurtres-de-trop-14-09-2014-1863005_37.phpaVoir la chronique du Point']);
'unimarc' => file_get_contents(ROOT_PATH.'/tests/fixtures/unimarc_laterreur.txt')]);
Class_Profil::getCurrentProfil()
->setCfgModules(['recherche' => ['viewnotice1' => ['links_zones' => '933-3-a']]]);
......@@ -97,7 +97,7 @@ class RecordCustomLinksRechercheControllerTest extends RecordCustomLinksTestCase
/** @test */
public function linkToPageDesLibrairesFrShouldBePresent() {
$this->assertXPathContentContains('//a[contains(@href, "www.pagedeslibraires.fr/livre-6236/la-terreur.html")]',
$this->assertXPathContentContains('//a[contains(@href, "http://www.pagedeslibraires.fr/livre-6236/la-terreur.html")]',
'Voir la chronique de Page des libraires',
$this->_response->getBody());
}
......@@ -105,7 +105,7 @@ class RecordCustomLinksRechercheControllerTest extends RecordCustomLinksTestCase
/** @test */
public function linkToLePointFrShouldBePresent() {
$this->assertXPathContentContains('//a[contains(@href, "www.lepoint.fr/livres/la-terreur-cinq-meurtres-de-trop")]',
$this->assertXPathContentContains('//a[contains(@href, "http://www.lepoint.fr/livres/la-terreur-cinq-meurtres-de-trop")]',
'Voir la chronique du Point',
$this->_response->getBody());
}
......@@ -140,5 +140,37 @@ class RecordCustomLinksRechercheControllerWithBrazilTest extends RecordCustomLin
public function onlyOneLinkShouldContainsFragile() {
$this->assertXPathCount('//dd//a[contains(text(), "Fragile")]', 1, $this->_response->getBody());
}
}
class RecordCustomLinksRechercheControllerWithBackToFutureTest extends RecordCustomLinksTestCase {
public function setUp() {
parent::setUp();
$record = $this->fixture('Class_Album',
['id' => 1,
'titre' => 'Back to future',
'visible' => 1,
'type_doc_id' => 100,
'status' => Class_Album::STATUS_VALIDATED,
'notes' => [['field' => '933',
'data' => ['a' => 'external pdf',
'3' => '/userfiles/back.pdf']]]])
->index()
->getNotice();
Class_Profil::getCurrentProfil()
->setCfgModules(['recherche' => ['viewnotice100' => ['links_zones' => '933-3-a']]]);
$this->dispatch('/opac/noticeajax/detail/id_notice/' . $record->getId(), true);
}
/** @test */
public function linkExternalPDFShouldBeRelative() {
$this->assertXPathContentContains('//a[@href="/userfiles/back.pdf"]',
'external pdf',
$this->_response->getBody());
}
}
\ No newline at end of file
02096nam0 22002651 450 0010008000000100034000080730018000421000041000602000038001012100035001392150042001742250011002163301160002274100037013876070043014246760007014677000032014748010038015068010028015449020019015729020010015919030006016019330103016079330120017100662324 a978-2-7491-4106-0d18,80 Ð  |a2-7491-4106-0 a20140623d2014 u u0frey50 ba1 aLa TerreurfPatrick Wald Lasowski aPariscCherche midi (Le)d2014 a345 p.cjaquette ill. en coul.d21 cm| aStyles aMars 1793. Un homme s'interroge. Malade, rongé par le cancer qu'il soigne en mêlant grains d'opium et verres de ratafia, le commissaire Grand-Jacques découvre les effets de la Terreur mise à l'ordre du jour. Que veulent-ils ? Qu'est-ce qui les fait danser, les Enragés, les Indulgents, les missionnaires, les juges et les jurés du Tribunal révolutionnaire et la meute des lécheurs de guillotine qui attend le passage des condamnés ? Est-ce une puissance de mort ou de vie ? Est-ce un charnier ou un berceau ? Et lui-même, Grand-Jacques, qui poursuit ses enquêtes ordinaires, assisté de ses deux lieutenants, Chêneville et Cloüet, qu'attend-il des mois qui lui restent à vivre ? Du moins y a-t-il les moments partagés avec son ami mélomane, Bruiant Fauve-Roussel, et les rêves que suscite Adeline, la fille galante de la maison voisine, aux yeux charbonnés et aux lèvres gourmandes. Voilà pourtant qu'une série de crimes d'une extrême violence relance son désir de justice, au-delà de la pitié. Le vieux limier se met en quête. Parmi les victimes quotidiennes de la Terreur, ces prostituées assassinées sont des mortes de trop. 030527714tStylescLe Cherche midi aFrancez1789-1799 (Révolution)xRoman aRP 1aWald LasowskibPatrick4070 3aFrbLibrairie Dialoguesc20140623 2aFRbBDP Yonnec20141017 aRoman policier aRoman am 3http://www.pagedeslibraires.fr/livre-6236/la-terreur.htmlaVoir la chronique de Page des libraires 3http://www.lepoint.fr/livres/la-terreur-cinq-meurtres-de-trop-14-09-2014-18630
05_37.phpaVoir la chronique du Point
\ No newline at end of file
......@@ -20,7 +20,7 @@
*/
class PhaseNoticeTestCase extends Class_Cosmogramme_Integration_PhaseTestCase {
abstract class PhaseNoticeTestCase extends Class_Cosmogramme_Integration_PhaseTestCase {
protected $_phase, $_service_runner;
public function setUp() {
......
......@@ -24,20 +24,21 @@ require_once 'ZendAfi/View/Helper/CkEditor.php';
class CkEditorWithFormulaireEnabledTest extends ViewHelperTestCase {
public function setUp() {
parent::setUp();
$this->_helper = new ZendAfi_View_Helper_CkEditor();
$this->_helper->setView(new ZendAfi_Controller_Action_Helper_View());
if (!defined('URL_CSS'))
define('URL_CSS','');
Class_AdminVar::newInstanceWithId('CMS_FORMULAIRES')->setValeur(1);
$this->_html=$this->_helper->ckeditor('','','');
}
/** @test **/
public function cmsFormulaireOptionEnabledShouldDisplayFormulaire() {
$this->assertContains('HiddenField',$this->_html);
}
public function setUp() {
parent::setUp();
$this->_helper = new ZendAfi_View_Helper_CkEditor();
$this->_helper->setView($this->view);
if (!defined('URL_CSS'))
define('URL_CSS','');
Class_AdminVar::newInstanceWithId('CMS_FORMULAIRES')->setValeur(1);
$this->_html=$this->_helper->ckeditor('','','');
}
/** @test **/
public function cmsFormulaireOptionEnabledShouldDisplayFormulaire() {
$this->assertContains('HiddenField',$this->_html);
}
}
......@@ -46,22 +47,22 @@ class CkEditorWithFormulaireEnabledTest extends ViewHelperTestCase {
class CkEditorWithFormulaireDisabledTest extends ViewHelperTestCase {
public function setUp() {
parent::setUp();
$this->_helper = new ZendAfi_View_Helper_CkEditor();
$this->_helper->setView(new ZendAfi_Controller_Action_Helper_View());
if (!defined('URL_CSS'))
define('URL_CSS','');
public function setUp() {
parent::setUp();
$this->_helper = new ZendAfi_View_Helper_CkEditor();
$this->_helper->setView(new ZendAfi_Controller_Action_Helper_View());
if (!defined('URL_CSS'))
define('URL_CSS','');
Class_AdminVar::newInstanceWithId('CMS_FORMULAIRES')->setValeur(0);
$this->_html=$this->_helper->ckeditor('','','');
}