MDL-32149 tests for mod_wiki, mod_lti and mod_scorm

This commit is contained in:
Petr Skoda 2012-04-03 11:04:05 +02:00
parent 78d6314daa
commit ba0c484308
35 changed files with 1030 additions and 0 deletions

View File

@ -0,0 +1,142 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
//
// This file is part of BasicLTI4Moodle
//
// BasicLTI4Moodle is an IMS BasicLTI (Basic Learning Tools for Interoperability)
// consumer for Moodle 1.9 and Moodle 2.0. BasicLTI is a IMS Standard that allows web
// based learning tools to be easily integrated in LMS as native ones. The IMS BasicLTI
// specification is part of the IMS standard Common Cartridge 1.1 Sakai and other main LMS
// are already supporting or going to support BasicLTI. This project Implements the consumer
// for Moodle. Moodle is a Free Open source Learning Management System by Martin Dougiamas.
// BasicLTI4Moodle is a project iniciated and leaded by Ludo(Marc Alier) and Jordi Piguillem
// at the GESSI research group at UPC.
// SimpleLTI consumer for Moodle is an implementation of the early specification of LTI
// by Charles Severance (Dr Chuck) htp://dr-chuck.com , developed by Jordi Piguillem in a
// Google Summer of Code 2008 project co-mentored by Charles Severance and Marc Alier.
//
// BasicLTI4Moodle is copyright 2009 by Marc Alier Forment, Jordi Piguillem and Nikolas Galanis
// of the Universitat Politecnica de Catalunya http://www.upc.edu
// Contact info: Marc Alier Forment granludo @ gmail.com or marc.alier @ upc.edu
/**
* This file contains unit tests for (some of) lti/locallib.php
*
* @package mod_lti
* @category phpunit
* @copyright 2009 Marc Alier, Jordi Piguillem, Nikolas Galanis
* @copyright 2009 Universitat Politecnica de Catalunya http://www.upc.edu
* @author Charles Severance csev@unmich.edu
* @author Marc Alier (marc.alier@upc.edu)
* @author Jordi Piguillem
* @author Nikolas Galanis
* @author Chris Scribner
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die;
global $CFG;
require_once($CFG->dirroot . '/mod/lti/locallib.php');
require_once($CFG->dirroot . '/mod/lti/servicelib.php');
class mod_lti_locallib_testcase extends basic_testcase {
public function test_split_custom_parameters() {
$this->assertEquals(lti_split_custom_parameters("x=1\ny=2"),
array('custom_x' => '1', 'custom_y'=> '2'));
$this->assertEquals(lti_split_custom_parameters('x=1;y=2'),
array('custom_x' => '1', 'custom_y'=> '2'));
$this->assertEquals(lti_split_custom_parameters('Review:Chapter=1.2.56'),
array('custom_review_chapter' => '1.2.56'));
$this->assertEquals(lti_split_custom_parameters('Complex!@#$^*(){}[]KEY=Complex!@#$^*(){}[]Value'),
array('custom_complex____________key' => 'Complex!@#$^*(){}[]Value'));
}
/**
* This test has been disabled because the test-tool is
* being moved and probably it won't work anymore for this.
* We should be testing here local stuff only and leave
* outside-checks to the conformance tests. MDL-30347
*/
public function disabled_test_sign_parameters() {
$correct = array ( 'context_id' => '12345', 'context_label' => 'SI124', 'context_title' => 'Social Computing', 'ext_submit' => 'Click Me', 'lti_message_type' => 'basic-lti-launch-request', 'lti_version' => 'LTI-1p0', 'oauth_consumer_key' => 'lmsng.school.edu', 'oauth_nonce' => '47458148e33a8f9dafb888c3684cf476', 'oauth_signature' => 'qWgaBIezihCbeHgcwUy14tZcyDQ=', 'oauth_signature_method' => 'HMAC-SHA1', 'oauth_timestamp' => '1307141660', 'oauth_version' => '1.0', 'resource_link_id' => '123', 'resource_link_title' => 'Weekly Blog', 'roles' => 'Learner', 'tool_consumer_instance_guid' => 'lmsng.school.edu', 'user_id' => '789');
$requestparams = array('resource_link_id' => '123', 'resource_link_title' => 'Weekly Blog', 'user_id' => '789', 'roles' => 'Learner', 'context_id' => '12345', 'context_label' => 'SI124', 'context_title' => 'Social Computing');
$parms = lti_sign_parameters($requestparams, 'http://www.imsglobal.org/developer/LTI/tool.php', 'POST',
'lmsng.school.edu', 'secret', 'Click Me', 'lmsng.school.edu' /*, $org_desc*/);
$this->assertTrue(isset($parms['oauth_nonce']));
$this->assertTrue(isset($parms['oauth_signature']));
$this->assertTrue(isset($parms['oauth_timestamp']));
// Those things that are hard to mock
$correct['oauth_nonce'] = $parms['oauth_nonce'];
$correct['oauth_signature'] = $parms['oauth_signature'];
$correct['oauth_timestamp'] = $parms['oauth_timestamp'];
ksort($parms);
ksort($correct);
$this->assertEquals($parms, $correct);
}
/**
* This test has been disabled because, since its creation,
* the sourceId generation has changed and surely this is outdated.
* Some day these should be replaced by proper tests, but until then
* conformance tests say this is working. MDL-30347
*/
public function disabled_test_parse_grade_replace_message() {
$message = '
<imsx_POXEnvelopeRequest xmlns = "http://www.imsglobal.org/lis/oms1p0/pox">
<imsx_POXHeader>
<imsx_POXRequestHeaderInfo>
<imsx_version>V1.0</imsx_version>
<imsx_messageIdentifier>999998123</imsx_messageIdentifier>
</imsx_POXRequestHeaderInfo>
</imsx_POXHeader>
<imsx_POXBody>
<replaceResultRequest>
<resultRecord>
<sourcedGUID>
<sourcedId>{&quot;data&quot;:{&quot;instanceid&quot;:&quot;2&quot;,&quot;userid&quot;:&quot;2&quot;},&quot;hash&quot;:&quot;0b5078feab59b9938c333ceaae21d8e003a7b295e43cdf55338445254421076b&quot;}</sourcedId>
</sourcedGUID>
<result>
<resultScore>
<language>en-us</language>
<textString>0.92</textString>
</resultScore>
</result>
</resultRecord>
</replaceResultRequest>
</imsx_POXBody>
</imsx_POXEnvelopeRequest>
';
$parsed = lti_parse_grade_replace_message(new SimpleXMLElement($message));
$this->assertEquals($parsed->userid, '2');
$this->assertEquals($parsed->instanceid, '2');
$this->assertEquals($parsed->sourcedidhash, '0b5078feab59b9938c333ceaae21d8e003a7b295e43cdf55338445254421076b');
$ltiinstance = (object)array('servicesalt' => '4e5fcc06de1d58.44963230');
lti_verify_sourcedid($ltiinstance, $parsed);
}
}

View File

