Branch Coverage

lib/HTML/Object/EventTarget.pm
Criterion Covered Total %
branch 66 142 46.4


line true false branch
39 0 97 unless exists $self->{'_init_strict_use_sub'}
40 97 0 unless exists $self->{'_exception_class'}
41 0 97 unless $self->SUPER::init(@_)
51 0 5 unless $type =~ /^\w+$/
53 0 5 if (not ref $callback and $callback =~ /$HTML::Object::EventTarget::PACK_SUB_RE/)
57 0 0 if (my $ref = $pack->can($sub)) { }
66 0 5 if ref $callback ne "CODE"
72 0 5 if exists $opts->{'post_processing'} and ref $opts->{'post_processing'} eq "CODE"
73 0 5 if (scalar keys %$opts)
75 0 0 if warnings::enabled("HTML::Object")
81 3 2 unless exists $self->{'event_listeners'}
91 0 5 if ($params->{'signal'} and $params->{'signal'} =~ /^\w+$/)
94 0 0 unless exists $$HTML::Object::EventTarget::SIGNALS{$params->{'signal'}}
97 3 2 unless exists $repo->{$type}
98 3 2 unless exists $repo->{$type}{'sequence'}
100 0 5 if ($repo->{$type}{'sequence'}->has($key))
108 0 5 if (defined $post_processing)
119 0 2 unless $self->_is_a($event, "HTML::Object::Event")
125 0 2 if $can_cancel and $event->cancelled
135 0 6 unless ($node->handleEvent($event))
137 0 6 if ($can_cancel and $event->cancelled)
144 0 2 if $can_cancel and $event->cancelled >= $event->CANCEL_IMMEDIATE_PROPAGATION
148 0 2 if $can_cancel and $event->cancelled >= $event->CANCEL_PROPAGATION
150 0 2 unless $event->bubbles
157 2 4 if $i == 0
160 0 4 unless ($node->handleEvent($event))
162 0 4 if ($can_cancel and $event->cancelled)
178 0 138 unless defined $type and length $type
179 45 93 unless exists $self->{'event_listeners'}
181 135 3 unless scalar keys %$repo
182 0 3 unless exists $repo->{$type}
183 0 3 unless exists $repo->{$type}{'sequence'}
188 3 0 if exists $repo->{$type}{$key} and $self->_is_a($repo->{$type}{$key}, "HTML::Object::EventListener")
200 0 12 unless $self->_is_a($evt, "HTML::Object::Event")
204 0 12 if $evt->cancelled
212 4 8 unless exists $repo->{$type}
216 0 8 if ref $repo->{$type} ne "HASH"
221 0 8 unless exists $repo->{$type}{'sequence'}
225 0 8 unless $self->_is_a($repo->{$type}{'sequence'}, "Module::Generic::Array")
231 0 8 unless defined $key and length $key
235 0 8 unless (exists $repo->{$type}{$key})
243 0 8 unless ($self->_is_a($listener, "HTML::Object::EventListener"))
252 4 4 if ($eventPhase eq $evt->AT_TARGET and $evt->target ne $self or $eventPhase eq $evt->CAPTURING_PHASE and not $listener->capture or $eventPhase eq $evt->BUBBLING_PHASE and $listener->capture)
260 0 4 if (ref $code ne "CODE")
266 0 0 if warnings::enabled("HTML::Object")
272 0 4 if $can_cancel and $evt->cancelled == $evt->CANCEL_IMMEDIATE_PROPAGATION
281 0 2 unless exists $self->{'event_listeners'}
283 0 2 unless scalar keys %$repo
284 0 2 if (defined $type and length $type)
286 0 0 unless exists $repo->{$type}
288 0 0 if exists $repo->{$type}{'sequence'}
295 2 0 if exists $repo->{$t}{'sequence'}
309 0 138 unless defined $event and length $event
317 0 1 unless defined $event and length $event
319 0 1 if (ref $arg ne "CODE")
334 0 2 if ($self->_is_a($_[0], 'HTML::Object::EventListener')) { }
343 0 2 unless $type =~ /^\w+$/
344 0 2 if (not ref $callback and $callback =~ /$HTML::Object::EventTarget::PACK_SUB_RE/)
349 0 0 if (my $ref = $pack->can($sub)) { }
358 0 2 if defined $callback and ref $callback ne "CODE"
360 0 2 if (defined $eh and not exists $opts->{'capture'})
367 0 2 if (scalar keys %$opts)
369 0 0 if warnings::enabled("HTML::Object")
373 0 2 unless exists $self->{'event_listeners'}
375 0 2 unless exists $repo->{$type}
377 0 2 unless exists $repo->{$type}{'sequence'}
391 0 0 if (ref $all eq "ARRAY")
402 0 0 if (index($_[0], "::") != -1)
409 0 0 unless $self->_load_class($class)
411 0 0 if (exists $opts->{'callback'} and ref $opts->{'callback'} eq "CODE")
416 0 0 unless $self->dispatchEvent($event)