From 3d89ccb37460223a891aa355cd2ec5ff26289b4b Mon Sep 17 00:00:00 2001 From: Marina Glancy Date: Tue, 9 Feb 2016 17:47:14 +0800 Subject: [PATCH] MDL-49807 mod_wiki: minimum heading level should always be

--- mod/wiki/parser/markups/html.php | 23 ++++++++-- mod/wiki/parser/markups/wikimarkup.php | 5 ++- mod/wiki/tests/fixtures/input/html/3 | 20 +++++++++ mod/wiki/tests/fixtures/output/creole/2 | 12 ++--- mod/wiki/tests/fixtures/output/creole/3 | 4 +- mod/wiki/tests/fixtures/output/creole/4 | 2 +- mod/wiki/tests/fixtures/output/creole/5 | 4 +- mod/wiki/tests/fixtures/output/creole/7 | 2 +- mod/wiki/tests/fixtures/output/creole/8 | 2 +- mod/wiki/tests/fixtures/output/creole/9 | 28 ++++++------ mod/wiki/tests/fixtures/output/html/1 | 4 +- mod/wiki/tests/fixtures/output/html/3 | 20 +++++++++ mod/wiki/tests/fixtures/output/nwiki/1 | 4 +- mod/wiki/tests/fixtures/output/nwiki/2 | 10 ++--- mod/wiki/tests/fixtures/output/nwiki/3 | 6 +-- mod/wiki/tests/wikiparser_test.php | 58 +++++++++++++++---------- 16 files changed, 138 insertions(+), 66 deletions(-) create mode 100644 mod/wiki/tests/fixtures/input/html/3 create mode 100644 mod/wiki/tests/fixtures/output/html/3 diff --git a/mod/wiki/parser/markups/html.php b/mod/wiki/parser/markups/html.php index a2ae932e09ef4..355c634991d30 100644 --- a/mod/wiki/parser/markups/html.php +++ b/mod/wiki/parser/markups/html.php @@ -15,22 +15,37 @@ class html_parser extends nwiki_parser { protected $section_editing = true; + /** @var int Minimum level of the headers on the page (usually tinymce uses

and atto

) */ + protected $minheaderlevel = null; + public function __construct() { parent::__construct(); // The order is important, headers should be parsed before links. $this->tagrules = array( // Headers are considered tags here. 'header' => array( - 'expression' => "/<\s*h([1-$this->maxheaderdepth])\s*>(.+?)<\/h[1-$this->maxheaderdepth]>/is" + 'expression' => "/<\s*h([1-6])\s*>(.+?)<\/h[1-6]>/is" ), 'link' => $this->tagrules['link'], 'url' => $this->tagrules['url'] ); } + /** + * Find minimum header level used on the page (

,

, ...) + * + * @param string $text + * @return int + */ + protected function find_min_header_level($text) { + preg_match_all($this->tagrules['header']['expression'], $text, $matches); + return !empty($matches[1]) ? min($matches[1]) : 1; + } + protected function before_parsing() { parent::before_parsing(); + $this->minheaderlevel = $this->find_min_header_level($this->string); $this->rules($this->string); } @@ -40,7 +55,7 @@ protected function before_parsing() { * @return string */ protected function header_tag_rule($match) { - return $this->generate_header($match[2], $match[1]); + return $this->generate_header($match[2], (int)$match[1] - $this->minheaderlevel + 1); } /** @@ -54,7 +69,9 @@ public function get_section($header, $text, $clean = false) { $text .= "\n\n"; } - $h1 = array("<\s*h1\s*>", "<\/h1>"); + $minheaderlevel = $this->find_min_header_level($text); + + $h1 = array("<\s*h{$minheaderlevel}\s*>", "<\/h{$minheaderlevel}>"); $regex = "/(.*?)({$h1[0]}\s*".preg_quote($header, '/')."\s*{$h1[1]}.*?)((?:\n{$h1[0]}.*)|$)/is"; preg_match($regex, $text, $match); diff --git a/mod/wiki/parser/markups/wikimarkup.php b/mod/wiki/parser/markups/wikimarkup.php index 3e1efc0fd42e5..8675a999b2b07 100644 --- a/mod/wiki/parser/markups/wikimarkup.php +++ b/mod/wiki/parser/markups/wikimarkup.php @@ -192,7 +192,8 @@ protected function generate_header($text, $level) { $text = parser_utils::h('a', "", array('name' => "toc-$num")) . $text; } - return parser_utils::h('h' . $level, $text) . "\n\n"; + // Display headers as

and lower for accessibility. + return parser_utils::h('h' . min(6, $level + 2), $text) . "\n\n"; } /** @@ -228,7 +229,7 @@ protected function process_toc() { } break; default: - continue; + continue 2; } $number = "$currentsection[0]"; if (!empty($currentsection[1])) { diff --git a/mod/wiki/tests/fixtures/input/html/3 b/mod/wiki/tests/fixtures/input/html/3 new file mode 100644 index 0000000000000..532396655bed3 --- /dev/null +++ b/mod/wiki/tests/fixtures/input/html/3 @@ -0,0 +1,20 @@ +

Header1

+

+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. +

+

+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. +

+

+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. +

+

Header2

+

+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. +

+

+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. +

+

+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. +

\ No newline at end of file diff --git a/mod/wiki/tests/fixtures/output/creole/2 b/mod/wiki/tests/fixtures/output/creole/2 index 0de9e7de5c2ad..4ad440e17499a 100644 --- a/mod/wiki/tests/fixtures/output/creole/2 +++ b/mod/wiki/tests/fixtures/output/creole/2 @@ -1,12 +1,12 @@ -

Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

+

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.

+

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.

+
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?

+
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

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.

+
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.

diff --git a/mod/wiki/tests/fixtures/output/creole/3 b/mod/wiki/tests/fixtures/output/creole/3 index 7311db5173cd4..cb716cfc5c92a 100644 --- a/mod/wiki/tests/fixtures/output/creole/3 +++ b/mod/wiki/tests/fixtures/output/creole/3 @@ -1,5 +1,5 @@ -

In nisi purus, varius in, mollis eget, interdum in, ipsum.

+

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.

+

**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.

diff --git a/mod/wiki/tests/fixtures/output/creole/4 b/mod/wiki/tests/fixtures/output/creole/4 index 965d91def526d..d7ad8e0ac552f 100644 --- a/mod/wiki/tests/fixtures/output/creole/4 +++ b/mod/wiki/tests/fixtures/output/creole/4 @@ -1,4 +1,4 @@ -

Donec ultricies neque eu libero scelerisque feugiat.

+

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 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 nec ligula bibendum pulvinar.

http://www.google.com http://www.google.com

diff --git a/mod/wiki/tests/fixtures/output/creole/5 b/mod/wiki/tests/fixtures/output/creole/5 index fec622c8782d2..092a7e3b85475 100644 --- a/mod/wiki/tests/fixtures/output/creole/5 +++ b/mod/wiki/tests/fixtures/output/creole/5 @@ -1,4 +1,4 @@ -

Integer eu leo? \\ Quisque posuere.

+

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. \\

+

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!

diff --git a/mod/wiki/tests/fixtures/output/creole/7 b/mod/wiki/tests/fixtures/output/creole/7 index 72d2f9aa85348..a0a157a1fe644 100644 --- a/mod/wiki/tests/fixtures/output/creole/7 +++ b/mod/wiki/tests/fixtures/output/creole/7 @@ -1,3 +1,3 @@ -

In nisi purus, varius in, mollis eget, interdum in, ipsum.

+

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 
diff --git a/mod/wiki/tests/fixtures/output/creole/8 b/mod/wiki/tests/fixtures/output/creole/8 index 50f0106801310..5177937d29471 100644 --- a/mod/wiki/tests/fixtures/output/creole/8 +++ b/mod/wiki/tests/fixtures/output/creole/8 @@ -1,4 +1,4 @@ -

Testing some tables

+

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...

diff --git a/mod/wiki/tests/fixtures/output/creole/9 b/mod/wiki/tests/fixtures/output/creole/9 index 80b93039bfee5..ab18969d7a1ac 100644 --- a/mod/wiki/tests/fixtures/output/creole/9 +++ b/mod/wiki/tests/fixtures/output/creole/9 @@ -1,14 +1,14 @@ -

Top-level heading (1)

-

This a test for creole 0.1 (2)

-

This is a Subheading (3)

-

Subsub (4)

-
Subsubsub (5)
+

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)
+

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.

@@ -86,15 +86,15 @@ Guitar Chord C: ||---|---|---|

You can also use it inline nowiki in a sentence like this.

-

Escapes

+

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

+
Creole 0.2

This should be a flower with the ALT text "this is a flower" if your wiki supports ALT text on images:

here is a red flower

-

Creole 0.4

+
Creole 0.4

Tables are done like this:

@@ -123,7 +123,7 @@ Guitar Chord C: Pone: xyz
Fax: +45
Mobile: abc

-

Creole 0.5

+
Creole 0.5
@@ -142,5 +142,5 @@ Mobile: abc

-

Creole 1.0

+
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.

diff --git a/mod/wiki/tests/fixtures/output/html/1 b/mod/wiki/tests/fixtures/output/html/1 index bbfcab16ad990..37426e45b9b59 100644 --- a/mod/wiki/tests/fixtures/output/html/1 +++ b/mod/wiki/tests/fixtures/output/html/1 @@ -1,4 +1,4 @@ -

Header1

+

Header1

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.

@@ -8,7 +8,7 @@ Proin ultricies gravida dui a mattis. Integer nec nisl ante. Mauris euismod, tor

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.

-

Header2

+

Header2

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.

diff --git a/mod/wiki/tests/fixtures/output/html/3 b/mod/wiki/tests/fixtures/output/html/3 new file mode 100644 index 0000000000000..37426e45b9b59 --- /dev/null +++ b/mod/wiki/tests/fixtures/output/html/3 @@ -0,0 +1,20 @@ +

Header1

+

+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. +

+

+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. +

+

+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. +

+

Header2

+

+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. +

+

+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. +

+

+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. +

diff --git a/mod/wiki/tests/fixtures/output/nwiki/1 b/mod/wiki/tests/fixtures/output/nwiki/1 index 6b1303f0f8545..fd48b340b17f3 100644 --- a/mod/wiki/tests/fixtures/output/nwiki/1 +++ b/mod/wiki/tests/fixtures/output/nwiki/1 @@ -1,9 +1,9 @@ -

Header 1

+

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

+

Header 2

Some mix of italics and bold, and some italics & bold.

And that italics and both.

And this: italics and both.

diff --git a/mod/wiki/tests/fixtures/output/nwiki/2 b/mod/wiki/tests/fixtures/output/nwiki/2 index 5b2c07dd091ad..2378668e64fd7 100644 --- a/mod/wiki/tests/fixtures/output/nwiki/2 +++ b/mod/wiki/tests/fixtures/output/nwiki/2 @@ -1,12 +1,12 @@ -

Links

-

Internal links

+

Links

+

Internal links

Some links. Another Link.

-

Anchors

+
Anchors

This is an anchor to the external links section.

And this is an anchor to another page.

-

External links

+

External links

A link to http://www.google.com , and a link to apple.

The same link to Apple Corporation.

-

Attachments & images

+

Attachments & images

That's an attachment.

And that's an

image
.

diff --git a/mod/wiki/tests/fixtures/output/nwiki/3 b/mod/wiki/tests/fixtures/output/nwiki/3 index 1c38e6893c5ee..a433def7d6270 100644 --- a/mod/wiki/tests/fixtures/output/nwiki/3 +++ b/mod/wiki/tests/fixtures/output/nwiki/3 @@ -1,5 +1,5 @@ -

Lists

-

Unordered lists

+

Lists

+

Unordered lists