!! Version 2 !! article Widget Page !! text Hello world !! endarticle !! test FontAwesomeIcon home !! wikitext echo new FontAwesomeIcon( "home" ); !! html

!! end !! test FontAwesome home func !! wikitext {{#phptag: FA::home }} !! html

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

!! end !! test FontAwesome home tag !! wikitext echo FA::home; !! html

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

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

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

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

!! end !! test FontAwesomeIcon camera-retro !! wikitext echo new FontAwesomeIcon( 'camera-RETRO' ); !! html

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

!! end !! test FontAwesome shield rotate-270 !! wikitext echo FontAwesome::shield->rotate_270; !! html

!! end !! test Link 1 !! wikitext echo new Link( "Widget Page" ); !! html

Widget Page

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

Other title

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

Other title

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

test

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

Other title

!! end !! test Link script !! wikitext echo new Link( "Widget Page", '' ); !! html

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

!! end !! test Element div !! wikitext echo new Element( 'div', 'test' ); !! html
test
!! end !! test Element span !! wikitext echo new Element( 'span', 'test' ); !! html

test

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

test

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

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

!! end !! test Image !! wikitext echo new Image( "Foobar.jpg" ); !! html

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

test

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

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

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

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

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

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

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

!! end