| [ Index ] |
PHP Cross Reference of Limb3 |
[Summary view] [Print] [Text view]
1 <?php 2 /* 3 * Limb PHP Framework 4 * 5 * @link http://limb-project.com 6 * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com) 7 * @license LGPL http://www.gnu.org/copyleft/lesser.html 8 */ 9 lmb_require(dirname(__FILE__) . '/lmbValidationRuleTestCase.class.php'); 10 lmb_require('limb/validation/src/rule/lmbDomainRule.class.php'); 11 12 class lmbDomainRuleTest extends lmbValidationRuleTestCase 13 { 14 function testDomainRule() 15 { 16 $rule = new lmbDomainRule('testfield'); 17 18 $dataspace = new lmbSet(array('testfield' => 'sourceforge.net')); 19 20 $this->error_list->expectNever('addError'); 21 22 $rule->validate($dataspace, $this->error_list); 23 } 24 25 function testDomainRuleBlank() 26 { 27 $rule = new lmbDomainRule('testfield'); 28 29 $dataspace = new lmbSet(array('testfield' => '')); 30 31 $this->error_list->expectNever('addError'); 32 33 $rule->validate($dataspace, $this->error_list); 34 } 35 36 function testDomainRuleBadCharacters() 37 { 38 $rule = new lmbDomainRule('testfield'); 39 40 $dataspace = new lmbSet(array('testfield' => 'source#&%forge.net')); 41 42 $this->error_list->expectOnce('addError', 43 array(lmb_i18n('{Field} must contain only letters, numbers, hyphens, and periods.', 'validation'), 44 array('Field'=>'testfield'), 45 array())); 46 47 $rule->validate($dataspace, $this->error_list); 48 } 49 50 function testDomainRuleDoubleHyphens() 51 { 52 $rule = new lmbDomainRule('testfield'); 53 54 $dataspace = new lmbSet(array('testfield' => 'source--forge.net')); 55 56 $this->error_list->expectOnce('addError', 57 array(lmb_i18n('{Field} may not contain double hyphens (--).', 'validation'), 58 array('Field'=>'testfield'), 59 array())); 60 61 $rule->validate($dataspace, $this->error_list); 62 } 63 64 function testDomainRuleTooLarge() 65 { 66 $rule = new lmbDomainRule('testfield'); 67 68 $segment = "abcdefg-hijklmnop-qrs-tuv-wx-yz-ABCDEFG-HIJKLMNOP-QRS-TUV-WX-YZ-0123456789"; 69 70 $dataspace = new lmbSet(); 71 $dataspace->set('testfield', $segment . '.net'); 72 73 $this->error_list->expectOnce('addError', 74 array(lmb_i18n('{Field} segment {segment} is too large (it must be 63 characters or less).', 'validation'), 75 array('Field'=>'testfield'), 76 array('segment'=>$segment))); 77 78 $rule->validate($dataspace, $this->error_list); 79 } 80 81 function testDomainHyphenBegin() 82 { 83 $rule = new lmbDomainRule('testfield'); 84 85 $segment = "-sourceforge"; 86 87 $dataspace = new lmbSet(); 88 $dataspace->set('testfield', $segment . '.net'); 89 90 $this->error_list->expectOnce('addError', 91 array(lmb_i18n('{Field} segment {segment} may not begin or end with a hyphen.', 'validation'), 92 array('Field'=>'testfield'), 93 array('segment'=>$segment))); 94 95 $rule->validate($dataspace, $this->error_list); 96 } 97 98 function testDomainRuleHyphenEnd() 99 { 100 $rule = new lmbDomainRule('testfield'); 101 102 $segment = "sourceforge-"; 103 104 $dataspace = new lmbSet(); 105 $dataspace->set('testfield', $segment . '.net'); 106 107 $this->error_list->expectOnce('addError', 108 array(lmb_i18n('{Field} segment {segment} may not begin or end with a hyphen.', 'validation'), 109 array('Field'=>'testfield'), 110 array('segment'=>$segment))); 111 112 $rule->validate($dataspace, $this->error_list); 113 } 114 115 function testDomainRuleCombination() 116 { 117 $rule = new lmbDomainRule('testfield'); 118 119 $dataspace = new lmbSet(); 120 $dataspace->set('testfield', '.n..aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.'); 121 122 $this->error_list->expectCallCount('addError', 4); 123 124 $this->error_list->expectArgumentsAt(0, 125 'addError', 126 array(lmb_i18n('{Field} cannot start with a period.', 'validation'), 127 array('Field'=>'testfield'), 128 array())); 129 130 $this->error_list->expectArgumentsAt(1, 131 'addError', 132 array(lmb_i18n('{Field} cannot end with a period.', 'validation'), 133 array('Field'=>'testfield'), 134 array())); 135 136 $this->error_list->expectArgumentsAt(2, 137 'addError', 138 array(lmb_i18n('{Field} may not contain double periods (..).', 'validation'), 139 array('Field'=>'testfield'), 140 array())); 141 142 $this->error_list->expectArgumentsAt(3, 143 'addError', 144 array(lmb_i18n('{Field} segment {segment} is too large (it must be 63 characters or less).', 'validation'), 145 array('Field'=>'testfield'), 146 array('segment' => 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'))); 147 148 $rule->validate($dataspace, $this->error_list); 149 } 150 151 function testDomainRuleDoubleDomain() 152 { 153 $rule = new lmbDomainRule('testfield'); 154 155 $dataspace = new lmbSet(); 156 $dataspace->set('testfield', 'microsoft.co.uk'); 157 158 $this->error_list->expectNever('addError'); 159 160 $rule->validate($dataspace, $this->error_list); 161 } 162 163 function testDomainRuleLocalDomain() 164 { 165 $rule = new lmbDomainRule('testfield'); 166 167 $dataspace = new lmbSet(); 168 $dataspace->set('testfield', 'localhost'); 169 170 $this->error_list->expectNever('addError'); 171 172 $rule->validate($dataspace, $this->error_list); 173 } 174 } 175 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Tue Dec 2 03:54:09 2008 | Cross-referenced by PHPXref 0.7 |