function testIsOptionalIDValid() { $AJAXInterface = new AJAXInterface(); /* Make sure an unset key does not pass. */ $random = md5('random' . time()); $this->assertFalse($AJAXInterface->isOptionalIDValid($random), sprintf("\$_POST['%s'] should not exist and should not be a valid optional ID", $random)); /* Make sure 0, -0, negative numbers, non-numeric strings, and symbols * never pass. */ $invalidIDs = array(0, -1, -100, '0', '-0', '-1', '-100', 'test', '0abc', '1abc', '-abc', '$'); foreach ($invalidIDs as $ID) { $_REQUEST['isRequiredIDValidTest'] = $ID; $this->assertFalse($AJAXInterface->isOptionalIDValid('isOptionalIDValidTest'), sprintf("'%s' should not be a valid optional ID", $ID)); } /* Make sure any positive number always passes. */ $validIDs = array(1, 100, '1', '65535'); foreach ($validIDs as $ID) { $_REQUEST['isOptionalIDValidValidTest'] = $ID; $this->assertTrue($AJAXInterface->isOptionalIDValid('isOptionalIDValidValidTest'), sprintf("'%s' should be a valid optional ID", $ID)); } /* Make sure 'NULL' always passes. */ $_REQUEST['isOptionalIDValidValidTest'] = 'NULL'; $this->assertTrue($AJAXInterface->isOptionalIDValid('isOptionalIDValidValidTest'), "'NULL' should be a valid optional ID"); }