Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
11 / 11
TwbBundleBadge
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
2 / 2
8
100.00% covered (success)
100.00%
11 / 11
 __invoke($sBadgeMessage = null, array $aBadgeAttributes = null)
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
2 / 2
 render($sBadgeMessage,array $aBadgeAttributes = null)
100.00% covered (success)
100.00%
1 / 1
6
100.00% covered (success)
100.00%
9 / 9
<?php
namespace TwbBundle\View\Helper;
class TwbBundleBadge extends \Zend\Form\View\Helper\AbstractHelper{
    /**
     * @var string
     */
    private static $badgeFormat = '<span %s>%s</span>';
    /**
     * Invoke helper as functor, proxies to {@link render()}.
     * @param string $sBadgeMessage
     * @param array $aBadgeAttributes : [optionnal]
     * @return string|\TwbBundle\View\Helper\TwbBundleBadge
     */
    public function __invoke($sBadgeMessage = null, array $aBadgeAttributes = null){
        if(!$sBadgeMessage)return $this;
        return $this->render($sBadgeMessage,$aBadgeAttributes);
    }
    /**
     * Retrieve badge markup
     * @param string $sBadgeMessage
     * @param  array $aBadgeAttributes : [optionnal]
     * @throws \InvalidArgumentException
     * @return string
     */
    public function render($sBadgeMessage,array $aBadgeAttributes = null){
        if(!is_scalar($sBadgeMessage))throw new \InvalidArgumentException('Badge message expects a scalar value, "'.gettype($sBadgeMessage).'" given');
        if(empty($aBadgeAttributes))$aBadgeAttributes = array('class' => 'badge');
        else{
            if(empty($aBadgeAttributes['class']))$aBadgeAttributes['class'] = 'badge';
            elseif(!preg_match('/(\s|^)badge(\s|$)/',$aBadgeAttributes['class']))$aBadgeAttributes['class'] .= ' badge';
        }
        if(null !== ($oTranslator = $this->getTranslator()))$sBadgeMessage = $oTranslator->translate($sBadgeMessage, $this->getTranslatorTextDomain());
        return sprintf(
            self::$badgeFormat,
            $this->createAttributesString($aBadgeAttributes),
            $sBadgeMessage
        );
    }
}