MDL-38719 forms: add some missing types.
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Tue, 26 Mar 2013 11:13:40 +0000 (12:13 +0100)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Tue, 26 Mar 2013 11:13:40 +0000 (12:13 +0100)
This just adds some missing types to different places
causing phpunit tests to fail.

cache/forms.php
lib/tests/formslib_test.php

index 542e7a0..9708a01 100644 (file)
@@ -49,7 +49,9 @@ class cachestore_addinstance_form extends moodleform {
         $locks = $this->_customdata['locks'];
 
         $form->addElement('hidden', 'plugin', $plugin);
+        $form->setType('plugin', PARAM_PLUGIN);
         $form->addElement('hidden', 'editing', !empty($this->_customdata['store']));
+        $form->setType('editing', PARAM_BOOL);
 
         if (!$store) {
             $form->addElement('text', 'name', get_string('storename', 'cache'));
@@ -59,6 +61,7 @@ class cachestore_addinstance_form extends moodleform {
         } else {
             $form->addElement('hidden', 'name', $store);
             $form->addElement('static', 'name-value', get_string('storename', 'cache'), $store);
+            $form->setType('name', PARAM_TEXT);
         }
 
         if (is_array($locks)) {
@@ -214,4 +217,4 @@ class cache_mode_mappings_form extends moodleform {
 
         $this->add_action_buttons();
     }
-}
\ No newline at end of file
+}
index b4bebf3..4ed5930 100644 (file)
@@ -204,7 +204,12 @@ class formslib_test_form extends moodleform {
         $repeatels = array(
             $this->_form->createElement('text', 'text', 'Type something')
         );
-        $this->repeat_elements($repeatels, 2, array(), 'numtexts', 'addtexts');
+        // TODO: The repeat_elements() is far from perfect. Everything should be
+        // repeated auto-magically by default with options only defining exceptions.
+        // Surely this is caused because we are storing some element information OUT
+        // from the element (type...) at form level. Anyway, the method should do its
+        // work better, no matter of that.
+        $this->repeat_elements($repeatels, 2, array('text' => array('type' => PARAM_RAW)), 'numtexts', 'addtexts');
 
         $this->_form->addElement('radio', 'radio', 'Label', 'Choice label', 'choice_value');
 
@@ -217,4 +222,4 @@ class formslib_test_form extends moodleform {
         );
         $this->repeat_elements($repeatels, 3, array(), 'numradios', 'addradios');
     }
-}
\ No newline at end of file
+}