123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406 |
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
- // Distributed under an MIT license: http://codemirror.net/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":http://codemirror.net]');
-
- MT('referenceLink',
- '[link "CodeMirror":code_mirror]',
- 'Normal Text.',
- '[link [[code_mirror]]http://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]');
- })();
|