예제 #1
0
	function testSetDefaultItems() {
		$f = new CheckboxSetField(
			'Test', 
			false, 
			array(0 => 'Zero', 1 => 'One', 2 => 'Two', 3 => 'Three')
		);
		
		$f->setValue(array(0,1));
		$f->setDefaultItems(array(2));
		$p = new CSSContentParser($f->Field());
		$item0 = $p->getBySelector('#Test_0');
		$item1 = $p->getBySelector('#Test_1');
		$item2 = $p->getBySelector('#Test_2');
		$item3 = $p->getBySelector('#Test_3');
		$this->assertEquals(
			(string)$item0[0]['checked'],
			'checked',
			'Selected through value'
		);
		$this->assertEquals(
			(string)$item1[0]['checked'],
			'checked',
			'Selected through value'
		);
		$this->assertEquals(
			(string)$item2[0]['checked'],
			'checked',
			'Selected through default items'
		);
		$this->assertEquals(
			(string)$item3[0]['checked'],
			'',
			'Not selected by either value or default items'
		);
	}
	function testAddExtraClass() {
		/* CheckboxSetField has an extra class name and is in the HTML the field returns */
		$cboxSetField = new CheckboxSetField('FeelingOk', 'Are you feeling ok?', array(0 => 'No', 1 => 'Yes'), '', null, '(Select one)');
		$cboxSetField->addExtraClass('thisIsMyExtraClassForCheckboxSetField');
		preg_match('/thisIsMyExtraClassForCheckboxSetField/', $cboxSetField->Field(), $matches);
		$this->assertTrue($matches[0] == 'thisIsMyExtraClassForCheckboxSetField');
	}
 public function Field($properties = array())
 {
     Requirements::javascript(FORM_EXTRAS_PATH . '/javascript/CheckboxSetOtherField.js');
     $field = parent::Field($properties);
     return $field;
 }
 public function Field()
 {
     $this->getSource();
     //die($this->Link('findOrAdd'));
     //Requirements::javascript(THIRDPARTY_DIR."/jquery-livequery/jquery.livequery.js");
     Requirements::javascript(MOD_QA_DIR . '/javascript/quickAddField.js');
     Requirements::CSS(MOD_QA_DIR . '/css/quickaddfield.css');
     if ($this->fieldType == 'CheckboxSetField') {
         $selectAll = '';
         if ($this->selectAll) {
             $selectAll = '<a class="selectAll" href="#">Select All</a>';
         }
         return $selectAll . CheckboxSetField::Field();
     }
     return parent::Field();
 }
 public function testSafelyCast()
 {
     $member = new Member();
     $member->FirstName = '<firstname>';
     $member->Surname = '<surname>';
     $member->write();
     $field1 = new CheckboxSetField('Options', 'Options', array('one' => 'One', 'two' => 'Two & Three', 'three' => DBField::create_field('HTMLText', 'Four &amp; Five &amp; Six'), $member));
     $fieldHTML = (string) $field1->Field();
     $this->assertContains('One', $fieldHTML);
     $this->assertContains('Two &amp; Three', $fieldHTML);
     $this->assertNotContains('Two & Three', $fieldHTML);
     $this->assertContains('Four &amp; Five &amp; Six', $fieldHTML);
     $this->assertNotContains('Four & Five & Six', $fieldHTML);
     $this->assertContains('&lt;firstname&gt;', $fieldHTML);
     $this->assertNotContains('<firstname>', $fieldHTML);
 }