first import
This commit is contained in:
104
sites/all/modules/multiform/tests/multiform.test
Normal file
104
sites/all/modules/multiform/tests/multiform.test
Normal file
@@ -0,0 +1,104 @@
|
||||
<?php
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
*
|
||||
*
|
||||
* @author Kálmán Hosszu - hosszu.kalman@gmail.com - http://premiumcmsthemes.com http://www.kalman-hosszu.com
|
||||
*/
|
||||
|
||||
class MultiformTestCase extends DrupalWebTestCase {
|
||||
|
||||
/**
|
||||
* Info method.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function getInfo() {
|
||||
return array(
|
||||
'name' => 'Forms functionality',
|
||||
'description' => 'Testing multiform functionality.' ,
|
||||
'group' => 'Multiform',
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Overriden setUp function.
|
||||
*/
|
||||
public function setUp() {
|
||||
parent::setUp('multiform', 'multiform_test');
|
||||
}
|
||||
|
||||
/**
|
||||
* Check various submit ops.
|
||||
*/
|
||||
public function testSubmitHandling() {
|
||||
// Go to the form page.
|
||||
$this->drupalGet('multiform-test/1');
|
||||
|
||||
// Check buttons.
|
||||
$this->assertFieldByName('op', 'save');
|
||||
$this->assertFieldByName('op', 'delete');
|
||||
|
||||
// No more buttons.
|
||||
$submitButtons = $this->xpath('//input[@type="submit" and @name!="op"]');
|
||||
$this->assertEqual(count($submitButtons), 0, t('No more submit button.'));
|
||||
|
||||
// Save button.
|
||||
$this->drupalPost(NULL, array(), 'save');
|
||||
$this->assertText('multiform_test1_1multiform_test1_submit_button', t('First form save message is found.'));
|
||||
$this->assertText('multiform_test1_2multiform_test1_submit_button', t('Second form save message is found.'));
|
||||
|
||||
// Delete button.
|
||||
$this->drupalPost(NULL, array(), 'delete');
|
||||
$this->assertText('multiform_test1_1multiform_test1_delete_button', t('First form delete message is found.'));
|
||||
$this->assertText('multiform_test1_2multiform_test1_delete_button', t('Second form delete message is found.'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Check the merged fields exist.
|
||||
*/
|
||||
public function testFieldsAreExist() {
|
||||
// Go to the form page.
|
||||
$this->drupalGet('multiform-test/2');
|
||||
|
||||
// Check textfields.
|
||||
$this->assertFieldByName('multiform[multiform_test2_1_0][required_text_1]');
|
||||
$this->assertFieldByName('multiform[multiform_test2_2_1][required_text_2]');
|
||||
|
||||
// Check button.
|
||||
$this->assertFieldByName('op', 'save');
|
||||
}
|
||||
|
||||
/**
|
||||
* Check required fields.
|
||||
*/
|
||||
public function testRequiredFields() {
|
||||
$first_text = array('multiform[multiform_test2_1_0][required_text_1]' => 'test1 value');
|
||||
$second_text = array('multiform[multiform_test2_2_1][required_text_2]' => 'test2 value');
|
||||
// No required fields.
|
||||
$this->drupalPost('multiform-test/2', array(), 'save');
|
||||
$this->assertText('test1 field is required.');
|
||||
$this->assertText('test2 field is required.');
|
||||
$this->assertNoText('multiform_test2_1multiform_test2_submit_button');
|
||||
$this->assertNoText('multiform_test2_2multiform_test2_submit_button');
|
||||
|
||||
// Send all required fields.
|
||||
$this->drupalPost(NULL, array_merge($first_text, $second_text), 'save');
|
||||
$this->assertText('multiform_test2_1multiform_test2_submit_button');
|
||||
$this->assertText('multiform_test2_2multiform_test2_submit_button');
|
||||
$this->assertNoText('test1 field is required.');
|
||||
$this->assertNoText('test2 field is required.');
|
||||
|
||||
// Send first form's required field.
|
||||
$this->drupalPost(NULL, $first_text, 'save');
|
||||
$this->assertNoText('multiform_test2_1multiform_test2_submit_button');
|
||||
$this->assertText('test2 field is required.');
|
||||
|
||||
// Send second form's required field.
|
||||
$this->drupalPost(NULL, $second_text, 'save');
|
||||
$this->assertNoText('multiform_test2_2multiform_test2_submit_button');
|
||||
$this->assertText('test1 field is required.');
|
||||
}
|
||||
|
||||
}
|
14
sites/all/modules/multiform/tests/multiform_test.info
Normal file
14
sites/all/modules/multiform/tests/multiform_test.info
Normal file
@@ -0,0 +1,14 @@
|
||||
name = Multiform test
|
||||
description = Handle module for testing Multiform
|
||||
core = 7.x
|
||||
|
||||
dependencies[] = multiform
|
||||
hidden = TRUE
|
||||
|
||||
files[] = multiform_test.module
|
||||
; Information added by drupal.org packaging script on 2012-01-29
|
||||
version = "7.x-1.0"
|
||||
core = "7.x"
|
||||
project = "multiform"
|
||||
datestamp = "1327823749"
|
||||
|
171
sites/all/modules/multiform/tests/multiform_test.module
Normal file
171
sites/all/modules/multiform/tests/multiform_test.module
Normal file
@@ -0,0 +1,171 @@
|
||||
<?php
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
*
|
||||
*
|
||||
* @author Kálmán Hosszu - hosszu.kalman@gmail.com - http://premiumcmsthemes.com http://www.kalman-hosszu.com
|
||||
*/
|
||||
|
||||
/* ====================== */
|
||||
/* ==== DRUPAL HOOKS ==== */
|
||||
/* ====================== */
|
||||
|
||||
/**
|
||||
* Implementation of hook_menu().
|
||||
*
|
||||
* @return An array of menu items.
|
||||
*/
|
||||
function multiform_test_menu() {
|
||||
$items = array();
|
||||
|
||||
$items['multiform-test/1'] = array(
|
||||
'title' => 'Multiform test page 1',
|
||||
'page callback' => 'multiform_get_form',
|
||||
'page arguments' => array(array('multiform_test1_1'), array('multiform_test1_2')),
|
||||
'access callback' => TRUE,
|
||||
'type' => MENU_CALLBACK,
|
||||
);
|
||||
|
||||
$items['multiform-test/2'] = array(
|
||||
'title' => 'Multiform test page 2',
|
||||
'page callback' => 'multiform_get_form',
|
||||
'page arguments' => array(array('multiform_test2_1'), array('multiform_test2_2')),
|
||||
'access callback' => TRUE,
|
||||
'type' => MENU_CALLBACK,
|
||||
);
|
||||
|
||||
return $items;
|
||||
}
|
||||
|
||||
|
||||
/* ====================== */
|
||||
/* == MODULE FUNCTIONS == */
|
||||
/* ====================== */
|
||||
|
||||
/* FIRST TEST CASE */
|
||||
|
||||
/**
|
||||
* Build multiform_test1_1 form.
|
||||
*
|
||||
* @param type $form
|
||||
* @param type $form_state
|
||||
* @return array
|
||||
*/
|
||||
function multiform_test1_1($form, $form_state) {
|
||||
$form['submit'] = array(
|
||||
'#type' => 'submit',
|
||||
'#value' => 'save',
|
||||
'#submit' => array('multiform_test1_submit_button'),
|
||||
);
|
||||
|
||||
$form['delete'] = array(
|
||||
'#type' => 'submit',
|
||||
'#value' => 'delete',
|
||||
'#submit' => array('multiform_test1_delete_button'),
|
||||
);
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build multiform_test1_2 form.
|
||||
*
|
||||
* @param type $form
|
||||
* @param type $form_state
|
||||
* @return string
|
||||
*/
|
||||
function multiform_test1_2($form, $form_state) {
|
||||
$form['submit'] = array(
|
||||
'#type' => 'submit',
|
||||
'#value' => 'save',
|
||||
'#submit' => array('multiform_test1_submit_button'),
|
||||
);
|
||||
|
||||
$form['delete'] = array(
|
||||
'#type' => 'submit',
|
||||
'#value' => 'delete',
|
||||
'#submit' => array('multiform_test1_delete_button'),
|
||||
);
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Submit handing.
|
||||
*
|
||||
* @param type $form
|
||||
* @param type $form_state
|
||||
*/
|
||||
function multiform_test1_submit_button($form, $form_state) {
|
||||
drupal_set_message($form['#form_id'] . 'multiform_test1_submit_button');
|
||||
}
|
||||
|
||||
/**
|
||||
* Handling delete.
|
||||
*
|
||||
* @param type $form
|
||||
* @param type $form_state
|
||||
*/
|
||||
function multiform_test1_delete_button($form, $form_state) {
|
||||
drupal_set_message($form['#form_id'] . 'multiform_test1_delete_button');
|
||||
}
|
||||
|
||||
|
||||
/* SECOND TEST CASE */
|
||||
|
||||
/**
|
||||
* Build multiform_test2_1 form.
|
||||
*
|
||||
* @param type $form
|
||||
* @param type $form_state
|
||||
* @return array
|
||||
*/
|
||||
function multiform_test2_1($form, $form_state) {
|
||||
$form['required_text_1'] = array(
|
||||
'#type' => 'textfield',
|
||||
'#title' => 'test1',
|
||||
'#required' => TRUE,
|
||||
);
|
||||
|
||||
$form['submit'] = array(
|
||||
'#type' => 'submit',
|
||||
'#value' => 'save',
|
||||
'#submit' => array('multiform_test2_submit_button'),
|
||||
);
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build multiform_test2_2 form.
|
||||
*
|
||||
* @param type $form
|
||||
* @param type $form_state
|
||||
* @return array
|
||||
*/
|
||||
function multiform_test2_2($form, $form_state) {
|
||||
$form['required_text_2'] = array(
|
||||
'#type' => 'textfield',
|
||||
'#title' => 'test2',
|
||||
'#required' => TRUE,
|
||||
);
|
||||
|
||||
$form['submit'] = array(
|
||||
'#type' => 'submit',
|
||||
'#value' => 'save',
|
||||
'#submit' => array('multiform_test2_submit_button'),
|
||||
);
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Submit handing.
|
||||
*
|
||||
* @param type $form
|
||||
* @param type $form_state
|
||||
*/
|
||||
function multiform_test2_submit_button($form, $form_state) {
|
||||
drupal_set_message($form['#form_id'] . 'multiform_test2_submit_button');
|
||||
}
|
Reference in New Issue
Block a user