!! article Widget Page !! text Hello world !! endarticle !! test FontAwesomeIcon home !! input echo new FontAwesomeIcon( "home" ); !! result

!! end !! test FontAwesome home func !! input {{#phptag: FA::home }} !! result

!! end !! test func fa home func !! input {{#phptag: echo fa( 'home' ); }} !! result

!! end !! test FontAwesome home tag !! input echo FA::home; !! result

!! end !! test FontAwesomeIcon home fw !! input echo new FontAwesomeIcon( 'HoMe', ['fw'] ); !! result

!! end !! test FontAwesomeIcon home fw property !! input $i = new FontAwesomeIcon( 'HoMe' ); echo $i->fw; !! result

!! end !! test FontAwesome home fw property !! input $i = FA::HoMe; echo $i->fw; !! result

!! end !! test func fa home fw !! input echo fa( 'HoMe', ['fw'] ); !! result

!! end !! test FontAwesomeIcon camera-retro !! input echo new FontAwesomeIcon( 'camera-RETRO' ); !! result

!! end !! test FontAwesomeIcon camera-retro lg !! input {{#phptag: echo new FontAwesomeIcon( 'camera-retro', ['lg'] ); }} !! result

!! end !! test FontAwesomeIcon camera-retro lg 3x !! input {{#phptag: echo new FontAwesomeIcon( 'camera-retro', ['LG', '3x'] ); }} !! result

!! end !! test FontAwesomeIcon camera-retro lg 3x property !! input $i = new FontAwesomeIcon( 'camera-retro' ); echo $i->LG->_3x; !! result

!! end !! test FontAwesome camera-retro lg 3x !! input {{#phptag: FA::camera_retro->LG->_3x }} !! result

!! end !! test func FontAwesome camera-retro lg 3x !! input {{#phptag: echo fontawesome( 'camera-retro', ['LG', '3x'] ); }} !! result

!! end !! test FontAwesomeIcon camera-retro lg 3x fw !! input {{#phptag: echo new FontAwesomeIcon( 'camera-retro', ['lg', '3x', 'fw'] ); }} !! result

!! end !! test FontAwesomeIcon spinner spin 3x !! input {{#phptag: echo new FontAwesomeIcon( 'spinner', ['spin', '3x'] ); }} !! result

!! end !! test FontAwesome spinner spin 3x !! input {{#phptag: FA::spinner->spin->_3x }} !! result

!! end !! test FontAwesomeIcon quote-left 3x border !! input {{#phptag: echo new FontAwesomeIcon( 'quote-left', ['3x', 'border'] ); }} !! result

!! end !! test FontAwesomeIcon quote-left 3x border pull-left !! input echo new FontAwesomeIcon( 'quote-left', ['3x', 'BoRdEr', 'ClasS'=>'pull-left'] ); !! result

!! end !! test FontAwesomeIcon quote-left 3x border pull-left class !! input $fai = new FontAwesomeIcon( 'quote-left', ['3x', 'border'] ); $fai->class = 'pull-left'; echo $fai; !! result

!! end !! test FontAwesome quote-left 3x border pull-left class !! input $fai = FA::quote_left->_3x->border; $fai->class = 'pull-left'; echo $fai; !! result

!! end !! test FontAwesome quote-left 3x border pull-left class foo bar !! input $fai = FA::quote_left->_3x->border; $fai->class = 'pull-left foo bar'; echo $fai; !! result

!! end !! test FontAwesome quote-left 3x border pull-left classes foo bar !! input $fai = FA::quote_left->_3x->border; $fai->class = ['pull-left', 'foo', 'bar']; echo $fai; !! result

!! end !! test FontAwesome quote-left 3x border pull-left classes foo bar sanitize !! input $fai = FA::quote_left->_3x->border; $fai->class = ['pull-left', 'foo bar']; echo $fai; !! result

!! end !! test FontAwesomeIcon shield rotate-270 !! input echo new FontAwesomeIcon( 'shield', ['rotate-270'] ); !! result

!! end !! test FontAwesome shield rotate-270 !! input echo FontAwesome::shield->rotate_270; !! result

!! end !! test Link 1 !! input echo new Link( "Widget Page" ); !! result

Widget Page

!! end !! test Link 2 !! input echo new Link( "Widget Page", 'Other title' ); !! result

Other title

!! end !! test Link 3 !! input echo new Link( "Widget Page notexist", 'Other title' ); !! result

Other title

!! end !! test Link template variable !! input echo new Link( "Widget Page notexist", '{{{1|test}}}' ); !! result

test

!! end !! test Link span !! input echo new Link( "Widget Page", 'Other title' ); !! result

Other title

!! end !! test Link script !! input echo new Link( "Widget Page", '' ); !! result

<script>alert("Hacked")</script>

!! end !! test Element div !! input echo new Element( 'div', 'test' ); !! result
test
!! end !! test Element span !! input echo new Element( 'span', 'test' ); !! result

test

!! end !! test Element div script !! input echo new Element( 'div', '' ); !! result
<script>alert("Hacked")</script>
!! end !! test Element div a !! input echo new Element( 'div', 'Hacked' ); !! result
<a href="http://hacked.you">Hacked</a>
!! end !! test Link Element !! input $element = new Element( 'span', 'test' ); echo new Link( "Widget Page", (string)$element ); !! result

test

!! end !! test Link Element script !! input $element = new Element( 'span', '' ); echo new Link( "Widget Page", (string)$element ); !! result

<script>alert("Hacked")</script>

!! end !! test Image !! input echo new Image( "Foobar.jpg" ); !! result

!! end !! test Image alt !! input echo new Image( "Foobar.jpg", ['alt'=>'test'] ); !! result

test

!! end !! test Image alt script !! input echo new Image( "Foobar.jpg", ['alt'=>'">'] ); !! result

"><script>alert('Hacked')</script>

!! end !! test Image width !! input echo new Image( "Foobar.jpg", ['width'=>'200px'] ); !! result

!! end !! test Image imageWidth !! input echo new Image( 'Foobar.jpg', ['imageWidth'=>'100'] ); !! result

!! end !! test Image imageHeight !! input echo new Image( 'Foobar.jpg', ['ImaGeHeiGht'=>'100'] ); !! result

!! end !! test Image url !! input $image = new Image( 'Foobar.jpg', ['ImaGeHeiGht'=>'100'] ); echo '', $image->url, ''; !! result

http://example.com/images/thumb/3/3a/Foobar.jpg/883px-Foobar.jpg

!! end