From 0a012f372b1c3af16d97c9e599d30db29ed124e2 Mon Sep 17 00:00:00 2001 From: Wil Mahan Date: Fri, 24 Sep 2004 20:56:45 +0000 Subject: [PATCH] Add tests for subpages (+ an option to enable them), images, more template cases, definition lists/indentation, and preformatted text. --- maintenance/parserTests.php | 13 ++- maintenance/parserTests.txt | 205 +++++++++++++++++++++++++++++++++--- 2 files changed, 202 insertions(+), 16 deletions(-) diff --git a/maintenance/parserTests.php b/maintenance/parserTests.php index 5670d538af..6e1422ebeb 100644 --- a/maintenance/parserTests.php +++ b/maintenance/parserTests.php @@ -177,10 +177,18 @@ class ParserTest { function runTest( $desc, $input, $result, $opts ) { print "Running test $desc... "; - $this->setupGlobals(); + $this->setupGlobals($opts); $user =& new User(); $options =& ParserOptions::newFromUser( $user ); + + if (preg_match('/math/i', $opts)) { + # XXX this should probably be done by the ParserOptions + require_once('Math.php'); + + $options->setUseTex(true); + } + $parser =& new Parser(); $title =& Title::makeTitle( NS_MAIN, 'Parser_test' ); @@ -224,7 +232,7 @@ class ParserTest { * * @access private */ - function setupGlobals() { + function setupGlobals($opts = '') { $settings = array( 'wgServer' => 'http://localhost', 'wgScript' => '/index.php', @@ -237,6 +245,7 @@ class ParserTest { 'wgLoadBalancer' => LoadBalancer::newFromParams( $GLOBALS['wgDBservers'] ), 'wgLang' => new LanguageUtf8(), + 'wgNamespacesWithSubpages' => array( 0 => preg_match('/subpage/i', $opts)), ); $this->savedGlobals = array(); foreach( $settings as $var => $val ) { diff --git a/maintenance/parserTests.txt b/maintenance/parserTests.txt index 8bb33febdf..86e1ae7f06 100644 --- a/maintenance/parserTests.txt +++ b/maintenance/parserTests.txt @@ -8,6 +8,7 @@ # (default) generate HTML output # pst apply pre-save transform # msg apply message transform +# subpage enable subpages (disabled by default) # # Tests can be disabled with the '!!disabled' flag. # @@ -15,6 +16,14 @@ # !!article / NAMESPACE:TITLE / !!text / ARTICLE TEXT / !!endarticle # where '/' denotes a newline. +# This is the standard article assumed to exist. +!! article +Main Page +!! text +blah blah +!! endarticle + + ### ### Basic tests ### @@ -143,7 +152,7 @@ nowiki 3 ### comment test cases ### !! test -comment test 1 +Comment test 1 !! input asdf @@ -154,7 +163,7 @@ comment test 1 !! end !! test -comment test 2 +Comment test 2 !! input asdf @@ -166,7 +175,7 @@ jkl !! end !! test -comment test 3 +Comment test 3 !! input asdf @@ -179,7 +188,7 @@ jkl !! end !! test -comment test 4 +Comment test 4 !! input asdfjkl !! result @@ -187,6 +196,64 @@ asdfjkl

!! end +!! test +Comment spacing +!! input +a + b +c +!! result +

a +

+
 b 
+
+

c +

+!! end + +### +### Preformatted text +### +!! test +Preformatted text +!! input + This is some + Preformatted text + With ''italic'' + And '''bold''' + And a [[Main Page|link]] +!! result +
This is some
+Preformatted text
+With italic
+And bold
+And a link
+
+!! end + +### +### Definition list +### +!! test +Simple definition +!! input +; name : Definition +!! result +
name 
Definition +
+ +!! end + +!! test +Simple definition +!! input +: Indented text +!! result +
Indented text +
+ +!! end + ### ### External links ### @@ -529,12 +596,6 @@ Nested table ### ### Internal links ### -!! article -Main Page -!! text -blah blah -!! endarticle - !! test Plain link, capitalized !! input @@ -908,6 +969,21 @@ Template parameter as link source !! end +!!article +Template:paramtest2 +!! text +including another template, {{paramtest|param={{{arg}}}}} +!! endarticle + +!! test +Template passing argument to another template +!! input +{{paramtest2|arg='hmm'}} +!! result +

including another template, This is a test template with parameter 'hmm' +

+!! end + !! article Template:Linktest2 !! text @@ -923,6 +999,7 @@ Template as link source

!! end + !! article Template:loop1 !! text @@ -978,6 +1055,7 @@ PST {{thistemplatedoesnotexist}} !! end + !! test pre-save transform: subst magic variables !! options @@ -988,6 +1066,17 @@ PST MediaWiki !! end +# This is bug 89, which I fixed. -- wtm +!! test +pre-save transform: subst: templates with parameters +!! options +pst +!! input +{{subst:paramtest|param="something else"}} +!! result +This is a test template with parameter "something else" +!! end + ### ### Message transform tests ### @@ -1011,11 +1100,99 @@ msg ''test'' !! end +### +### Images +### +!! test +Simple image +!! input +[[Image: test]] +!! result +

Image: test +

+!! end + +!! test +Right-aligned image +!! input +[[Image:test|right]] +!! result +
right
+ +!! end + +!! test +Image with caption +!! input +[[Image:test|right|Caption text]] +!! result +
Caption text
+ +!! end + +!! test +Image with frame and link +!! input +[[Image:Foobar.jpg|frame|left|This is a test image [[Main Page]]]] +!! result +
This is a test image
This is a test image Main Page
+ +!! end + +!! test +Link to image page +!! input +[[:Image:test]] +!! result +

Image:test +

+!! end + +### +### Subpages +### +!! article +Parser test/subpage +!! text +foo +!! endarticle + +!! test +Subpage link +!! options +subpage +!! input +[[/subpage]] +!! result +

/subpage +

+!! end + +!! test +Subpage noslash link +!! options +subpage +!!input +[[/subpage/]] +!! result +

subpage +

+!! end + +# bug 561: it would be nice if this linked to /subpage -- wtm +!! test +Disabled subpages +!! input +[[/subpage]] +!! result +

subpage +

+!! end + TODO: -more templates -tables -images -subpages +more images +more tables +math character entities and much more -- 2.20.1