!! functionhooks
lsth
!!endfunctionhooks

# This is the standard article assumed to exist.
!! article
LsthSections
!! text
this is the intro
==1==

sec 1

==2==

sec 2

===3===

sec 3

==a==

sec a

==b==

this is ==not== a section

!! endarticle

!!test
transclude a heading
!!input
{{#lsth:LsthSections|1}}
!!result
<p>sec 1
</p>
!!end

!!test
transclude a heading (case insensitive)
!!input
{{#lsth:LsthSections|A}}
!!result
<p>sec a
</p>
!!end

!!test
transclude the intro
!!input
{{#lsth:LsthSections}}
!!result
<p>this is the intro
</p>
!!end


!!test
transclude a heading
!!input
{{#lsth:LsthSections|b}}
!!result
<p>this is ==not== a section
</p>
!!end

!!test
transclude a heading
!!input
{{#lsth:LsthSections|not}}
!!result
!!end

!!test
transclude offset section -w- subs.
!!input
{{#lsth:LsthSections|2}}
!!result
<p>sec 2
</p>
<h3><span class="mw-headline" id="3">3</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=LsthSections&amp;action=edit&amp;section=T-1" title="LsthSections">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
<p>sec 3
</p>
!!end

!!test
transclude nonesistent section
!!input
{{#lsth:LsthSections|9999}}
!!result
!!end

!! article
LsthNoInclude
!! text
This sentence is outside noinclude tags.
<noinclude>This sentence is within noinclude tags.</noinclude>
<noinclude>This sentence is

within noinclude tags.</noinclude>
<noinclude>This sentence is within</noinclude>broken noinclude tags.</noinclude>
!! endarticle

!!test
don't transclude content within noinclude tags
!!input
{{#lsth:LsthNoInclude}}
!!result
<p>This sentence is outside noinclude tags.
</p><p><br />
broken noinclude tags.
</p>
!!end