1f8369d7dSTobias Sarnowski<?php 236dc94bbSAndreas Gohr 3*be906b56SAndreas Gohruse dokuwiki\Parsing\Handler\Lists; 4*be906b56SAndreas Gohruse dokuwiki\Parsing\ParserMode\Eol; 5*be906b56SAndreas Gohruse dokuwiki\Parsing\ParserMode\Footnote; 6*be906b56SAndreas Gohruse dokuwiki\Parsing\ParserMode\Formatting; 7*be906b56SAndreas Gohruse dokuwiki\Parsing\ParserMode\Linebreak; 8*be906b56SAndreas Gohruse dokuwiki\Parsing\ParserMode\Listblock; 9*be906b56SAndreas Gohruse dokuwiki\Parsing\ParserMode\Unformatted; 1036dc94bbSAndreas Gohr 11f8369d7dSTobias Sarnowskirequire_once 'parser.inc.php'; 12f8369d7dSTobias Sarnowski 13f8369d7dSTobias Sarnowskiclass TestOfDoku_Parser_Lists extends TestOfDoku_Parser { 14f8369d7dSTobias Sarnowski 15f8369d7dSTobias Sarnowski function testUnorderedList() { 1636dc94bbSAndreas Gohr $this->P->addMode('listblock',new Listblock()); 17f8369d7dSTobias Sarnowski $this->P->parse(' 18f8369d7dSTobias Sarnowski *A 19f8369d7dSTobias Sarnowski * B 20f8369d7dSTobias Sarnowski * C 21f8369d7dSTobias Sarnowski'); 22f8369d7dSTobias Sarnowski $calls = array ( 23f8369d7dSTobias Sarnowski array('document_start',array()), 24f8369d7dSTobias Sarnowski array('listu_open',array()), 255c2aad12SAndreas Gohr array('listitem_open',array(1,Lists::NODE)), 26f8369d7dSTobias Sarnowski array('listcontent_open',array()), 27f8369d7dSTobias Sarnowski array('cdata',array("A")), 28f8369d7dSTobias Sarnowski array('listcontent_close',array()), 29f8369d7dSTobias Sarnowski array('listu_open',array()), 30f8369d7dSTobias Sarnowski array('listitem_open',array(2)), 31f8369d7dSTobias Sarnowski array('listcontent_open',array()), 32f8369d7dSTobias Sarnowski array('cdata',array(' B')), 33f8369d7dSTobias Sarnowski array('listcontent_close',array()), 34f8369d7dSTobias Sarnowski array('listitem_close',array()), 35f8369d7dSTobias Sarnowski array('listu_close',array()), 36f8369d7dSTobias Sarnowski array('listitem_close',array()), 37f8369d7dSTobias Sarnowski array('listitem_open',array(1)), 38f8369d7dSTobias Sarnowski array('listcontent_open',array()), 39f8369d7dSTobias Sarnowski array('cdata',array(' C')), 40f8369d7dSTobias Sarnowski array('listcontent_close',array()), 41f8369d7dSTobias Sarnowski array('listitem_close',array()), 42f8369d7dSTobias Sarnowski array('listu_close',array()), 43f8369d7dSTobias Sarnowski array('document_end',array()), 44f8369d7dSTobias Sarnowski ); 45f8369d7dSTobias Sarnowski $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 46f8369d7dSTobias Sarnowski } 47f8369d7dSTobias Sarnowski 48f8369d7dSTobias Sarnowski function testOrderedList() { 4936dc94bbSAndreas Gohr $this->P->addMode('listblock',new Listblock()); 50f8369d7dSTobias Sarnowski $this->P->parse(' 51f8369d7dSTobias Sarnowski -A 52f8369d7dSTobias Sarnowski - B 53f8369d7dSTobias Sarnowski - C 54f8369d7dSTobias Sarnowski'); 55f8369d7dSTobias Sarnowski $calls = array ( 56f8369d7dSTobias Sarnowski array('document_start',array()), 57f8369d7dSTobias Sarnowski array('listo_open',array()), 585c2aad12SAndreas Gohr array('listitem_open',array(1,Lists::NODE)), 59f8369d7dSTobias Sarnowski array('listcontent_open',array()), 60f8369d7dSTobias Sarnowski array('cdata',array("A")), 61f8369d7dSTobias Sarnowski array('listcontent_close',array()), 62f8369d7dSTobias Sarnowski array('listo_open',array()), 63f8369d7dSTobias Sarnowski array('listitem_open',array(2)), 64f8369d7dSTobias Sarnowski array('listcontent_open',array()), 65f8369d7dSTobias Sarnowski array('cdata',array(' B')), 66f8369d7dSTobias Sarnowski array('listcontent_close',array()), 67f8369d7dSTobias Sarnowski array('listitem_close',array()), 68f8369d7dSTobias Sarnowski array('listo_close',array()), 69f8369d7dSTobias Sarnowski array('listitem_close',array()), 70f8369d7dSTobias Sarnowski array('listitem_open',array(1)), 71f8369d7dSTobias Sarnowski array('listcontent_open',array()), 72f8369d7dSTobias Sarnowski array('cdata',array(' C')), 73f8369d7dSTobias Sarnowski array('listcontent_close',array()), 74f8369d7dSTobias Sarnowski array('listitem_close',array()), 75f8369d7dSTobias Sarnowski array('listo_close',array()), 76f8369d7dSTobias Sarnowski array('document_end',array()), 77f8369d7dSTobias Sarnowski ); 78f8369d7dSTobias Sarnowski $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 79f8369d7dSTobias Sarnowski } 80f8369d7dSTobias Sarnowski 81f8369d7dSTobias Sarnowski 82f8369d7dSTobias Sarnowski function testMixedList() { 8336dc94bbSAndreas Gohr $this->P->addMode('listblock',new Listblock()); 84f8369d7dSTobias Sarnowski $this->P->parse(' 85f8369d7dSTobias Sarnowski -A 86f8369d7dSTobias Sarnowski * B 87f8369d7dSTobias Sarnowski - C 88f8369d7dSTobias Sarnowski'); 89f8369d7dSTobias Sarnowski $calls = array ( 90f8369d7dSTobias Sarnowski array('document_start',array()), 91f8369d7dSTobias Sarnowski array('listo_open',array()), 925c2aad12SAndreas Gohr array('listitem_open',array(1,Lists::NODE)), 93f8369d7dSTobias Sarnowski array('listcontent_open',array()), 94f8369d7dSTobias Sarnowski array('cdata',array("A")), 95f8369d7dSTobias Sarnowski array('listcontent_close',array()), 96f8369d7dSTobias Sarnowski array('listu_open',array()), 97f8369d7dSTobias Sarnowski array('listitem_open',array(2)), 98f8369d7dSTobias Sarnowski array('listcontent_open',array()), 99f8369d7dSTobias Sarnowski array('cdata',array(' B')), 100f8369d7dSTobias Sarnowski array('listcontent_close',array()), 101f8369d7dSTobias Sarnowski array('listitem_close',array()), 102f8369d7dSTobias Sarnowski array('listu_close',array()), 103f8369d7dSTobias Sarnowski array('listitem_close',array()), 104f8369d7dSTobias Sarnowski array('listitem_open',array(1)), 105f8369d7dSTobias Sarnowski array('listcontent_open',array()), 106f8369d7dSTobias Sarnowski array('cdata',array(' C')), 107f8369d7dSTobias Sarnowski array('listcontent_close',array()), 108f8369d7dSTobias Sarnowski array('listitem_close',array()), 109f8369d7dSTobias Sarnowski array('listo_close',array()), 110f8369d7dSTobias Sarnowski array('document_end',array()), 111f8369d7dSTobias Sarnowski ); 112f8369d7dSTobias Sarnowski $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 113f8369d7dSTobias Sarnowski } 114f8369d7dSTobias Sarnowski 115f8369d7dSTobias Sarnowski function testUnorderedListWinEOL() { 11636dc94bbSAndreas Gohr $this->P->addMode('listblock',new Listblock()); 117f8369d7dSTobias Sarnowski $this->P->parse("\r\n *A\r\n * B\r\n * C\r\n"); 118f8369d7dSTobias Sarnowski $calls = array ( 119f8369d7dSTobias Sarnowski array('document_start',array()), 120f8369d7dSTobias Sarnowski array('listu_open',array()), 1215c2aad12SAndreas Gohr array('listitem_open',array(1,Lists::NODE)), 122f8369d7dSTobias Sarnowski array('listcontent_open',array()), 123f8369d7dSTobias Sarnowski array('cdata',array("A")), 124f8369d7dSTobias Sarnowski array('listcontent_close',array()), 125f8369d7dSTobias Sarnowski array('listu_open',array()), 126f8369d7dSTobias Sarnowski array('listitem_open',array(2)), 127f8369d7dSTobias Sarnowski array('listcontent_open',array()), 128f8369d7dSTobias Sarnowski array('cdata',array(' B')), 129f8369d7dSTobias Sarnowski array('listcontent_close',array()), 130f8369d7dSTobias Sarnowski array('listitem_close',array()), 131f8369d7dSTobias Sarnowski array('listu_close',array()), 132f8369d7dSTobias Sarnowski array('listitem_close',array()), 133f8369d7dSTobias Sarnowski array('listitem_open',array(1)), 134f8369d7dSTobias Sarnowski array('listcontent_open',array()), 135f8369d7dSTobias Sarnowski array('cdata',array(' C')), 136f8369d7dSTobias Sarnowski array('listcontent_close',array()), 137f8369d7dSTobias Sarnowski array('listitem_close',array()), 138f8369d7dSTobias Sarnowski array('listu_close',array()), 139f8369d7dSTobias Sarnowski array('document_end',array()), 140f8369d7dSTobias Sarnowski ); 141f8369d7dSTobias Sarnowski $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 142f8369d7dSTobias Sarnowski } 143f8369d7dSTobias Sarnowski 144f8369d7dSTobias Sarnowski function testOrderedListWinEOL() { 14536dc94bbSAndreas Gohr $this->P->addMode('listblock',new Listblock()); 146f8369d7dSTobias Sarnowski $this->P->parse("\r\n -A\r\n - B\r\n - C\r\n"); 147f8369d7dSTobias Sarnowski $calls = array ( 148f8369d7dSTobias Sarnowski array('document_start',array()), 149f8369d7dSTobias Sarnowski array('listo_open',array()), 1505c2aad12SAndreas Gohr array('listitem_open',array(1,Lists::NODE)), 151f8369d7dSTobias Sarnowski array('listcontent_open',array()), 152f8369d7dSTobias Sarnowski array('cdata',array("A")), 153f8369d7dSTobias Sarnowski array('listcontent_close',array()), 154f8369d7dSTobias Sarnowski array('listo_open',array()), 155f8369d7dSTobias Sarnowski array('listitem_open',array(2)), 156f8369d7dSTobias Sarnowski array('listcontent_open',array()), 157f8369d7dSTobias Sarnowski array('cdata',array(' B')), 158f8369d7dSTobias Sarnowski array('listcontent_close',array()), 159f8369d7dSTobias Sarnowski array('listitem_close',array()), 160f8369d7dSTobias Sarnowski array('listo_close',array()), 161f8369d7dSTobias Sarnowski array('listitem_close',array()), 162f8369d7dSTobias Sarnowski array('listitem_open',array(1)), 163f8369d7dSTobias Sarnowski array('listcontent_open',array()), 164f8369d7dSTobias Sarnowski array('cdata',array(' C')), 165f8369d7dSTobias Sarnowski array('listcontent_close',array()), 166f8369d7dSTobias Sarnowski array('listitem_close',array()), 167f8369d7dSTobias Sarnowski array('listo_close',array()), 168f8369d7dSTobias Sarnowski array('document_end',array()), 169f8369d7dSTobias Sarnowski ); 170f8369d7dSTobias Sarnowski $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 171f8369d7dSTobias Sarnowski } 172f8369d7dSTobias Sarnowski 173f8369d7dSTobias Sarnowski function testNotAList() { 17436dc94bbSAndreas Gohr $this->P->addMode('listblock',new Listblock()); 175f8369d7dSTobias Sarnowski $this->P->parse("Foo -bar *foo Bar"); 176f8369d7dSTobias Sarnowski $calls = array ( 177f8369d7dSTobias Sarnowski array('document_start',array()), 178f8369d7dSTobias Sarnowski array('p_open',array()), 179f8369d7dSTobias Sarnowski array('cdata',array("\nFoo -bar *foo Bar")), 180f8369d7dSTobias Sarnowski array('p_close',array()), 181f8369d7dSTobias Sarnowski array('document_end',array()), 182f8369d7dSTobias Sarnowski ); 183f8369d7dSTobias Sarnowski $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 184f8369d7dSTobias Sarnowski } 185f8369d7dSTobias Sarnowski 186f8369d7dSTobias Sarnowski function testUnorderedListParagraph() { 18736dc94bbSAndreas Gohr $this->P->addMode('listblock',new Listblock()); 18836dc94bbSAndreas Gohr $this->P->addMode('eol',new Eol()); 189f8369d7dSTobias Sarnowski $this->P->parse('Foo 190f8369d7dSTobias Sarnowski *A 191f8369d7dSTobias Sarnowski * B 192f8369d7dSTobias Sarnowski * C 193f8369d7dSTobias SarnowskiBar'); 194f8369d7dSTobias Sarnowski $calls = array ( 195f8369d7dSTobias Sarnowski array('document_start',array()), 196f8369d7dSTobias Sarnowski array('p_open',array()), 197f8369d7dSTobias Sarnowski array('cdata',array("Foo")), 198f8369d7dSTobias Sarnowski array('p_close',array()), 199f8369d7dSTobias Sarnowski array('listu_open',array()), 2005c2aad12SAndreas Gohr array('listitem_open',array(1,Lists::NODE)), 201f8369d7dSTobias Sarnowski array('listcontent_open',array()), 202f8369d7dSTobias Sarnowski array('cdata',array("A")), 203f8369d7dSTobias Sarnowski array('listcontent_close',array()), 204f8369d7dSTobias Sarnowski array('listu_open',array()), 205f8369d7dSTobias Sarnowski array('listitem_open',array(2)), 206f8369d7dSTobias Sarnowski array('listcontent_open',array()), 207f8369d7dSTobias Sarnowski array('cdata',array(' B')), 208f8369d7dSTobias Sarnowski array('listcontent_close',array()), 209f8369d7dSTobias Sarnowski array('listitem_close',array()), 210f8369d7dSTobias Sarnowski array('listu_close',array()), 211f8369d7dSTobias Sarnowski array('listitem_close',array()), 212f8369d7dSTobias Sarnowski array('listitem_open',array(1)), 213f8369d7dSTobias Sarnowski array('listcontent_open',array()), 214f8369d7dSTobias Sarnowski array('cdata',array(' C')), 215f8369d7dSTobias Sarnowski array('listcontent_close',array()), 216f8369d7dSTobias Sarnowski array('listitem_close',array()), 217f8369d7dSTobias Sarnowski array('listu_close',array()), 218f8369d7dSTobias Sarnowski array('p_open',array()), 219f8369d7dSTobias Sarnowski array('cdata',array("Bar")), 220f8369d7dSTobias Sarnowski array('p_close',array()), 221f8369d7dSTobias Sarnowski array('document_end',array()), 222f8369d7dSTobias Sarnowski ); 223f8369d7dSTobias Sarnowski $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 224f8369d7dSTobias Sarnowski } 225f8369d7dSTobias Sarnowski 226f8369d7dSTobias Sarnowski // This is really a failing test - formatting able to spread across list items 227f8369d7dSTobias Sarnowski // Problem is fixing it would mean a major rewrite of lists 228f8369d7dSTobias Sarnowski function testUnorderedListStrong() { 22936dc94bbSAndreas Gohr $this->P->addMode('listblock',new Listblock()); 23036dc94bbSAndreas Gohr $this->P->addMode('strong',new Formatting('strong')); 231f8369d7dSTobias Sarnowski $this->P->parse(' 232f8369d7dSTobias Sarnowski ***A** 233f8369d7dSTobias Sarnowski *** B 234f8369d7dSTobias Sarnowski * C** 235f8369d7dSTobias Sarnowski'); 236f8369d7dSTobias Sarnowski $calls = array ( 237f8369d7dSTobias Sarnowski array('document_start',array()), 238f8369d7dSTobias Sarnowski array('listu_open',array()), 2395c2aad12SAndreas Gohr array('listitem_open',array(1,Lists::NODE)), 240f8369d7dSTobias Sarnowski array('listcontent_open',array()), 241f8369d7dSTobias Sarnowski array('strong_open',array()), 242f8369d7dSTobias Sarnowski array('cdata',array("A")), 243f8369d7dSTobias Sarnowski array('strong_close',array()), 244f8369d7dSTobias Sarnowski array('listcontent_close',array()), 245f8369d7dSTobias Sarnowski array('listu_open',array()), 246f8369d7dSTobias Sarnowski array('listitem_open',array(2)), 247f8369d7dSTobias Sarnowski array('listcontent_open',array()), 248f8369d7dSTobias Sarnowski array('strong_open',array()), 249f8369d7dSTobias Sarnowski array('cdata',array(" B\n * C")), 250f8369d7dSTobias Sarnowski array('strong_close',array()), 251f8369d7dSTobias Sarnowski array('listcontent_close',array()), 252f8369d7dSTobias Sarnowski array('listitem_close',array()), 253f8369d7dSTobias Sarnowski array('listu_close',array()), 254f8369d7dSTobias Sarnowski array('listitem_close',array()), 255f8369d7dSTobias Sarnowski array('listu_close',array()), 256f8369d7dSTobias Sarnowski array('document_end',array()), 257f8369d7dSTobias Sarnowski ); 258f8369d7dSTobias Sarnowski $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 259f8369d7dSTobias Sarnowski } 260f8369d7dSTobias Sarnowski 261f8369d7dSTobias Sarnowski // This is really a failing test - unformatted able to spread across list items 262f8369d7dSTobias Sarnowski // Problem is fixing it would mean a major rewrite of lists 263f8369d7dSTobias Sarnowski function testUnorderedListUnformatted() { 26436dc94bbSAndreas Gohr $this->P->addMode('listblock',new Listblock()); 26536dc94bbSAndreas Gohr $this->P->addMode('unformatted',new Unformatted()); 266f8369d7dSTobias Sarnowski $this->P->parse(' 267f8369d7dSTobias Sarnowski *%%A%% 268f8369d7dSTobias Sarnowski *%% B 269f8369d7dSTobias Sarnowski * C%% 270f8369d7dSTobias Sarnowski'); 271f8369d7dSTobias Sarnowski $calls = array ( 272f8369d7dSTobias Sarnowski array('document_start',array()), 273f8369d7dSTobias Sarnowski array('listu_open',array()), 2745c2aad12SAndreas Gohr array('listitem_open',array(1,Lists::NODE)), 275f8369d7dSTobias Sarnowski array('listcontent_open',array()), 276f8369d7dSTobias Sarnowski array('unformatted',array("A")), 277f8369d7dSTobias Sarnowski array('listcontent_close',array()), 278f8369d7dSTobias Sarnowski array('listu_open',array()), 279f8369d7dSTobias Sarnowski array('listitem_open',array(2)), 280f8369d7dSTobias Sarnowski array('listcontent_open',array()), 281f8369d7dSTobias Sarnowski array('unformatted',array(" B\n * C")), 282f8369d7dSTobias Sarnowski array('listcontent_close',array()), 283f8369d7dSTobias Sarnowski array('listitem_close',array()), 284f8369d7dSTobias Sarnowski array('listu_close',array()), 285f8369d7dSTobias Sarnowski array('listitem_close',array()), 286f8369d7dSTobias Sarnowski array('listu_close',array()), 287f8369d7dSTobias Sarnowski array('document_end',array()), 288f8369d7dSTobias Sarnowski ); 289f8369d7dSTobias Sarnowski $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 290f8369d7dSTobias Sarnowski } 291f8369d7dSTobias Sarnowski 292f8369d7dSTobias Sarnowski function testUnorderedListLinebreak() { 29336dc94bbSAndreas Gohr $this->P->addMode('listblock',new Listblock()); 29436dc94bbSAndreas Gohr $this->P->addMode('linebreak',new Linebreak()); 295f8369d7dSTobias Sarnowski $this->P->parse(' 296f8369d7dSTobias Sarnowski *A\\\\ D 297f8369d7dSTobias Sarnowski * B 298f8369d7dSTobias Sarnowski * C 299f8369d7dSTobias Sarnowski'); 300f8369d7dSTobias Sarnowski $calls = array ( 301f8369d7dSTobias Sarnowski array('document_start',array()), 302f8369d7dSTobias Sarnowski array('listu_open',array()), 3035c2aad12SAndreas Gohr array('listitem_open',array(1,Lists::NODE)), 304f8369d7dSTobias Sarnowski array('listcontent_open',array()), 305f8369d7dSTobias Sarnowski array('cdata',array("A")), 306f8369d7dSTobias Sarnowski array('linebreak',array()), 307f8369d7dSTobias Sarnowski array('cdata',array("D")), 308f8369d7dSTobias Sarnowski array('listcontent_close',array()), 309f8369d7dSTobias Sarnowski array('listu_open',array()), 310f8369d7dSTobias Sarnowski array('listitem_open',array(2)), 311f8369d7dSTobias Sarnowski array('listcontent_open',array()), 312f8369d7dSTobias Sarnowski array('cdata',array(' B')), 313f8369d7dSTobias Sarnowski array('listcontent_close',array()), 314f8369d7dSTobias Sarnowski array('listitem_close',array()), 315f8369d7dSTobias Sarnowski array('listu_close',array()), 316f8369d7dSTobias Sarnowski array('listitem_close',array()), 317f8369d7dSTobias Sarnowski array('listitem_open',array(1)), 318f8369d7dSTobias Sarnowski array('listcontent_open',array()), 319f8369d7dSTobias Sarnowski array('cdata',array(' C')), 320f8369d7dSTobias Sarnowski array('listcontent_close',array()), 321f8369d7dSTobias Sarnowski array('listitem_close',array()), 322f8369d7dSTobias Sarnowski array('listu_close',array()), 323f8369d7dSTobias Sarnowski array('document_end',array()), 324f8369d7dSTobias Sarnowski ); 325f8369d7dSTobias Sarnowski $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 326f8369d7dSTobias Sarnowski } 327f8369d7dSTobias Sarnowski 328f8369d7dSTobias Sarnowski function testUnorderedListLinebreak2() { 32936dc94bbSAndreas Gohr $this->P->addMode('listblock',new Listblock()); 33036dc94bbSAndreas Gohr $this->P->addMode('linebreak',new Linebreak()); 331f8369d7dSTobias Sarnowski $this->P->parse(' 332f8369d7dSTobias Sarnowski *A\\\\ 333f8369d7dSTobias Sarnowski * B 334f8369d7dSTobias Sarnowski'); 335f8369d7dSTobias Sarnowski $calls = array ( 336f8369d7dSTobias Sarnowski array('document_start',array()), 337f8369d7dSTobias Sarnowski array('listu_open',array()), 338f8369d7dSTobias Sarnowski array('listitem_open',array(1)), 339f8369d7dSTobias Sarnowski array('listcontent_open',array()), 340f8369d7dSTobias Sarnowski array('cdata',array("A")), 341f8369d7dSTobias Sarnowski array('linebreak',array()), 342f8369d7dSTobias Sarnowski array('listcontent_close',array()), 343f8369d7dSTobias Sarnowski array('listitem_close',array()), 344f8369d7dSTobias Sarnowski array('listitem_open',array(1)), 345f8369d7dSTobias Sarnowski array('listcontent_open',array()), 346f8369d7dSTobias Sarnowski array('cdata',array(' B')), 347f8369d7dSTobias Sarnowski array('listcontent_close',array()), 348f8369d7dSTobias Sarnowski array('listitem_close',array()), 349f8369d7dSTobias Sarnowski array('listu_close',array()), 350f8369d7dSTobias Sarnowski array('document_end',array()), 351f8369d7dSTobias Sarnowski ); 352f8369d7dSTobias Sarnowski $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 353f8369d7dSTobias Sarnowski } 354f8369d7dSTobias Sarnowski 355f8369d7dSTobias Sarnowski function testUnorderedListFootnote() { 35636dc94bbSAndreas Gohr $this->P->addMode('listblock',new Listblock()); 35736dc94bbSAndreas Gohr $this->P->addMode('footnote',new Footnote()); 358f8369d7dSTobias Sarnowski $this->P->parse(' 359f8369d7dSTobias Sarnowski *((A)) 360f8369d7dSTobias Sarnowski *(( B 361f8369d7dSTobias Sarnowski * C )) 362f8369d7dSTobias Sarnowski 363f8369d7dSTobias Sarnowski'); 364f8369d7dSTobias Sarnowski $calls = array ( 365f8369d7dSTobias Sarnowski array('document_start',array()), 366f8369d7dSTobias Sarnowski array('listu_open',array()), 3675c2aad12SAndreas Gohr array('listitem_open',array(1,Lists::NODE)), 368f8369d7dSTobias Sarnowski array('listcontent_open',array()), 369f8369d7dSTobias Sarnowski array('nest', array( array( 370f8369d7dSTobias Sarnowski array('footnote_open',array()), 371f8369d7dSTobias Sarnowski array('cdata',array("A")), 372f8369d7dSTobias Sarnowski array('footnote_close',array()) 373f8369d7dSTobias Sarnowski ))), 374f8369d7dSTobias Sarnowski array('listcontent_close',array()), 375f8369d7dSTobias Sarnowski array('listu_open',array()), 376f8369d7dSTobias Sarnowski array('listitem_open',array(2)), 377f8369d7dSTobias Sarnowski array('listcontent_open',array()), 378f8369d7dSTobias Sarnowski array('nest', array( array( 379f8369d7dSTobias Sarnowski array('footnote_open',array()), 380f8369d7dSTobias Sarnowski array('cdata',array(" B")), 381f8369d7dSTobias Sarnowski array('listu_open',array()), 382f8369d7dSTobias Sarnowski array('listitem_open',array(1)), 383f8369d7dSTobias Sarnowski array('listcontent_open',array()), 384f8369d7dSTobias Sarnowski array('cdata',array(" C )) ")), 385f8369d7dSTobias Sarnowski array('listcontent_close',array()), 386f8369d7dSTobias Sarnowski array('listitem_close',array()), 387f8369d7dSTobias Sarnowski array('listu_close',array()), 388f8369d7dSTobias Sarnowski array('cdata',array("\n\n")), 389f8369d7dSTobias Sarnowski array('footnote_close',array()) 390f8369d7dSTobias Sarnowski ))), 391f8369d7dSTobias Sarnowski array('listcontent_close',array()), 392f8369d7dSTobias Sarnowski array('listitem_close',array()), 393f8369d7dSTobias Sarnowski array('listu_close',array()), 394f8369d7dSTobias Sarnowski array('listitem_close',array()), 395f8369d7dSTobias Sarnowski array('listu_close',array()), 396f8369d7dSTobias Sarnowski array('document_end',array()) 397f8369d7dSTobias Sarnowski ); 398f8369d7dSTobias Sarnowski 399f8369d7dSTobias Sarnowski $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 400f8369d7dSTobias Sarnowski } 401f8369d7dSTobias Sarnowski} 402f8369d7dSTobias Sarnowski 403