示例#1
0
 /**
  * Sets up the fixture, for example, open a network connection.
  * This method is called before a test is executed.
  *
  * @return void
  */
 public function setUp()
 {
     $registry = Zend_Registry::getInstance();
     if (isset($registry['Zend_Dojo_View_Helper_Dojo'])) {
         unset($registry['Zend_Dojo_View_Helper_Dojo']);
     }
     Zend_Dojo_View_Helper_Dojo::setUseProgrammatic(true);
     $view = new Zend_View();
     Zend_Dojo::enableView($view);
     $this->helper = new My_View_Helper_SimpleTextarea();
     $this->helper->setView($view);
 }
示例#2
0
 /**
  * Sets up the fixture, for example, open a network connection.
  * This method is called before a test is executed.
  *
  * @return void
  */
 public function setUp()
 {
     $registry = Zend_Registry::getInstance();
     if (isset($registry['Zend_Dojo_View_Helper_Dojo'])) {
         unset($registry['Zend_Dojo_View_Helper_Dojo']);
     }
     Zend_Dojo_View_Helper_Dojo::setUseProgrammatic(true);
     $this->view = new Zend_View();
     Zend_Dojo::enableView($this->view);
     $this->view->addHelperPath('My/View/Helper/', 'My_View_Helper');
     $this->element = new My_Form_Element_SimpleTextarea('foo');
     $this->element->setView($this->view);
 }
示例#3
0
 protected function _initDojo()
 {
     $this->bootstrap('view');
     $view = $this->getResource('view');
     $view->addHelperPath('Zend/Dojo/View/Helper/', 'Zend_Dojo_View_Helper');
     $view->dojo()->setLocalPath('/js/dojo/dojo.js');
     $view->dojo()->addStylesheetModule('dijit.themes.tundra');
     $view->dojo()->setDjConfigOption('usePlainJson', true);
     $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
     $viewRenderer->setView($view);
     Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
     Zend_Dojo_View_Helper_Dojo::setUseProgrammatic();
 }
示例#4
0
 public function testShouldAllowProgrammaticDijitCreation()
 {
     Zend_Dojo_View_Helper_Dojo::setUseProgrammatic();
     $html = $this->getElement();
     $this->assertNotRegexp('/<input[^>]*(dojoType="dijit.form.ValidationTextBox")/', $html);
     $this->assertNotNull($this->view->dojo()->getDijit('elementId'));
 }
示例#5
0
 public function testShouldAllowProgrammaticDijitCreation()
 {
     Zend_Dojo_View_Helper_Dojo::setUseProgrammatic();
     $html = $this->getContainer();
     $this->assertNotRegexp('/<div[^>]*(dojoType="dijit.layout.TabContainer")/', $html);
     $this->assertNotNull($this->view->dojo()->getDijit('container'));
 }
示例#6
0
 /**
  * @group ZF-5987
  * @group ZF-7266
  */
 public function testStoreCreationWhenUsingProgrammaticCreationShouldRegisterAsDojoJavascript()
 {
     Zend_Dojo_View_Helper_Dojo::setUseProgrammatic(true);
     $html = $this->getElementAsRemoter();
     $js = $this->view->dojo()->getJavascript();
     $this->assertContains('var stateStore;', $js);
     $onLoad = $this->view->dojo()->_getZendLoadActions();
     $storeDeclarationFound = false;
     foreach ($onLoad as $statement) {
         if (strstr($statement, 'stateStore = new ')) {
             $storeDeclarationFound = true;
             break;
         }
     }
     $this->assertTrue($storeDeclarationFound, 'Store definition not found');
 }
