[ Index ]

PHP Cross Reference of Web Application Component Toolkit

title

Body

[close]

/tests/cases/validation/rules/ -> domain.test.php (source)

   1  <?php
   2  /**
   3  * @package WACT_TESTS
   4  * @version $Id: domain.test.php,v 1.3 2004/11/12 21:25:20 jeffmoore Exp $
   5  */
   6  
   7  require_once  'singlefield.inc.php';
   8  require_once WACT_ROOT . 'validation/rules/domain.inc.php';
   9  
  10  class DomainRuleTestCase extends SingleFieldRuleTestCase {
  11      function DomainRuleTestCase($name = 'DomainRuleTestCase') {
  12          $this->UnitTestCase($name);
  13      }
  14      function testDomainRule() {
  15          $this->validator->addRule(new DomainRule('testfield'));
  16  
  17          $Data =& new DataSpace();
  18          $Data->set('testfield', 'sourceforge.net');
  19  
  20          $this->ErrorList->expectNever('addError');
  21  
  22          $this->validator->validate($Data);
  23          $this->assertTrue($this->validator->IsValid());
  24      }
  25      function testDomainRuleBlank() {
  26          $this->validator->addRule(new DomainRule('testfield'));
  27  
  28          $Data =& new DataSpace();
  29          $Data->set('testfield', '');
  30  
  31          $this->ErrorList->expectNever('addError');
  32  
  33          $this->validator->validate($Data);
  34          $this->assertTrue($this->validator->IsValid());
  35      }
  36      function testDomainRuleBadCharacters() {
  37          $this->validator->addRule(new DomainRule('testfield'));
  38  
  39          $Data =& new DataSpace();
  40          $Data->set('testfield', 'source#&%forge.net');
  41  
  42          $this->ErrorList->expectOnce('addError', array('validation', 'BAD_DOMAIN_CHARACTERS', array('Field'=>'testfield'), NULL));
  43  
  44          $this->validator->validate($Data);
  45          $this->assertFalse($this->validator->IsValid());
  46      }
  47      function testDomainRuleDoubleHyphens() {
  48          $this->validator->addRule(new DomainRule('testfield'));
  49  
  50          $Data =& new DataSpace();
  51          $Data->set('testfield', 'source--forge.net');
  52  
  53          $this->ErrorList->expectOnce('addError', array('validation', 'BAD_DOMAIN_DOUBLE_HYPHENS', array('Field'=>'testfield'), NULL));
  54  
  55          $this->validator->validate($Data);
  56          $this->assertFalse($this->validator->IsValid());
  57      }
  58      function testDomainRuleTooLarge() {
  59          $this->validator->addRule(new DomainRule('testfield'));
  60  
  61          $segment = "abcdefg-hijklmnop-qrs-tuv-wx-yz-ABCDEFG-HIJKLMNOP-QRS-TUV-WX-YZ-0123456789";
  62  
  63          $Data =& new DataSpace();
  64          $Data->set('testfield', $segment . '.net');
  65  
  66          $this->ErrorList->expectOnce('addError', array('validation', 'BAD_DOMAIN_SEGMENT_TOO_LARGE', array('Field'=>'testfield'), array('segment'=>$segment)));
  67  
  68          $this->validator->validate($Data);
  69          $this->assertFalse($this->validator->IsValid());
  70      }
  71      function testDomainHyphenBegin() {
  72          $this->validator->addRule(new DomainRule('testfield'));
  73  
  74          $segment = "-sourceforge";
  75  
  76          $Data =& new DataSpace();
  77          $Data->set('testfield', $segment . '.net');
  78  
  79          $this->ErrorList->expectOnce('addError', array('validation', 'BAD_DOMAIN_HYPHENS', array('Field'=>'testfield'), array('segment'=>$segment)));
  80  
  81          $this->validator->validate($Data);
  82          $this->assertFalse($this->validator->IsValid());
  83      }
  84      function testDomainRuleHyphenEnd() {
  85          $this->validator->addRule(new DomainRule('testfield'));
  86  
  87          $segment = "sourceforge-";
  88  
  89          $Data =& new DataSpace();
  90          $Data->set('testfield', $segment . '.net');
  91  
  92          $this->ErrorList->expectOnce('addError', array('validation', 'BAD_DOMAIN_HYPHENS', array('Field'=>'testfield'), array('segment'=>$segment)));
  93  
  94          $this->validator->validate($Data);
  95          $this->assertFalse($this->validator->IsValid());
  96      }
  97      function testDomainRuleCombination() {
  98          $this->validator->addRule(new DomainRule('testfield'));
  99  
 100          $Data =& new DataSpace();
 101          $Data->set('testfield', '.n..aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.');
 102  
 103          $this->ErrorList->expectCallCount('addError', 4);
 104  
 105          $this->ErrorList->expectArgumentsAt(0,
 106                                              'addError',
 107                                              array('validation', 'BAD_DOMAIN_STARTING_PERIOD', array('Field'=>'testfield'), NULL));
 108  
 109          $this->ErrorList->expectArgumentsAt(1,
 110                                              'addError',
 111                                              array('validation', 'BAD_DOMAIN_ENDING_PERIOD', array('Field'=>'testfield'), NULL));
 112  
 113          $this->ErrorList->expectArgumentsAt(2,
 114                                              'addError',
 115                                              array('validation', 'BAD_DOMAIN_DOUBLE_DOTS', array('Field'=>'testfield'), NULL));
 116  
 117          $this->ErrorList->expectArgumentsAt(3,
 118                                              'addError',
 119                                              array('validation', 'BAD_DOMAIN_SEGMENT_TOO_LARGE', array('Field'=>'testfield'), array('segment' => 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')));
 120  
 121          $this->validator->validate($Data);
 122          $this->assertFalse($this->validator->IsValid());
 123      }
 124      function testDomainRuleDoubleDomain() {
 125          $this->validator->addRule(new DomainRule('testfield'));
 126  
 127          $Data =& new DataSpace();
 128          $Data->set('testfield', 'microsoft.co.uk');
 129  
 130          $this->ErrorList->expectNever('addError');
 131  
 132          $this->validator->validate($Data);
 133          $this->assertTrue($this->validator->IsValid());
 134      }
 135      function testDomainRuleLocalDomain() {
 136          $this->validator->addRule(new DomainRule('testfield'));
 137  
 138          $Data =& new DataSpace();
 139          $Data->set('testfield', 'localhost');
 140  
 141          $this->ErrorList->expectNever('addError');
 142  
 143          $this->validator->validate($Data);
 144          $this->assertTrue($this->validator->IsValid());
 145      }
 146  }
 147  
 148  ?>


Generated: Sun Nov 28 19:36:09 2004 Cross-referenced by PHPXref 0.5