|
|
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
(function() { var mode = CodeMirror.getMode({tabSize: 4}, 'textile'); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
MT('simpleParagraphs', 'Some text.', '', 'Some more text.');
/* * Phrase Modifiers */
MT('em', 'foo [em _bar_]');
MT('emBoogus', 'code_mirror');
MT('strong', 'foo [strong *bar*]');
MT('strongBogus', '3 * 3 = 9');
MT('italic', 'foo [em __bar__]');
MT('italicBogus', 'code__mirror');
MT('bold', 'foo [strong **bar**]');
MT('boldBogus', '3 ** 3 = 27');
MT('simpleLink', '[link "CodeMirror":https://codemirror.net]');
MT('referenceLink', '[link "CodeMirror":code_mirror]', 'Normal Text.', '[link [[code_mirror]]https://codemirror.net]');
MT('footCite', 'foo bar[qualifier [[1]]]');
MT('footCiteBogus', 'foo bar[[1a2]]');
MT('special-characters', 'Registered [tag (r)], ' + 'Trademark [tag (tm)], and ' + 'Copyright [tag (c)] 2008');
MT('cite', "A book is [keyword ??The Count of Monte Cristo??] by Dumas.");
MT('additionAndDeletion', 'The news networks declared [negative -Al Gore-] ' + '[positive +George W. Bush+] the winner in Florida.');
MT('subAndSup', 'f(x, n) = log [builtin ~4~] x [builtin ^n^]');
MT('spanAndCode', 'A [quote %span element%] and [atom @code element@]');
MT('spanBogus', 'Percentage 25% is not a span.');
MT('citeBogus', 'Question? is not a citation.');
MT('codeBogus', 'user@example.com');
MT('subBogus', '~username');
MT('supBogus', 'foo ^ bar');
MT('deletionBogus', '3 - 3 = 0');
MT('additionBogus', '3 + 3 = 6');
MT('image', 'An image: [string !http://www.example.com/image.png!]');
MT('imageWithAltText', 'An image: [string !http://www.example.com/image.png (Alt Text)!]');
MT('imageWithUrl', 'An image: [string !http://www.example.com/image.png!:http://www.example.com/]');
/* * Headers */
MT('h1', '[header&header-1 h1. foo]');
MT('h2', '[header&header-2 h2. foo]');
MT('h3', '[header&header-3 h3. foo]');
MT('h4', '[header&header-4 h4. foo]');
MT('h5', '[header&header-5 h5. foo]');
MT('h6', '[header&header-6 h6. foo]');
MT('h7Bogus', 'h7. foo');
MT('multipleHeaders', '[header&header-1 h1. Heading 1]', '', 'Some text.', '', '[header&header-2 h2. Heading 2]', '', 'More text.');
MT('h1inline', '[header&header-1 h1. foo ][header&header-1&em _bar_][header&header-1 baz]');
/* * Lists */
MT('ul', 'foo', 'bar', '', '[variable-2 * foo]', '[variable-2 * bar]');
MT('ulNoBlank', 'foo', 'bar', '[variable-2 * foo]', '[variable-2 * bar]');
MT('ol', 'foo', 'bar', '', '[variable-2 # foo]', '[variable-2 # bar]');
MT('olNoBlank', 'foo', 'bar', '[variable-2 # foo]', '[variable-2 # bar]');
MT('ulFormatting', '[variable-2 * ][variable-2&em _foo_][variable-2 bar]', '[variable-2 * ][variable-2&strong *][variable-2&em&strong _foo_]' + '[variable-2&strong *][variable-2 bar]', '[variable-2 * ][variable-2&strong *foo*][variable-2 bar]');
MT('olFormatting', '[variable-2 # ][variable-2&em _foo_][variable-2 bar]', '[variable-2 # ][variable-2&strong *][variable-2&em&strong _foo_]' + '[variable-2&strong *][variable-2 bar]', '[variable-2 # ][variable-2&strong *foo*][variable-2 bar]');
MT('ulNested', '[variable-2 * foo]', '[variable-3 ** bar]', '[keyword *** bar]', '[variable-2 **** bar]', '[variable-3 ** bar]');
MT('olNested', '[variable-2 # foo]', '[variable-3 ## bar]', '[keyword ### bar]', '[variable-2 #### bar]', '[variable-3 ## bar]');
MT('ulNestedWithOl', '[variable-2 * foo]', '[variable-3 ## bar]', '[keyword *** bar]', '[variable-2 #### bar]', '[variable-3 ** bar]');
MT('olNestedWithUl', '[variable-2 # foo]', '[variable-3 ** bar]', '[keyword ### bar]', '[variable-2 **** bar]', '[variable-3 ## bar]');
MT('definitionList', '[number - coffee := Hot ][number&em _and_][number black]', '', 'Normal text.');
MT('definitionListSpan', '[number - coffee :=]', '', '[number Hot ][number&em _and_][number black =:]', '', 'Normal text.');
MT('boo', '[number - dog := woof woof]', '[number - cat := meow meow]', '[number - whale :=]', '[number Whale noises.]', '', '[number Also, ][number&em _splashing_][number . =:]');
/* * Attributes */
MT('divWithAttribute', '[punctuation div][punctuation&attribute (#my-id)][punctuation . foo bar]');
MT('divWithAttributeAnd2emRightPadding', '[punctuation div][punctuation&attribute (#my-id)((][punctuation . foo bar]');
MT('divWithClassAndId', '[punctuation div][punctuation&attribute (my-class#my-id)][punctuation . foo bar]');
MT('paragraphWithCss', 'p[attribute {color:red;}]. foo bar');
MT('paragraphNestedStyles', 'p. [strong *foo ][strong&em _bar_][strong *]');
MT('paragraphWithLanguage', 'p[attribute [[fr]]]. Parlez-vous français?');
MT('paragraphLeftAlign', 'p[attribute <]. Left');
MT('paragraphRightAlign', 'p[attribute >]. Right');
MT('paragraphRightAlign', 'p[attribute =]. Center');
MT('paragraphJustified', 'p[attribute <>]. Justified');
MT('paragraphWithLeftIndent1em', 'p[attribute (]. Left');
MT('paragraphWithRightIndent1em', 'p[attribute )]. Right');
MT('paragraphWithLeftIndent2em', 'p[attribute ((]. Left');
MT('paragraphWithRightIndent2em', 'p[attribute ))]. Right');
MT('paragraphWithLeftIndent3emRightIndent2em', 'p[attribute ((())]. Right');
MT('divFormatting', '[punctuation div. ][punctuation&strong *foo ]' + '[punctuation&strong&em _bar_][punctuation&strong *]');
MT('phraseModifierAttributes', 'p[attribute (my-class)]. This is a paragraph that has a class and' + ' this [em _][em&attribute (#special-phrase)][em emphasized phrase_]' + ' has an id.');
MT('linkWithClass', '[link "(my-class). This is a link with class":http://redcloth.org]');
/* * Layouts */
MT('paragraphLayouts', 'p. This is one paragraph.', '', 'p. This is another.');
MT('div', '[punctuation div. foo bar]');
MT('pre', '[operator pre. Text]');
MT('bq.', '[bracket bq. foo bar]', '', 'Normal text.');
MT('footnote', '[variable fn123. foo ][variable&strong *bar*]');
/* * Spanning Layouts */
MT('bq..ThenParagraph', '[bracket bq.. foo bar]', '', '[bracket More quote.]', 'p. Normal Text');
MT('bq..ThenH1', '[bracket bq.. foo bar]', '', '[bracket More quote.]', '[header&header-1 h1. Header Text]');
MT('bc..ThenParagraph', '[atom bc.. # Some ruby code]', '[atom obj = {foo: :bar}]', '[atom puts obj]', '', '[atom obj[[:love]] = "*love*"]', '[atom puts obj.love.upcase]', '', 'p. Normal text.');
MT('fn1..ThenParagraph', '[variable fn1.. foo bar]', '', '[variable More.]', 'p. Normal Text');
MT('pre..ThenParagraph', '[operator pre.. foo bar]', '', '[operator More.]', 'p. Normal Text');
/* * Tables */
MT('table', '[variable-3&operator |_. name |_. age|]', '[variable-3 |][variable-3&strong *Walter*][variable-3 | 5 |]', '[variable-3 |Florence| 6 |]', '', 'p. Normal text.');
MT('tableWithAttributes', '[variable-3&operator |_. name |_. age|]', '[variable-3 |][variable-3&attribute /2.][variable-3 Jim |]', '[variable-3 |][variable-3&attribute \\2{color: red}.][variable-3 Sam |]');
/* * HTML */
MT('html', '[comment <div id="wrapper">]', '[comment <section id="introduction">]', '', '[header&header-1 h1. Welcome]', '', '[variable-2 * Item one]', '[variable-2 * Item two]', '', '[comment <a href="http://example.com">Example</a>]', '', '[comment </section>]', '[comment </div>]');
MT('inlineHtml', 'I can use HTML directly in my [comment <span class="youbetcha">Textile</span>].');
/* * No-Textile */
MT('notextile', '[string-2 notextile. *No* formatting]');
MT('notextileInline', 'Use [string-2 ==*asterisks*==] for [strong *strong*] text.');
MT('notextileWithPre', '[operator pre. *No* formatting]');
MT('notextileWithSpanningPre', '[operator pre.. *No* formatting]', '', '[operator *No* formatting]');
/* Only toggling phrases between non-word chars. */
MT('phrase-in-word', 'foo_bar_baz');
MT('phrase-non-word', '[negative -x-] aaa-bbb ccc-ddd [negative -eee-] fff [negative -ggg-]');
MT('phrase-lone-dash', 'foo - bar - baz'); })();
|