'4 < 9'), array('lessThanExpression'=>'4 < 9') ), array( array(array('lessThanExpression'=>'4 < 9')), array(array('lessThanExpression'=>'4 < 9')) ), array( array(array('lessThanExpression'=>'4 < 9'), 'greaterThanExpression'=>'4 > 9'), array(array('lessThanExpression'=>'4 < 9'), 'greaterThanExpression'=>'4 > 9') ) ); } /** * @dataProvider providerEncodeArray * * @param type $data * @param type $assertion */ public function testEncodeArray($data, $assertion) { $this->assertEquals($assertion, CHtml::encodeArray($data)); } /* Javascript generator tests */ public static function providerAjax() { return array( array(array("url" => "index"), "jQuery.ajax({'url':'index','cache':false});"), array(array("url" => "index", "success" => "function() { this.alert(\"HI\"); }"), "jQuery.ajax({'url':'index','success':function() { this.alert(\"HI\"); },'cache':false});"), array(array("async" => true, "success" => "function() { this.alert(\"HI\"); }"), "jQuery.ajax({'async':true,'success':function() { this.alert(\"HI\"); },'url':location.href,'cache':false});"), array(array("update" =>"#my-div", "success" => "function() { this.alert(\"HI\"); }"), "jQuery.ajax({'success':function() { this.alert(\"HI\"); },'url':location.href,'cache':false});"), array(array("update" =>"#my-div"), "jQuery.ajax({'url':location.href,'cache':false,'success':function(html){jQuery(\"#my-div\").html(html)}});"), array(array("replace" =>"#my-div", "success" => "function() { this.alert(\"HI\"); }"), "jQuery.ajax({'success':function() { this.alert(\"HI\"); },'url':location.href,'cache':false});"), array(array("replace" =>"#my-div"), "jQuery.ajax({'url':location.href,'cache':false,'success':function(html){jQuery(\"#my-div\").replaceWith(html)}});") ); } /** * @dataProvider providerAjax * * @param type $options * @param type $assertion */ public function testAjax($options, $assertion) { $this->assertEquals($assertion, CHtml::ajax($options)); } /* DOM element generated from model attribute tests */ public static function providerActiveDOMElements() { return array( array(new CHtmlTestModel(array('attr1'=>true)), 'attr1', array(), ''), array(new CHtmlTestModel(array('attr1'=>false)), 'attr1', array(), '') ); } /** * @dataProvider providerActiveDOMElements * * @param string $action * @param string $method * @param array $htmlOptions * @param string $assertion */ public function testActiveCheckbox($model,$attribute,$htmlOptions, $assertion) { $this->assertEquals($assertion, CHtml::activeCheckBox($model,$attribute,$htmlOptions)); } /* Static DOM element generator tests */ public static function providerBeginForm() { return array( array("index", "get", array(), '