MockAction::get_call_count PHP Method

get_call_count() public method

return a count of the number of times the action was called since the last reset
public get_call_count ( $tag = '' )
    function get_call_count($tag = '')
    {
        if ($tag) {
            $count = 0;
            foreach ($this->events as $e) {
                if ($e['action'] == $tag) {
                    ++$count;
                }
            }
            return $count;
        }
        return count($this->events);
    }

Usage Example

 /**
  * Test arbitrary context actions given a context and type.
  *
  * @param  string $context The context being tested.
  * @param  string $type The subcontext being tested.
  */
 protected function _context_action_assertions($context, $type)
 {
     $a = new MockAction();
     if ($context) {
         add_action("fm_{$context}", array(&$a, 'action'));
     }
     if ($type) {
         add_action("fm_{$context}_{$type}", array(&$a, 'action'));
     }
     fm_get_context(true);
     fm_trigger_context_action();
     if ($type) {
         // only two events occurred for the hook
         $this->assertEquals(2, $a->get_call_count());
         // only our hooks were called
         $this->assertEquals(array("fm_{$context}_{$type}", "fm_{$context}"), $a->get_tags());
         // The $type should have been passed as args
         $this->assertEquals(array(array($type), array($type)), $a->get_args());
     } elseif ($context) {
         // only one event occurred for the hook
         $this->assertEquals(1, $a->get_call_count());
         // only our hook was called
         $this->assertEquals(array("fm_{$context}"), $a->get_tags());
         // null should have been passed as an arg
         $this->assertEquals(array(array(null)), $a->get_args());
     } else {
         // No event should have fired
         $this->assertEquals(0, $a->get_call_count());
     }
 }
All Usage Examples Of MockAction::get_call_count