@ -0,0 +1,74 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
defined('MOODLE_INTERNAL') || die;
/**
* Unit tests for scorm_formatduration function from locallib.php
*
* @package mod_scorm
* @category phpunit
* @copyright 2009 Dan Marsden
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
// Make sure the code being tested is accessible.
global $CFG;
require_once($CFG->dirroot . '/mod/scorm/locallib.php'); // Include the code to test
class mod_scorm_formatduration_testcase extends basic_testcase {
function test_scorm2004_format() {
$stryears = get_string('years');
$strmonths = trim(get_string('nummonths'));
$strdays = get_string('days');
$strhours = get_string('hours');
$strminutes = get_string('minutes');
$strseconds = get_string('seconds');
$SUTs = array(1=>'PT001H012M0043.12S', 2=>'PT15.3S', 3=>'P01Y02M5DT0H7M', 4=>'P0Y0M0DT0H1M00.00S',
5=>'P1YT15M00.01S', 6=>'P0Y0M0DT0H0M0.0S', 7=>'P1MT4M0.30S', 8=>'PT', 9=>'P1DT2H3S', 10=>'P4M');
$validates = array(1=>"1 $strhours 12 $strminutes 43.12 $strseconds", 2=>"15.3 $strseconds", 3=>"1 $stryears 2 $strmonths 5 $strdays 7 $strminutes ",
4=>"1 $strminutes ", 5=>"1 $stryears 15 $strminutes 0.01 $strseconds", 6=>'', 7=>"1 $strmonths 4 $strminutes 0.30 $strseconds",
8=>'', 9=>"1 $strdays 2 $strhours 3 $strseconds", 10=>"4 $strmonths ");
foreach ($SUTs as $key => $SUT) {
$formatted = scorm_format_duration($SUT);
$this->assertEquals($formatted, $validates[$key]);
}
}
function test_scorm12_format() {
$stryears = get_string('years');
$strmonths = trim(get_string('nummonths'));
$strdays = get_string('days');
$strhours = get_string('hours');
$strminutes = get_string('minutes');
$strseconds = get_string('seconds');
$SUTs = array(1=>'00:00:00', 2=>'1:2:3', 3=>'12:34:56.78', 4=>'00:12:00.03', 5=>'01:00:23', 6=>'00:12:34.00',
7=>'00:01:02.03', 8=>'00:00:00.1', 9=>'1:23:00', 10=>'2:00:00');
$validates = array(1=>'', 2=>"1 $strhours 2 $strminutes 3 $strseconds", 3=>"12 $strhours 34 $strminutes 56.78 $strseconds",
4=>"12 $strminutes 0.03 $strseconds", 5=>"1 $strhours 23 $strseconds", 6=>"12 $strminutes 34 $strseconds",
7=>"1 $strminutes 2.03 $strseconds", 8=>"0.1 $strseconds", 9=>"1 $strhours 23 $strminutes ", 10=>"2 $strhours ");
foreach ($SUTs as $key => $SUT) {
$formatted = scorm_format_duration($SUT);
$this->assertEquals($formatted, $validates[$key]);
}
}
function test_non_datetime() {
}
}

View File

@ -0,0 +1,5 @@
Donec semper, nunc nec imperdiet lacinia, dui magna gravida odio, ut pretium nisl sapien ut lacus. Pellentesque nec pede. Praesent condimentum. Aliquam porttitor mi ut odio! Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed laoreet mauris vitae tellus. Curabitur dignissim. Duis ac leo. Nam gravida pharetra sapien. Sed feugiat lobortis orci. Cras sed nisl. Curabitur congue mollis erat. Quisque dictum! Praesent a lectus. Pellentesque nulla nisi; tempus eget, tincidunt id; tincidunt vel, nisl.
Duis consequat vulputate felis. Praesent diam nisi, venenatis vitae; dignissim quis, feugiat ut, pede. Maecenas tincidunt iaculis elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed sed nulla at eros mollis tempor. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam bibendum lorem at sem. Morbi blandit. Nullam volutpat mi. Suspendisse dapibus lacus vel nisl. Ut lacinia adipiscing mi! Maecenas ipsum erat, accumsan quis, cursus ut, ultrices in; metus. Nulla adipiscing rhoncus ante? Nulla hendrerit tortor sit amet mauris. Cras varius dui vel leo. Proin vulputate! Phasellus lacus arcu, eleifend a, accumsan at, vulputate sed, neque. Fusce leo ante, interdum ac, tincidunt non, scelerisque eu, velit. Suspendisse sed nunc. Aenean sodales turpis!
Suspendisse fringilla fermentum sem. Integer viverra dui id dolor! Mauris ornare eros vel nunc. Phasellus ligula nulla, vestibulum eget, vestibulum vel, aliquam eget, eros. Integer in pede. Fusce ultricies viverra ante. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Pellentesque eget lorem ut mi vestibulum facilisis. Vestibulum augue. Curabitur arcu pede, fringilla eu, placerat id, condimentum sit amet, lectus. Fusce at diam eu justo semper interdum. Vivamus id turpis at justo tempus tempor. Maecenas eros libero, bibendum non, dictum ut, blandit id, augue. Pellentesque facilisis. Aenean aliquet sem. In tellus!

19
mod/wiki/tests/fixtures/input/creole/2 vendored Normal file
View File

@ -0,0 +1,19 @@
= Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Phasellus odio? Ut ac leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus enim justo, porttitor at, lacinia vitae; consectetuer et, ante? Maecenas eget libero. Duis est. Curabitur tincidunt dictum ligula. Nunc euismod lectus quis mi. Proin et enim sed nunc scelerisque posuere. Suspendisse enim purus, sodales non, tristique vel, sollicitudin ullamcorper, nulla. Aliquam condimentum; tellus eu vulputate facilisis, ante pede rhoncus elit, vel euismod nulla sapien et metus?
== Praesent tristique facilisis metus. ==
Quisque lectus? Morbi ultrices ultricies neque. In ligula sem; pretium eget, iaculis laoreet, pulvinar sed, dui. Proin mattis luctus diam. Aenean eget risus in mauris sagittis vehicula. Vivamus dapibus enim ac dolor. Pellentesque leo. Praesent tristique facilisis metus. Nulla imperdiet ante et urna? Maecenas leo nisi, lacinia sollicitudin, viverra at, aliquet et, justo. Quisque congue dolor.
=== Phasellus ut augue ut felis porttitor condimentum. ===
Aliquam erat volutpat. Phasellus ut augue ut felis porttitor condimentum. Nam sapien tellus, tempus sed; mattis quis, viverra quis, mauris. Suspendisse venenatis sollicitudin massa. Pellentesque lobortis dolor vitae nisl. Nulla interdum aliquet neque. Duis nisl pede, vestibulum in, tristique eget, viverra vitae, erat. Maecenas justo turpis, convallis sit amet, tristique eu, laoreet et, augue. Fusce sem. Pellentesque ut turpis? Morbi suscipit sollicitudin metus? Morbi pharetra, sem eget ornare tempor, neque erat dapibus lacus, ut tincidunt nisi leo sed nunc. Sed sodales dignissim eros. Duis vitae risus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed lobortis consequat sem. Nunc posuere vulputate velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis vestibulum pellentesque neque.
==== Sed adipiscing dui at massa. Nulla consectetuer tristique lacus? ====
Maecenas lacus justo, pellentesque vitae, mattis vitae, rutrum sit amet, metus! Etiam aliquam odio vel nulla. Suspendisse ante. Pellentesque viverra leo at lorem! Ut pharetra egestas ante. Aliquam erat volutpat. Sed adipiscing dui at massa. Nulla consectetuer tristique lacus? Donec ante leo, condimentum non, consectetuer vel, sodales placerat, tortor. Etiam at diam at elit adipiscing ultrices. Etiam lectus sapien, congue sed, sodales quis, ultricies a, libero. Pellentesque tincidunt!
== Curabitur euismod sollicitudin nibh
Curabitur euismod sollicitudin nibh. Duis nec diam. Sed nunc quam, lobortis nec; tristique et, dignissim eget, massa. Suspendisse sagittis malesuada tortor. Nullam lectus diam, mollis id, malesuada at, gravida ut, nisl. In hac habitasse platea dictumst. Sed a purus. Etiam velit urna, lacinia et, imperdiet quis, varius quis, orci! Sed dolor ante, mollis in, ultrices in, vestibulum vitae; justo. Vestibulum accumsan vehicula risus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus sit amet diam lobortis urna tristique pretium. Quisque erat.
==== Duis nec diam.
Pellentesque lobortis dolor vitae nisl. Nulla interdum aliquet neque. Duis nisl pede, vestibulum in, tristique eget, viverra vitae, erat. Maecenas justo turpis, convallis sit amet, tristique eu, laoreet et, augue. Fusce sem. Pellentesque ut turpis? Morbi suscipit sollicitudin metus? Morbi pharetra, sem eget ornare tempor, neque erat dapibus lacus, ut tincidunt nisi leo sed nunc. Sed sodales dignissim eros. Duis vitae risus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed lobortis consequat sem. Nunc posuere vulputate velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis vestibulum pellentesque neque.

View File

@ -0,0 +1,8 @@
= In nisi purus, varius in, mollis eget, interdum in, ipsum.
Vivamus lobortis. **Mauris dui dui, rutrum in, egestas nec, porttitor vehicula, risus!** Vivamus aliquam ultrices metus. //Donec ultricies, metus eget volutpat condimentum;// neque orci mattis dolor, non posuere eros dui et orci. Duis aliquam. Fusce sit amet nisl. Duis tempor dapibus diam? In venenatis congue mi? Aliquam metus erat; facilisis a, suscipit a, pretium vitae; ligula? Ut id metus a pede adipiscing commodo! **Praesent ultricies urna et sapien.** //Donec adipiscing.// Donec sit amet lacus.
== **In nisi purus**, //varius in,// mollis eget, interdum in, ipsum.
Duis feugiat ligula ac elit. %!34%!Nulla sed arcu a risus sodales mattis. Etiam magna arcu, accumsan vitae, sodales non, faucibus quis, nunc. Aenean ut elit. Pellentesque malesuada lacus a orci. Suspendisse in erat sed mi porta faucibus. Nullam a nibh. Suspendisse potenti. Nam malesuada lobortis nibh. Ut venenatis, nibh ac convallis iaculis, justo pede tristique sapien, vel ultricies massa diam id leo. Pellentesque ullamcorper condimentum urna. //Proin dui lacus; scelerisque nec, condimentum non, **lobortis ac, felis.
//Nullam ac neque. %!4%!**Praesent quis tellus. **Maecenas** et felis vitae lectus porttitor dignissim. Etiam at dui id nibh molestie semper. Sed vulputate nunc et neque. Fusce consectetur elit id leo. //Nulla facilisi. //Donec vitae nulla ac nisl mollis blandit. //Nulla adipiscing.** Phasellus quis odio sed eros viverra sodales. Suspendisse eget mauris id urna convallis fringilla. Aliquam dolor. Sed commodo. Quisque vestibulum, eros in mollis rutrum, odio risus aliquam turpis; nec convallis ante justo in dui? Pellentesque pharetra venenatis odio. Nulla placerat, libero at lacinia pellentesque; nisi massa sodales risus, at tincidunt orci pede sed ipsum. Etiam massa! Nullam aliquet justo at erat placerat convallis.

10
mod/wiki/tests/fixtures/input/creole/4 vendored Normal file
View File

@ -0,0 +1,10 @@
== Donec ultricies neque eu libero scelerisque feugiat.
**Donec ultricies //neque eu [[libero]] scelerisque //feugiat. //Cras sed ante.// Sed volutpat urna eu diam. Curabitur fringilla lacinia mi.** Quisque lorem. Etiam fringilla consequat dui. Nunc est est; aliquet eu, porttitor auctor; malesuada id, massa. [[Nullam|Nullam feugiat]], nulla eget vulputate facilisis, erat odio vestibulum mi, eget volutpat lorem enim vitae eros. Vestibulum convallis. Maecenas posuere pellentesque mi? Donec consectetur volutpat dolor. [[**Curabitur**]] non **[[//Tellus**|tellus nec ligula bibendum pulvinar.]]**
http://www.google.com
[[http://www.google.com]]
~http://www.apple.com
~[[Link que no va]]

View File

@ -0,0 +1,6 @@
= Integer eu leo? \\ Quisque posuere.
Nunc commodo nisi vitae quam. Etiam tincidunt; lectus eu tempus molestie, elit enim auctor tortor, in varius leo mi ac risus. Sed iaculis magna vel libero. Pellentesque iaculis, tellus in ullamcorper tempus, justo sapien scelerisque enim, eu ornare dui neque sed ligula. \\Vestibulum porta justo a dolor. Duis mollis quam vel sem. Quisque vel arcu. Pellentesque sem. Aliquam adipiscing neque quis turpis. Mauris placerat, elit quis iaculis vehicula, sem nulla imperdiet nunc, in elementum felis lectus non magna. Mauris cursus; odio eu sagittis sodales, nisi nibh pellentesque tortor, ut ultricies lacus tellus non odio. In semper, ligula eu condimentum posuere, sapien tellus blandit quam, dapibus iaculis lacus erat eget ipsum. Duis pulvinar molestie magna. Aliquam bibendum quam ac nulla!
== Fusce justo. Aliquam felis tellus, tempor vel, congue quis, tempus eu, ipsum. \\
\\Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi sed erat! Vivamus condimentum. Praesent euismod; nibh sed mollis feugiat, erat lorem commodo lectus, vitae tristique erat massa semper diam. Morbi vitae elit. \\Quisque sagittis leo non odio auctor faucibus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Pellentesque mi pede, lacinia id, commodo faucibus, rhoncus in, nibh. Praesent vestibulum aliquet quam!

18
mod/wiki/tests/fixtures/input/creole/6 vendored Normal file
View File

@ -0,0 +1,18 @@
Donec sem est, dictum ac, blandit ut, commodo vitae, pede. Proin auctor egestas est. Aliquam fermentum, dui ac malesuada facilisis, mauris felis porttitor turpis, non adipiscing odio mi sit amet felis. Duis dignissim posuere sem. Fusce consequat convallis lectus. Ut suscipit neque sed massa. Etiam suscipit. Sed vitae elit. Nulla non mi. Aliquam risus erat, varius eget, eleifend eget, scelerisque sit amet, enim. Proin venenatis.
* Donec ligula enim
* viverra at
* ultricies rutrum
* volutpat sed
** ligula
** Aenean laoreet tortor at lorem
* Fusce varius nunc quis lacus sodales posuere
** Integer laoreet congue ligula**
* Vestibulum condimentum
**dui ac porta imperdiet**
**Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam accumsan lectus vel sapien. Quisque laoreet lorem non dolor. Ut diam dolor, facilisis non, tempus eu, varius id, nunc. Aliquam sit amet lorem. Cras congue ultricies enim. Nunc vehicula, odio eget volutpat pharetra, leo pede commodo tellus, eu scelerisque erat purus non felis. Sed sed sem eget massa convallis eleifend? Nam tristique. Aliquam justo. Sed risus mi, egestas in, viverra a; tincidunt ac, mauris! Nulla magna. Aenean mauris velit, facilisis ut, condimentum eget, hendrerit ac, sem. Phasellus lorem. Curabitur augue mi; iaculis sit amet, suscipit eget, commodo nec; nibh. Cras pellentesque hendrerit quam. Praesent arcu dui, rhoncus non, feugiat ut, laoreet vitae, velit.**

View File

@ -0,0 +1,4 @@
= In nisi purus, varius in, mollis eget, interdum in, ipsum.
Vivamus lobortis. **Mauris dui dui, rutrum in, egestas nec, porttitor vehicula, risus!** Vivamus aliquam ultrices metus. //Donec ultricies, metus eget volutpat condimentum;// neque orci mattis dolor, non posuere eros dui et orci. Duis aliquam. Fusce sit amet nisl. Duis tempor dapibus diam? In venenatis congue mi? Aliquam metus erat; facilisis a, suscipit a, pretium vitae; ligula? Ut id metus a pede adipiscing commodo! {{{**Praesent ultricies urna et sapien.** //Donec adipiscing.//}}} Donec sit amet lacus.
{{{ lkdsjflsdjflsdkjflskdjlfk }}}

28
mod/wiki/tests/fixtures/input/creole/8 vendored Normal file
View File

@ -0,0 +1,28 @@
== Testing some tables
Phasellus urna erat; venenatis ac, iaculis sed, pretium ut, pede. Suspendisse mauris tellus, rhoncus a, tempor id, mattis non, nibh. Aliquam magna odio; hendrerit at, eleifend sed, dignissim quis, orci. Donec mollis, ante sit amet convallis porta, augue nibh viverra magna, ac scelerisque dui ligula eu felis. Sed eget magna. Proin eget ligula. Vestibulum ornare; sem molestie congue sollicitudin, mi velit porta est, pellentesque dignissim libero est at velit. Donec congue adipiscing massa? Nunc eget nisi eget elit facilisis ornare. Vestibulum et felis id leo feugiat sagittis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed tellus velit, luctus et, tempor non, tempor vitae, magna. Aliquam viverra tortor sit amet tellus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque nibh risus, dictum eu, tempor sit amet, posuere et, nulla.
Well formed table...
|= Name |= Surname |
| George | Washington |
| Abraham | Lincoln |
Not so well formed table
|= Name |= Surname |= Erroneous stuff |
| George | Washington |
| Abraham | Lincoln | Error error |
Bad headers:
| Name |= Surname |
|= George | Washington |
| Abraham |= Lincoln |
Two tables (treated as such) with some format:
|= Name |= Surname |
| **George** | //Washington// |
| Abraham | Lincoln |

133
mod/wiki/tests/fixtures/input/creole/9 vendored Normal file
View File

@ -0,0 +1,133 @@
= Top-level heading (1)
== This a test for creole 0.1 (2)
=== This is a Subheading (3)
==== Subsub (4)
===== Subsubsub (5)
The ending equal signs should not be displayed:
= Top-level heading (1) =
== This a test for creole 0.1 (2) ==
=== This is a Subheading (3) ===
==== Subsub (4) ====
===== Subsubsub (5) =====
You can make things **bold** or //italic// or **//both//** or //**both**//.
Character formatting extends across line breaks: **bold,
this is still bold. This line deliberately does not end in star-star.
Not bold. Character formatting does not cross paragraph boundaries.
You can use [[internal links]] or [[http://www.wikicreole.org|external links]],
give the link a [[internal links|different]] name.
Here's another sentence: This wisdom is taken from [[Ward Cunningham's]]
[[http://www.c2.com/doc/wikisym/WikiSym2006.pdf|Presentation at the Wikisym 06]].
Here's a external link without a description: [[http://www.wikicreole.org]]
Be careful that italic links are rendered properly: //[[http://my.book.example/|My Book Title]]//
Free links without braces should be rendered as well, like http://www.wikicreole.org/ and http://www.wikicreole.org/users/~example.
Creole1.0 specifies that http://bar and ftp://bar should not render italic, something like foo://bar should render as italic.//
You can use this to draw a line to separate the page:
----
You can use lists, start it at the first column for now, please...
unnumbered lists are like
* item a
* item b
* **bold item c**
blank space is also permitted before lists like:
* item a
* item b
* item c
** item c.a
or you can number them
# [[item 1]]
# item 2
# // italic item 3 //
## item 3.1
## item 3.2
up to five levels
* 1
** 2
*** 3
**** 4
***** 5
* You can have
multiline list items
* this is a second multiline
list item
You can use nowiki syntax if you would like do stuff like this:
{{{
Guitar Chord C:
||---|---|---|
||-0-|---|---|
||---|---|---|
||---|-0-|---|
||---|---|-0-|
||---|---|---|
}}}
You can also use it inline nowiki {{{ in a sentence }}} like this.
= Escapes =
Normal Link: http://wikicreole.org/ - now same link, but escaped: ~http://wikicreole.org/
Normal asterisks: ~**not bold~**
a tilde alone: ~
a tilde escapes itself: ~~xxx
=== Creole 0.2 ===
This should be a flower with the ALT text "this is a flower" if your wiki supports ALT text on images:
{{Red-Flower.jpg|here is a red flower}}
=== Creole 0.4 ===
Tables are done like this:
|=header col1|=header col2|
|col1|col2|
|you |can |
|also |align\\ it. |
You can format an address by simply forcing linebreaks:
My contact dates:\\
Pone: xyz\\
Fax: +45\\
Mobile: abc
=== Creole 0.5 ===
|= Header title |= Another header title |
| {{{ //not italic text// }}} | {{{ **not bold text** }}} |
| //italic text// | ** bold text ** |
=== Creole 1.0 ===
If interwiki links are setup in your wiki, this links to the WikiCreole page about Creole 1.0 test cases: [[WikiCreole:Creole1.0TestCases]].

20
mod/wiki/tests/fixtures/input/html/1 vendored Normal file
View File

@ -0,0 +1,20 @@
<h1>Header1</h1>
<p>
Etiam eget nibh leo. In luctus orci quis tellus sagittis egestas. Praesent et turpis augue, ac accumsan orci? Pellentesque porttitor sodales tortor; vitae faucibus dui auctor vel. Phasellus sit amet sem leo; eu adipiscing ipsum. Aliquam vehicula ipsum at diam imperdiet a condimentum urna commodo? Nunc ac lacus non lorem porttitor malesuada et sit amet diam! Aenean pulvinar lectus et dolor dignissim viverra placerat nisl mattis! Nunc non leo a massa imperdiet porta vel eu tellus. Sed ac est quis orci viverra cursus. Nam tellus mauris, facilisis nec faucibus sit amet, consequat in felis. Ut volutpat lacinia est ut fringilla. Pellentesque augue dui, aliquet et ornare euismod, egestas nec arcu! Vivamus gravida, lorem vitae suscipit condimentum, turpis arcu iaculis tortor; vel ullamcorper lorem ante id nisi. Ut sit amet sem tempor quam dignissim interdum. Nam aliquam, odio vitae volutpat semper; sapien turpis feugiat neque, ac ullamcorper felis enim vitae arcu. Morbi viverra feugiat justo, at ullamcorper ipsum posuere non.
</p>
<p>
Proin ultricies gravida dui a mattis. Integer nec nisl ante. Mauris euismod, tortor et fermentum semper; est mi adipiscing erat, non pellentesque orci dui ac arcu. Nam vitae metus augue. Integer magna nibh, elementum nec molestie eget; commodo sed turpis. Duis neque mi, vehicula sed aliquet id, ultricies sed tortor. Aliquam pharetra ante sapien. Etiam accumsan ipsum sed dolor bibendum congue sollicitudin enim fringilla. Nulla eros risus, auctor placerat vestibulum eget, tincidunt ac eros. Duis ut turpis leo, sit amet ornare arcu. Aliquam eu lorem in arcu accumsan iaculis. Integer placerat lacus in nibh sollicitudin euismod? Sed a urna vel dui sagittis varius cursus sit amet dolor. Nulla ut sem at magna fringilla hendrerit sed nec sapien. Aenean nisi elit, feugiat vel euismod non, laoreet sit amet ligula. Aenean a dui quam.
</p>
<p>
Curabitur dolor ligula, suscipit et eleifend nec, faucibus varius sapien. Quisque ornare felis ac leo tincidunt quis malesuada elit lobortis? Suspendisse potenti. Vestibulum tempus porta dui, at ullamcorper mauris sollicitudin vel? In convallis risus id elit ultrices pellentesque. Sed id quam lectus. Duis tincidunt egestas urna, in tempor tortor rhoncus ac. Sed commodo, nunc sit amet sodales vulputate, purus nisi malesuada urna, ut cursus nisl nunc vel enim. Mauris ut imperdiet risus. Integer sagittis; odio at laoreet venenatis, purus neque fermentum nisi, non elementum urna libero sed ipsum.
</p>
<h1>Header2</h1>
<p>
Etiam eget nibh leo. In luctus orci quis tellus sagittis egestas. Praesent et turpis augue, ac accumsan orci? Pellentesque porttitor sodales tortor; vitae faucibus dui auctor vel. Phasellus sit amet sem leo; eu adipiscing ipsum. Aliquam vehicula ipsum at diam imperdiet a condimentum urna commodo? Nunc ac lacus non lorem porttitor malesuada et sit amet diam! Aenean pulvinar lectus et dolor dignissim viverra placerat nisl mattis! Nunc non leo a massa imperdiet porta vel eu tellus. Sed ac est quis orci viverra cursus. Nam tellus mauris, facilisis nec faucibus sit amet, consequat in felis. Ut volutpat lacinia est ut fringilla. Pellentesque augue dui, aliquet et ornare euismod, egestas nec arcu! Vivamus gravida, lorem vitae suscipit condimentum, turpis arcu iaculis tortor; vel ullamcorper lorem ante id nisi. Ut sit amet sem tempor quam dignissim interdum. Nam aliquam, odio vitae volutpat semper; sapien turpis feugiat neque, ac ullamcorper felis enim vitae arcu. Morbi viverra feugiat justo, at ullamcorper ipsum posuere non.
</p>
<p>
Proin ultricies gravida dui a mattis. Integer nec nisl ante. Mauris euismod, tortor et fermentum semper; est mi adipiscing erat, non pellentesque orci dui ac arcu. Nam vitae metus augue. Integer magna nibh, elementum nec molestie eget; commodo sed turpis. Duis neque mi, vehicula sed aliquet id, ultricies sed tortor. Aliquam pharetra ante sapien. Etiam accumsan ipsum sed dolor bibendum congue sollicitudin enim fringilla. Nulla eros risus, auctor placerat vestibulum eget, tincidunt ac eros. Duis ut turpis leo, sit amet ornare arcu. Aliquam eu lorem in arcu accumsan iaculis. Integer placerat lacus in nibh sollicitudin euismod? Sed a urna vel dui sagittis varius cursus sit amet dolor. Nulla ut sem at magna fringilla hendrerit sed nec sapien. Aenean nisi elit, feugiat vel euismod non, laoreet sit amet ligula. Aenean a dui quam.
</p>
<p>
Curabitur dolor ligula, suscipit et eleifend nec, faucibus varius sapien. Quisque ornare felis ac leo tincidunt quis malesuada elit lobortis? Suspendisse potenti. Vestibulum tempus porta dui, at ullamcorper mauris sollicitudin vel? In convallis risus id elit ultrices pellentesque. Sed id quam lectus. Duis tincidunt egestas urna, in tempor tortor rhoncus ac. Sed commodo, nunc sit amet sodales vulputate, purus nisi malesuada urna, ut cursus nisl nunc vel enim. Mauris ut imperdiet risus. Integer sagittis; odio at laoreet venenatis, purus neque fermentum nisi, non elementum urna libero sed ipsum.
</p>

7
mod/wiki/tests/fixtures/input/html/2 vendored Normal file
View File

@ -0,0 +1,7 @@
<div class="spot">
<p class="spot-block">
<a href="/QA/Tools/Donate"><img style="border:none" class="newsImage" alt="I Love Validator" src="/QA/Tools/I_heart_validator.png" /></a>
[[Donate|Make a donation]] or become a
[[sponsor]]
of the http://validator.w3.org/ .</p>
</div>

20
mod/wiki/tests/fixtures/input/nwiki/1 vendored Normal file
View File

@ -0,0 +1,20 @@
= Header 1 =
First paragraph with no formats.
''This paragraph has bold text.''
== False header =
'''This part of the paragraph is italicized.''' But not this part.
==Header 2==
Some mix of '''italics''' and ''bold'', and some '''''italics & bold'''''.
And that '''italics and ''both'''''.
And this: '''italics and''' '''''both'''''.
---
----

23
mod/wiki/tests/fixtures/input/nwiki/2 vendored Normal file
View File

@ -0,0 +1,23 @@
= Links =
== Internal links ==
Some [[links]]. [[link|Another Link]].
=== Anchors ===
This is an [[#External links|anchor]] to the external links section.
And this is an [[link#Section|anchor to another page]].
== External links ==
A link to http://www.google.com , and a link to [http://www.apple.com|apple].
The same link to [http://www.apple.com Apple Corporation].
== Attachments & images ==
That's an [[attach:attachment.png|attachment]].
And that's an [[image:image.png|image]].

22
mod/wiki/tests/fixtures/input/nwiki/3 vendored Normal file
View File

@ -0,0 +1,22 @@
= Lists =
== Unordered lists ==
* 1
** 2
* 1
** 1
*** 3
***** ''bold''
* '''italic'''
== Ordered lists ==
# 1
#### 2
# 3
### 4
# 5
### 6

13
mod/wiki/tests/fixtures/input/nwiki/4 vendored Normal file
View File

@ -0,0 +1,13 @@
{|
| A
| B
|-
| C
| D
|}
{|
! A !! B
|-
| C || D
|}

0
mod/wiki/tests/fixtures/input/nwiki/5 vendored Normal file
View File

View File

@ -0,0 +1,3 @@
<p>Donec semper, nunc nec imperdiet lacinia, dui magna gravida odio, ut pretium nisl sapien ut lacus. Pellentesque nec pede. Praesent condimentum. Aliquam porttitor mi ut odio! Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed laoreet mauris vitae tellus. Curabitur dignissim. Duis ac leo. Nam gravida pharetra sapien. Sed feugiat lobortis orci. Cras sed nisl. Curabitur congue mollis erat. Quisque dictum! Praesent a lectus. Pellentesque nulla nisi; tempus eget, tincidunt id; tincidunt vel, nisl.</p>
<p>Duis consequat vulputate felis. Praesent diam nisi, venenatis vitae; dignissim quis, feugiat ut, pede. Maecenas tincidunt iaculis elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed sed nulla at eros mollis tempor. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam bibendum lorem at sem. Morbi blandit. Nullam volutpat mi. Suspendisse dapibus lacus vel nisl. Ut lacinia adipiscing mi! Maecenas ipsum erat, accumsan quis, cursus ut, ultrices in; metus. Nulla adipiscing rhoncus ante? Nulla hendrerit tortor sit amet mauris. Cras varius dui vel leo. Proin vulputate! Phasellus lacus arcu, eleifend a, accumsan at, vulputate sed, neque. Fusce leo ante, interdum ac, tincidunt non, scelerisque eu, velit. Suspendisse sed nunc. Aenean sodales turpis!</p>
<p>Suspendisse fringilla fermentum sem. Integer viverra dui id dolor! Mauris ornare eros vel nunc. Phasellus ligula nulla, vestibulum eget, vestibulum vel, aliquam eget, eros. Integer in pede. Fusce ultricies viverra ante. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Pellentesque eget lorem ut mi vestibulum facilisis. Vestibulum augue. Curabitur arcu pede, fringilla eu, placerat id, condimentum sit amet, lectus. Fusce at diam eu justo semper interdum. Vivamus id turpis at justo tempus tempor. Maecenas eros libero, bibendum non, dictum ut, blandit id, augue. Pellentesque facilisis. Aenean aliquet sem. In tellus!</p>

12
mod/wiki/tests/fixtures/output/creole/2 vendored Normal file
View File

@ -0,0 +1,12 @@
<h1><a name="toc-1"></a>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</h1>
<p>Phasellus odio? Ut ac leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus enim justo, porttitor at, lacinia vitae; consectetuer et, ante? Maecenas eget libero. Duis est. Curabitur tincidunt dictum ligula. Nunc euismod lectus quis mi. Proin et enim sed nunc scelerisque posuere. Suspendisse enim purus, sodales non, tristique vel, sollicitudin ullamcorper, nulla. Aliquam condimentum; tellus eu vulputate facilisis, ante pede rhoncus elit, vel euismod nulla sapien et metus?</p>
<h2><a name="toc-2"></a>Praesent tristique facilisis metus.</h2>
<p>Quisque lectus? Morbi ultrices ultricies neque. In ligula sem; pretium eget, iaculis laoreet, pulvinar sed, dui. Proin mattis luctus diam. Aenean eget risus in mauris sagittis vehicula. Vivamus dapibus enim ac dolor. Pellentesque leo. Praesent tristique facilisis metus. Nulla imperdiet ante et urna? Maecenas leo nisi, lacinia sollicitudin, viverra at, aliquet et, justo. Quisque congue dolor.</p>
<h3><a name="toc-3"></a>Phasellus ut augue ut felis porttitor condimentum.</h3>
<p>Aliquam erat volutpat. Phasellus ut augue ut felis porttitor condimentum. Nam sapien tellus, tempus sed; mattis quis, viverra quis, mauris. Suspendisse venenatis sollicitudin massa. Pellentesque lobortis dolor vitae nisl. Nulla interdum aliquet neque. Duis nisl pede, vestibulum in, tristique eget, viverra vitae, erat. Maecenas justo turpis, convallis sit amet, tristique eu, laoreet et, augue. Fusce sem. Pellentesque ut turpis? Morbi suscipit sollicitudin metus? Morbi pharetra, sem eget ornare tempor, neque erat dapibus lacus, ut tincidunt nisi leo sed nunc. Sed sodales dignissim eros. Duis vitae risus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed lobortis consequat sem. Nunc posuere vulputate velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis vestibulum pellentesque neque.</p>
<h4>Sed adipiscing dui at massa. Nulla consectetuer tristique lacus?</h4>
<p>Maecenas lacus justo, pellentesque vitae, mattis vitae, rutrum sit amet, metus! Etiam aliquam odio vel nulla. Suspendisse ante. Pellentesque viverra leo at lorem! Ut pharetra egestas ante. Aliquam erat volutpat. Sed adipiscing dui at massa. Nulla consectetuer tristique lacus? Donec ante leo, condimentum non, consectetuer vel, sodales placerat, tortor. Etiam at diam at elit adipiscing ultrices. Etiam lectus sapien, congue sed, sodales quis, ultricies a, libero. Pellentesque tincidunt!</p>
<h2><a name="toc-4"></a>Curabitur euismod sollicitudin nibh</h2>
<p>Curabitur euismod sollicitudin nibh. Duis nec diam. Sed nunc quam, lobortis nec; tristique et, dignissim eget, massa. Suspendisse sagittis malesuada tortor. Nullam lectus diam, mollis id, malesuada at, gravida ut, nisl. In hac habitasse platea dictumst. Sed a purus. Etiam velit urna, lacinia et, imperdiet quis, varius quis, orci! Sed dolor ante, mollis in, ultrices in, vestibulum vitae; justo. Vestibulum accumsan vehicula risus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus sit amet diam lobortis urna tristique pretium. Quisque erat.</p>
<h4>Duis nec diam.</h4>
<p>Pellentesque lobortis dolor vitae nisl. Nulla interdum aliquet neque. Duis nisl pede, vestibulum in, tristique eget, viverra vitae, erat. Maecenas justo turpis, convallis sit amet, tristique eu, laoreet et, augue. Fusce sem. Pellentesque ut turpis? Morbi suscipit sollicitudin metus? Morbi pharetra, sem eget ornare tempor, neque erat dapibus lacus, ut tincidunt nisi leo sed nunc. Sed sodales dignissim eros. Duis vitae risus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed lobortis consequat sem. Nunc posuere vulputate velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis vestibulum pellentesque neque.</p>

View File

@ -0,0 +1,5 @@
<h1><a name="toc-1"></a>In nisi purus, varius in, mollis eget, interdum in, ipsum.</h1>
<p>Vivamus lobortis. <strong>Mauris dui dui, rutrum in, egestas nec, porttitor vehicula, risus!</strong> Vivamus aliquam ultrices metus. <em>Donec ultricies, metus eget volutpat condimentum;</em> neque orci mattis dolor, non posuere eros dui et orci. Duis aliquam. Fusce sit amet nisl. Duis tempor dapibus diam? In venenatis congue mi? Aliquam metus erat; facilisis a, suscipit a, pretium vitae; ligula? Ut id metus a pede adipiscing commodo! <strong>Praesent ultricies urna et sapien.</strong> <em>Donec adipiscing.</em> Donec sit amet lacus.</p>
<h2><a name="toc-2"></a>**In nisi purus**, //varius in,// mollis eget, interdum in, ipsum.</h2>
<p>Duis feugiat ligula ac elit. %!34%!Nulla sed arcu a risus sodales mattis. Etiam magna arcu, accumsan vitae, sodales non, faucibus quis, nunc. Aenean ut elit. Pellentesque malesuada lacus a orci. Suspendisse in erat sed mi porta faucibus. Nullam a nibh. Suspendisse potenti. Nam malesuada lobortis nibh. Ut venenatis, nibh ac convallis iaculis, justo pede tristique sapien, vel ultricies massa diam id leo. Pellentesque ullamcorper condimentum urna. //Proin dui lacus; scelerisque nec, condimentum non, <strong>lobortis ac, felis.</strong></p>
<p>//Nullam ac neque. %!4%!<strong>Praesent quis tellus. </strong>Maecenas<strong> et felis vitae lectus porttitor dignissim. Etiam at dui id nibh molestie semper. Sed vulputate nunc et neque. Fusce consectetur elit id leo. <em>Nulla facilisi. </em>Donec vitae nulla ac nisl mollis blandit. //Nulla adipiscing.</strong> Phasellus quis odio sed eros viverra sodales. Suspendisse eget mauris id urna convallis fringilla. Aliquam dolor. Sed commodo. Quisque vestibulum, eros in mollis rutrum, odio risus aliquam turpis; nec convallis ante justo in dui? Pellentesque pharetra venenatis odio. Nulla placerat, libero at lacinia pellentesque; nisi massa sodales risus, at tincidunt orci pede sed ipsum. Etiam massa! Nullam aliquet justo at erat placerat convallis.</p>

View File

@ -0,0 +1,6 @@
<h2><a name="toc-1"></a>Donec ultricies neque eu libero scelerisque feugiat.</h2>
<p><strong>Donec ultricies <em>neque eu <a href="http://libero">libero</a> scelerisque </em>feugiat. <em>Cras sed ante.</em> Sed volutpat urna eu diam. Curabitur fringilla lacinia mi.</strong> Quisque lorem. Etiam fringilla consequat dui. Nunc est est; aliquet eu, porttitor auctor; malesuada id, massa. <a href="http://Nullam">Nullam feugiat</a>, nulla eget vulputate facilisis, erat odio vestibulum mi, eget volutpat lorem enim vitae eros. Vestibulum convallis. Maecenas posuere pellentesque mi? Donec consectetur volutpat dolor. <a href="http://%2A%2ACurabitur%2A%2A">**Curabitur**</a> non <strong><a href="http://%2F%2FTellus%2A%2A">tellus nec ligula bibendum pulvinar.</a></strong></p>
<p><a href="http://www.google.com">http://www.google.com</a>
<a href="http://www.google.com">http://www.google.com</a></p>
<p>http://www.apple.com
[[Link que no va]]</p>

View File

@ -0,0 +1,4 @@
<h1><a name="toc-1"></a>Integer eu leo? \\ Quisque posuere.</h1>
<p>Nunc commodo nisi vitae quam. Etiam tincidunt; lectus eu tempus molestie, elit enim auctor tortor, in varius leo mi ac risus. Sed iaculis magna vel libero. Pellentesque iaculis, tellus in ullamcorper tempus, justo sapien scelerisque enim, eu ornare dui neque sed ligula. <br />Vestibulum porta justo a dolor. Duis mollis quam vel sem. Quisque vel arcu. Pellentesque sem. Aliquam adipiscing neque quis turpis. Mauris placerat, elit quis iaculis vehicula, sem nulla imperdiet nunc, in elementum felis lectus non magna. Mauris cursus; odio eu sagittis sodales, nisi nibh pellentesque tortor, ut ultricies lacus tellus non odio. In semper, ligula eu condimentum posuere, sapien tellus blandit quam, dapibus iaculis lacus erat eget ipsum. Duis pulvinar molestie magna. Aliquam bibendum quam ac nulla!</p>
<h2><a name="toc-2"></a>Fusce justo. Aliquam felis tellus, tempor vel, congue quis, tempus eu, ipsum. \\</h2>
<p><br />Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi sed erat! Vivamus condimentum. Praesent euismod; nibh sed mollis feugiat, erat lorem commodo lectus, vitae tristique erat massa semper diam. Morbi vitae elit. <br />Quisque sagittis leo non odio auctor faucibus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Pellentesque mi pede, lacinia id, commodo faucibus, rhoncus in, nibh. Praesent vestibulum aliquet quam!</p>

21
mod/wiki/tests/fixtures/output/creole/6 vendored Normal file
View File

@ -0,0 +1,21 @@
<p>Donec sem est, dictum ac, blandit ut, commodo vitae, pede. Proin auctor egestas est. Aliquam fermentum, dui ac malesuada facilisis, mauris felis porttitor turpis, non adipiscing odio mi sit amet felis. Duis dignissim posuere sem. Fusce consequat convallis lectus. Ut suscipit neque sed massa. Etiam suscipit. Sed vitae elit. Nulla non mi. Aliquam risus erat, varius eget, eleifend eget, scelerisque sit amet, enim. Proin venenatis.</p>
<ul>
<li>Donec ligula enim</li>
<li>viverra at</li>
<li>ultricies rutrum</li>
</ul>
<ul>
<li>volutpat sed
<ul>
<li>ligula</li>
<li>Aenean laoreet tortor at lorem</li>
</ul>
</li>
<li>Fusce varius nunc quis lacus sodales posuere</li>
</ul>
<p><strong> Integer laoreet congue ligula</strong></p>
<ul>
<li>Vestibulum condimentum</li>
</ul>
<p><strong>dui ac porta imperdiet</strong></p>
<p><strong>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam accumsan lectus vel sapien. Quisque laoreet lorem non dolor. Ut diam dolor, facilisis non, tempus eu, varius id, nunc. Aliquam sit amet lorem. Cras congue ultricies enim. Nunc vehicula, odio eget volutpat pharetra, leo pede commodo tellus, eu scelerisque erat purus non felis. Sed sed sem eget massa convallis eleifend? Nam tristique. Aliquam justo. Sed risus mi, egestas in, viverra a; tincidunt ac, mauris! Nulla magna. Aenean mauris velit, facilisis ut, condimentum eget, hendrerit ac, sem. Phasellus lorem. Curabitur augue mi; iaculis sit amet, suscipit eget, commodo nec; nibh. Cras pellentesque hendrerit quam. Praesent arcu dui, rhoncus non, feugiat ut, laoreet vitae, velit.</strong></p>

View File

@ -0,0 +1,3 @@
<h1><a name="toc-1"></a>In nisi purus, varius in, mollis eget, interdum in, ipsum.</h1>
<p>Vivamus lobortis. <strong>Mauris dui dui, rutrum in, egestas nec, porttitor vehicula, risus!</strong> Vivamus aliquam ultrices metus. <em>Donec ultricies, metus eget volutpat condimentum;</em> neque orci mattis dolor, non posuere eros dui et orci. Duis aliquam. Fusce sit amet nisl. Duis tempor dapibus diam? In venenatis congue mi? Aliquam metus erat; facilisis a, suscipit a, pretium vitae; ligula? Ut id metus a pede adipiscing commodo! <tt>**Praesent ultricies urna et sapien.** //Donec adipiscing.//</tt> Donec sit amet lacus.</p>
<pre> lkdsjflsdjflsdkjflskdjlfk </pre>

85
mod/wiki/tests/fixtures/output/creole/8 vendored Normal file
View File

@ -0,0 +1,85 @@
<h2><a name="toc-1"></a>Testing some tables</h2>
<p>Phasellus urna erat; venenatis ac, iaculis sed, pretium ut, pede. Suspendisse mauris tellus, rhoncus a, tempor id, mattis non, nibh. Aliquam magna odio; hendrerit at, eleifend sed, dignissim quis, orci. Donec mollis, ante sit amet convallis porta, augue nibh viverra magna, ac scelerisque dui ligula eu felis. Sed eget magna. Proin eget ligula. Vestibulum ornare; sem molestie congue sollicitudin, mi velit porta est, pellentesque dignissim libero est at velit. Donec congue adipiscing massa? Nunc eget nisi eget elit facilisis ornare. Vestibulum et felis id leo feugiat sagittis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed tellus velit, luctus et, tempor non, tempor vitae, magna. Aliquam viverra tortor sit amet tellus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque nibh risus, dictum eu, tempor sit amet, posuere et, nulla.</p>
<p>Well formed table...</p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Surname</th>
</tr>
</thead>
<tbody>
<tr>
<td>George</td>
<td>Washington</td>
</tr>
<tr>
<td>Abraham</td>
<td>Lincoln</td>
</tr>
</tbody>
</table>
<p>Not so well formed table</p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Surname</th>
<th>Erroneous stuff</th>
</tr>
</thead>
<tbody>
<tr>
<td>George</td>
<td>Washington</td>
<td></td>
</tr>
<tr>
<td>Abraham</td>
<td>Lincoln</td>
<td>Error error</td>
</tr>
</tbody>
</table>
<p>Bad headers:</p>
<table>
<thead>
<tr>
<td>Name</td>
<th>Surname</th>
</tr>
</thead>
<tbody>
<tr>
<th>George</th>
<td>Washington</td>
</tr>
<tr>
<td>Abraham</td>
<th>Lincoln</th>
</tr>
</tbody>
</table>
<p>Two tables (treated as such) with some format:</p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Surname</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>George</strong></td>
<td><em>Washington</em></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Abraham</td>
<td>Lincoln</td>
</tr>
</tbody>
</table>

146
mod/wiki/tests/fixtures/output/creole/9 vendored Normal file
View File

@ -0,0 +1,146 @@
<h1><a name="toc-1"></a>Top-level heading (1)</h1>
<h2><a name="toc-2"></a>This a test for creole 0.1 (2)</h2>
<h3><a name="toc-3"></a>This is a Subheading (3)</h3>
<h4>Subsub (4)</h4>
<h5>Subsubsub (5)</h5>
<p>The ending equal signs should not be displayed:</p>
<p>Top-level heading (1)</p>
<h2><a name="toc-4"></a>This a test for creole 0.1 (2)</h2>
<h3><a name="toc-5"></a>This is a Subheading (3)</h3>
<h4>Subsub (4)</h4>
<h5>Subsubsub (5)</h5>
<p>You can make things <strong>bold</strong> or <em>italic</em> or <strong><em>both</em></strong> or <em><strong>both</strong></em>.</p>
<p>Character formatting extends across line breaks: <strong>bold,
this is still bold. This line deliberately does not end in star-star.</strong></p>
<p>Not bold. Character formatting does not cross paragraph boundaries.</p>
<p>You can use <a href="http://internal+links">internal links</a> or <a href="http://www.wikicreole.org">external links</a>,
give the link a <a href="http://internal+links">different</a> name.</p>
<p>Here's another sentence: This wisdom is taken from <a href="http://Ward+Cunningham%27s">Ward Cunningham's</a>
<a href="http://www.c2.com/doc/wikisym/WikiSym2006.pdf">Presentation at the Wikisym 06</a>.</p>
<p>Here's a external link without a description: <a href="http://www.wikicreole.org">http://www.wikicreole.org</a></p>
<p>Be careful that italic links are rendered properly: <em><a href="http://my.book.example/">My Book Title</a></em> </p>
<p>Free links without braces should be rendered as well, like <a href="http://www.wikicreole.org/">http://www.wikicreole.org/</a> and <a href="http://www.wikicreole.org/users/~example">http://www.wikicreole.org/users/~example</a>. </p>
<p>Creole1.0 specifies that <a href="http://bar">http://bar</a> and <a href="ftp://bar">ftp://bar</a> should not render italic, something like foo:<em>bar should render as italic.</em></p>
<p>You can use this to draw a line to separate the page:</p>
<hr />
<p>You can use lists, start it at the first column for now, please...</p>
<p>unnumbered lists are like</p>
<ul>
<li>item a</li>
<li>item b</li>
<li><strong>bold item c</strong></li>
</ul>
<p>blank space is also permitted before lists like:</p>
<ul>
<li>item a</li>
<li>item b</li>
<li>item c
<ul>
<li>item c.a</li>
</ul>
</li>
</ul>
<p>or you can number them</p>
<ol>
<li><a href="http://item+1">item 1</a></li>
<li>item 2</li>
<li><em> italic item 3 </em>
<ol>
<li>item 3.1</li>
<li>item 3.2</li>
</ol>
</li>
</ol>
<p>up to five levels</p>
<ul>
<li>1
<ul>
<li>2
<ul>
<li>3
<ul>
<li>4
<ul>
<li>5</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li>You can havemultiline list items</li>
<li>this is a second multilinelist item</li>
</ul>
<p>You can use nowiki syntax if you would like do stuff like this:</p>
<pre>
Guitar Chord C:
||---|---|---|
||-0-|---|---|
||---|---|---|
||---|-0-|---|
||---|---|-0-|
||---|---|---|
</pre>
<p>You can also use it inline nowiki <tt> in a sentence </tt> like this.</p>
<h1><a name="toc-6"></a>Escapes</h1>
<p>Normal Link: <a href="http://wikicreole.org/">http://wikicreole.org/</a> - now same link, but escaped: http://wikicreole.org/ </p>
<p>Normal asterisks: **not bold**</p>
<p>a tilde alone: ~</p>
<p>a tilde escapes itself: ~xxx</p>
<h3><a name="toc-7"></a>Creole 0.2</h3>
<p>This should be a flower with the ALT text &quot;this is a flower&quot; if your wiki supports ALT text on images:</p>
<p><div class="wiki_image_left"><p></p><img src="Red-Flower.jpg" alt="here is a red flower" /></div></p>
<h3><a name="toc-8"></a>Creole 0.4</h3>
<p>Tables are done like this:</p>
<table>
<thead>
<tr>
<th>header col1</th>
<th>header col2</th>
</tr>
</thead>
<tbody>
<tr>
<td>col1</td>
<td>col2</td>
</tr>
<tr>
<td>you</td>
<td>can</td>
</tr>
<tr>
<td>also</td>
<td>align<br /> it.</td>
</tr>
</tbody>
</table>
<p>You can format an address by simply forcing linebreaks:</p>
<p>My contact dates:<br />
Pone: xyz<br />
Fax: +45<br />
Mobile: abc</p>
<h3><a name="toc-9"></a>Creole 0.5</h3>
<table>
<thead>
<tr>
<th>Header title</th>
<th>Another header title</th>
</tr>
</thead>
<tbody>
<tr>
<td><tt> //not italic text// </tt></td>
<td><tt> **not bold text** </tt></td>
</tr>
<tr>
<td><em>italic text</em></td>
<td><strong> bold text </strong></td>
</tr>
</tbody>
</table>
<h3><a name="toc-10"></a>Creole 1.0</h3>
<p>If interwiki links are setup in your wiki, this links to the WikiCreole page about Creole 1.0 test cases: <a href="http://WikiCreole%3ACreole1.0TestCases">WikiCreole:Creole1.0TestCases</a>.</p>

20
mod/wiki/tests/fixtures/output/html/1 vendored Normal file
View File

@ -0,0 +1,20 @@
<h1><a name="toc-1"></a>Header1</h1>
<p>
Etiam eget nibh leo. In luctus orci quis tellus sagittis egestas. Praesent et turpis augue, ac accumsan orci? Pellentesque porttitor sodales tortor; vitae faucibus dui auctor vel. Phasellus sit amet sem leo; eu adipiscing ipsum. Aliquam vehicula ipsum at diam imperdiet a condimentum urna commodo? Nunc ac lacus non lorem porttitor malesuada et sit amet diam! Aenean pulvinar lectus et dolor dignissim viverra placerat nisl mattis! Nunc non leo a massa imperdiet porta vel eu tellus. Sed ac est quis orci viverra cursus. Nam tellus mauris, facilisis nec faucibus sit amet, consequat in felis. Ut volutpat lacinia est ut fringilla. Pellentesque augue dui, aliquet et ornare euismod, egestas nec arcu! Vivamus gravida, lorem vitae suscipit condimentum, turpis arcu iaculis tortor; vel ullamcorper lorem ante id nisi. Ut sit amet sem tempor quam dignissim interdum. Nam aliquam, odio vitae volutpat semper; sapien turpis feugiat neque, ac ullamcorper felis enim vitae arcu. Morbi viverra feugiat justo, at ullamcorper ipsum posuere non.
</p>
<p>
Proin ultricies gravida dui a mattis. Integer nec nisl ante. Mauris euismod, tortor et fermentum semper; est mi adipiscing erat, non pellentesque orci dui ac arcu. Nam vitae metus augue. Integer magna nibh, elementum nec molestie eget; commodo sed turpis. Duis neque mi, vehicula sed aliquet id, ultricies sed tortor. Aliquam pharetra ante sapien. Etiam accumsan ipsum sed dolor bibendum congue sollicitudin enim fringilla. Nulla eros risus, auctor placerat vestibulum eget, tincidunt ac eros. Duis ut turpis leo, sit amet ornare arcu. Aliquam eu lorem in arcu accumsan iaculis. Integer placerat lacus in nibh sollicitudin euismod? Sed a urna vel dui sagittis varius cursus sit amet dolor. Nulla ut sem at magna fringilla hendrerit sed nec sapien. Aenean nisi elit, feugiat vel euismod non, laoreet sit amet ligula. Aenean a dui quam.
</p>
<p>
Curabitur dolor ligula, suscipit et eleifend nec, faucibus varius sapien. Quisque ornare felis ac leo tincidunt quis malesuada elit lobortis? Suspendisse potenti. Vestibulum tempus porta dui, at ullamcorper mauris sollicitudin vel? In convallis risus id elit ultrices pellentesque. Sed id quam lectus. Duis tincidunt egestas urna, in tempor tortor rhoncus ac. Sed commodo, nunc sit amet sodales vulputate, purus nisi malesuada urna, ut cursus nisl nunc vel enim. Mauris ut imperdiet risus. Integer sagittis; odio at laoreet venenatis, purus neque fermentum nisi, non elementum urna libero sed ipsum.
</p>
<h1><a name="toc-2"></a>Header2</h1>
<p>
Etiam eget nibh leo. In luctus orci quis tellus sagittis egestas. Praesent et turpis augue, ac accumsan orci? Pellentesque porttitor sodales tortor; vitae faucibus dui auctor vel. Phasellus sit amet sem leo; eu adipiscing ipsum. Aliquam vehicula ipsum at diam imperdiet a condimentum urna commodo? Nunc ac lacus non lorem porttitor malesuada et sit amet diam! Aenean pulvinar lectus et dolor dignissim viverra placerat nisl mattis! Nunc non leo a massa imperdiet porta vel eu tellus. Sed ac est quis orci viverra cursus. Nam tellus mauris, facilisis nec faucibus sit amet, consequat in felis. Ut volutpat lacinia est ut fringilla. Pellentesque augue dui, aliquet et ornare euismod, egestas nec arcu! Vivamus gravida, lorem vitae suscipit condimentum, turpis arcu iaculis tortor; vel ullamcorper lorem ante id nisi. Ut sit amet sem tempor quam dignissim interdum. Nam aliquam, odio vitae volutpat semper; sapien turpis feugiat neque, ac ullamcorper felis enim vitae arcu. Morbi viverra feugiat justo, at ullamcorper ipsum posuere non.
</p>
<p>
Proin ultricies gravida dui a mattis. Integer nec nisl ante. Mauris euismod, tortor et fermentum semper; est mi adipiscing erat, non pellentesque orci dui ac arcu. Nam vitae metus augue. Integer magna nibh, elementum nec molestie eget; commodo sed turpis. Duis neque mi, vehicula sed aliquet id, ultricies sed tortor. Aliquam pharetra ante sapien. Etiam accumsan ipsum sed dolor bibendum congue sollicitudin enim fringilla. Nulla eros risus, auctor placerat vestibulum eget, tincidunt ac eros. Duis ut turpis leo, sit amet ornare arcu. Aliquam eu lorem in arcu accumsan iaculis. Integer placerat lacus in nibh sollicitudin euismod? Sed a urna vel dui sagittis varius cursus sit amet dolor. Nulla ut sem at magna fringilla hendrerit sed nec sapien. Aenean nisi elit, feugiat vel euismod non, laoreet sit amet ligula. Aenean a dui quam.
</p>
<p>
Curabitur dolor ligula, suscipit et eleifend nec, faucibus varius sapien. Quisque ornare felis ac leo tincidunt quis malesuada elit lobortis? Suspendisse potenti. Vestibulum tempus porta dui, at ullamcorper mauris sollicitudin vel? In convallis risus id elit ultrices pellentesque. Sed id quam lectus. Duis tincidunt egestas urna, in tempor tortor rhoncus ac. Sed commodo, nunc sit amet sodales vulputate, purus nisi malesuada urna, ut cursus nisl nunc vel enim. Mauris ut imperdiet risus. Integer sagittis; odio at laoreet venenatis, purus neque fermentum nisi, non elementum urna libero sed ipsum.
</p>

7
mod/wiki/tests/fixtures/output/html/2 vendored Normal file
View File

@ -0,0 +1,7 @@
<div class="spot">
<p class="spot-block">
<a href="/QA/Tools/Donate"><img style="border:none" class="newsImage" alt="I Love Validator" src="/QA/Tools/I_heart_validator.png" /></a>
<a href="http://Donate">Make a donation</a> or become a
<a href="http://sponsor">sponsor</a>
of the <a href="http://validator.w3.org/">http://validator.w3.org/</a> .</p>
</div>

11
mod/wiki/tests/fixtures/output/nwiki/1 vendored Normal file
View File

@ -0,0 +1,11 @@
<h1><a name="toc-1"></a>Header 1</h1>
<p>First paragraph with no formats.</p>
<p><strong>This paragraph has bold text.</strong></p>
<p>== False header =</p>
<p><em>This part of the paragraph is italicized.</em> But not this part.</p>
<h2><a name="toc-2"></a>Header 2</h2>
<p>Some mix of <em>italics</em> and <strong>bold</strong>, and some <em><strong>italics & bold</strong></em>.</p>
<p>And that <em>italics and <strong>both</strong></em>.</p>
<p>And this: <em>italics and</em> <em><strong>both</strong></em>.</p>
<hr />
<hr />

12
mod/wiki/tests/fixtures/output/nwiki/2 vendored Normal file
View File

@ -0,0 +1,12 @@
<h1><a name="toc-1"></a>Links</h1>
<h2><a name="toc-2"></a>Internal links</h2>
<p>Some <a href="http://links">links</a>. <a href="http://link">Another Link</a>.</p>
<h3><a name="toc-3"></a>Anchors</h3>
<p>This is an <a href="#External+links">anchor</a> to the external links section.</p>
<p>And this is an <a href="http://link#Section">anchor to another page</a>.</p>
<h2><a name="toc-4"></a>External links</h2>
<p>A link to <a href="http://www.google.com">http://www.google.com</a> , and a link to <a href="http://www.apple.com">apple</a>. </p>
<p>The same link to <a href="http://www.apple.com">Apple Corporation</a>.</p>
<h2><a name="toc-5"></a>Attachments & images</h2>
<p>That's an <a href="attachment.png" class="wiki-attachment">attachment</a>.</p>
<p>And that's an <div class="wiki_image_left"><p></p><img src="image.png" alt="image" /></div>.</p>

39
mod/wiki/tests/fixtures/output/nwiki/3 vendored Normal file
View File

@ -0,0 +1,39 @@
<h1><a name="toc-1"></a>Lists</h1>
<h2><a name="toc-2"></a>Unordered lists</h2>
<ul>
<li>1
<ul>
<li>2</li>
</ul>
</li>
<li>1</li>
</ul>
<ul>
<li>1
<ul>
<li>3
<ul>
<li><strong>bold</strong></li>
</ul>
</li>
</ul>
</li>
<li><em>italic</em></li>
</ul>
<h2><a name="toc-3"></a>Ordered lists</h2>
<ol>
<li>1
<ol>
<li>2</li>
</ol>
</li>
<li>3</li>
</ol>
<ol>
<li>4</li>
<li>5
<ol>
<li>6</li>
</ol>
</li>
</ol>

26
mod/wiki/tests/fixtures/output/nwiki/4 vendored Normal file
View File

@ -0,0 +1,26 @@
<table>
<tbody>
<tr>
<td>A</td>
<td>B</td>
</tr>
<tr>
<td>C</td>
<td>D</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th>A</th>
<th>B</th>
</tr>
</thead>
<tbody>
<tr>
<td>C</td>
<td>D</td>
</tr>
</tbody>
</table>

View File

@ -0,0 +1 @@

View File

@ -0,0 +1,77 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Unit tests for the wiki parser
*
* @package mod_wiki
* @category phpunit
* @copyrigth 2009 Marc Alier, Jordi Piguillem marc.alier@upc.edu
* @copyrigth 2009 Universitat Politecnica de Catalunya http://www.upc.edu
*
* @author Jordi Piguillem
* @author Marc Alier
* @author David Jimenez
* @author Josep Arus
* @author Kenneth Riba
*
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die;
global $CFG;
require_once($CFG->dirroot . '/mod/wiki/parser/parser.php');
class mod_wiki_wikiparser_test extends basic_testcase {
function testCreoleMarkup() {
$this->assertTestFiles('creole');
}
function testNwikiMarkup() {
$this->assertTestFiles('nwiki');
}
function testHtmlMarkup() {
$this->assertTestFiles('html');
}
private function assertTestFile($num, $markup) {
if(!file_exists(__DIR__."/fixtures/input/$markup/$num") || !file_exists(__DIR__."/fixtures/output/$markup/$num")) {
return false;
}
$input = file_get_contents(__DIR__."/fixtures/input/$markup/$num");
$output = file_get_contents(__DIR__."/fixtures/output/$markup/$num");
$result = wiki_parser_proxy::parse($input, $markup, array('pretty_print' => true));
//removes line breaks to avoid line break encoding causing tests to fail.
$result['parsed_text'] = preg_replace('~[\r\n]~', '', $result['parsed_text']);
$output = preg_replace('~[\r\n]~', '', $output);
$this->assertEquals($result['parsed_text'], $output);
return true;
}
private function assertTestFiles($markup) {
$i = 1;
while($this->assertTestFile($i, $markup)) {
$i++;
}
}
}