示例#7
0
 /**
  * @group ZF-7134
  * @group ZF-7266
  */
 public function testComboBoxInSubFormShouldCreateJsonStoreBasedOnQualifiedId()
 {
     Zend_Dojo_View_Helper_Dojo::setUseProgrammatic();
     $this->element->setStoreId('foo')->setStoreType('dojo.data.ItemFileReadStore')->setStoreParams(array('url' => '/foo'));
     include_once 'Zend/Form/SubForm.php';
     $subform = new Zend_Form_SubForm(array('name' => 'bar'));
     $subform->addElement($this->element);
     $html = $this->element->render();
     $dojo = $this->view->dojo()->__toString();
     $this->assertContains('"store":"foo"', $dojo, $dojo);
 }
示例#8
0
 public function testShouldAllowProgrammaticDijitCreation()
 {
     Zend_Dojo_View_Helper_Dojo::setUseProgrammatic();
     $html = $this->getElement();
     $this->assertNotRegexp('/<div[^>]*(dojoType="dijit.form.HorizontalSlider")/', $html);
     $this->assertNotNull($this->view->dojo()->getDijit('elementId-slider'));
 }
示例#9
0
 public function testShouldAllowProgrammaticDijitCreation()
 {
     Zend_Dojo_View_Helper_Dojo::setUseProgrammatic();
     $html = $this->getForm();
     $this->assertNotRegexp('/<form[^>]*(dojoType="dijit.form.Form")/', $html);
     $this->assertNotNull($this->view->dojo()->getDijit('myForm'));
 }
示例#10
0
 public function testHelperInProgrammaticModeShouldGenerateDivWithoutPassedDojoType()
 {
     Zend_Dojo_View_Helper_Dojo::setUseProgrammatic();
     $content = $this->view->customDijit('foo', 'content', array('dojoType' => 'custom.Dijit'));
     $this->assertNotContains('dojoType="custom.Dijit"', $content);
 }
 public function testInvalidFlagPassedToUseProgrammaticShouldUseProgrammaticWithScripts()
 {
     Zend_Dojo_View_Helper_Dojo::setUseProgrammatic('foo');
     $this->assertFalse(Zend_Dojo_View_Helper_Dojo::useProgrammaticNoScript());
     $this->assertTrue(Zend_Dojo_View_Helper_Dojo::useProgrammatic());
 }
    public function testShouldAllowProgrammaticDijitCreationAsRemoter()
    {
        Zend_Dojo_View_Helper_Dojo::setUseProgrammatic();
        $html = $this->getElementAsRemoter();
        $this->assertNotRegexp('/<input[^>]*(dojoType="dijit.form.FilteringSelect")/', $html);
        $this->assertRegexp('/<input[^>]*(type="text")/', $html);
        $this->assertNotNull($this->view->dojo()->getDijit('elementId'));

        $found = false;
        $scripts = $this->view->dojo()->getJavascript();
        foreach ($scripts as $js) {
            if (strstr($js, 'var stateStore;')) {
                $found = true;
                break;
            }
        }
        $this->assertTrue($found, 'No store declaration found: ' . var_export($scripts, 1));
    }
示例#13
0
 /**
  * @group ZF-3877
  */
 public function testContentPaneMarkupShouldNotContainNameAttribute()
 {
     $html = $this->view->contentPane('pane1', 'This is the pane content', array('id' => 'pane', 'title' => 'Pane 1'));
     $this->assertNotContains('name="/', $html, $html);
     Zend_Dojo_View_Helper_Dojo::setUseProgrammatic();
     $html = $this->view->contentPane('pane1', 'This is the pane content', array('id' => 'pane', 'title' => 'Pane 1'));
     $this->assertNotContains('name="/', $html, $html);
 }
示例#14
0
 public function testShouldAllowSpecifyingProgrammaticDijitCreationWithNoScriptGeneration()
 {
     $this->testShouldUseDeclarativeDijitCreationByDefault();
     Zend_Dojo_View_Helper_Dojo::setUseProgrammatic(-1);
     $this->assertTrue(Zend_Dojo_View_Helper_Dojo::useProgrammatic());
     $this->assertTrue(Zend_Dojo_View_Helper_Dojo::useProgrammaticNoScript());
 }