Beispiel #1
0
 public function test_ipaddress_access_rule()
 {
     $quiz = new stdClass();
     $attempt = new stdClass();
     $cm = new stdClass();
     $cm->id = 0;
     // Test the allowed case by getting the user's IP address. However, this
     // does not always work, for example using the mac install package on my laptop.
     $quiz->subnet = getremoteaddr(null);
     if (!empty($quiz->subnet)) {
         $quiz->questions = '';
         $quizobj = new quiz($quiz, $cm, null);
         $rule = new quizaccess_ipaddress($quizobj, 0);
         $this->assertFalse($rule->prevent_access());
         $this->assertFalse($rule->description());
         $this->assertFalse($rule->prevent_new_attempt(0, $attempt));
         $this->assertFalse($rule->is_finished(0, $attempt));
         $this->assertFalse($rule->end_time($attempt));
         $this->assertFalse($rule->time_left_display($attempt, 0));
     }
     $quiz->subnet = '0.0.0.0';
     $quiz->questions = '';
     $quizobj = new quiz($quiz, $cm, null);
     $rule = new quizaccess_ipaddress($quizobj, 0);
     $this->assertNotEmpty($rule->prevent_access());
     $this->assertEmpty($rule->description());
     $this->assertFalse($rule->prevent_new_attempt(0, $attempt));
     $this->assertFalse($rule->is_finished(0, $attempt));
     $this->assertFalse($rule->end_time($attempt));
     $this->assertFalse($rule->time_left_display($attempt, 0));
 }