github.com/jancarloviray/community@v0.41.1-0.20170124221257-33a66c87cf2f/app/public/codemirror/mode/textile/test.js (about)

     1  // CodeMirror, copyright (c) by Marijn Haverbeke and others
     2  // Distributed under an MIT license: http://codemirror.net/LICENSE
     3  
     4  (function() {
     5    var mode = CodeMirror.getMode({tabSize: 4}, 'textile');
     6    function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
     7  
     8    MT('simpleParagraphs',
     9        'Some text.',
    10        '',
    11        'Some more text.');
    12  
    13    /*
    14     * Phrase Modifiers
    15     */
    16  
    17    MT('em',
    18        'foo [em _bar_]');
    19  
    20    MT('emBoogus',
    21        'code_mirror');
    22  
    23    MT('strong',
    24        'foo [strong *bar*]');
    25  
    26    MT('strongBogus',
    27        '3 * 3 = 9');
    28  
    29    MT('italic',
    30        'foo [em __bar__]');
    31  
    32    MT('italicBogus',
    33        'code__mirror');
    34  
    35    MT('bold',
    36        'foo [strong **bar**]');
    37  
    38    MT('boldBogus',
    39        '3 ** 3 = 27');
    40  
    41    MT('simpleLink',
    42        '[link "CodeMirror":http://codemirror.net]');
    43  
    44    MT('referenceLink',
    45        '[link "CodeMirror":code_mirror]',
    46        'Normal Text.',
    47        '[link [[code_mirror]]http://codemirror.net]');
    48  
    49    MT('footCite',
    50        'foo bar[qualifier [[1]]]');
    51  
    52    MT('footCiteBogus',
    53        'foo bar[[1a2]]');
    54  
    55    MT('special-characters',
    56            'Registered [tag (r)], ' +
    57            'Trademark [tag (tm)], and ' +
    58            'Copyright [tag (c)] 2008');
    59  
    60    MT('cite',
    61        "A book is [keyword ??The Count of Monte Cristo??] by Dumas.");
    62  
    63    MT('additionAndDeletion',
    64        'The news networks declared [negative -Al Gore-] ' +
    65          '[positive +George W. Bush+] the winner in Florida.');
    66  
    67    MT('subAndSup',
    68        'f(x, n) = log [builtin ~4~] x [builtin ^n^]');
    69  
    70    MT('spanAndCode',
    71        'A [quote %span element%] and [atom @code element@]');
    72  
    73    MT('spanBogus',
    74        'Percentage 25% is not a span.');
    75  
    76    MT('citeBogus',
    77        'Question? is not a citation.');
    78  
    79    MT('codeBogus',
    80        'user@example.com');
    81  
    82    MT('subBogus',
    83        '~username');
    84  
    85    MT('supBogus',
    86        'foo ^ bar');
    87  
    88    MT('deletionBogus',
    89        '3 - 3 = 0');
    90  
    91    MT('additionBogus',
    92        '3 + 3 = 6');
    93  
    94    MT('image',
    95        'An image: [string !http://www.example.com/image.png!]');
    96  
    97    MT('imageWithAltText',
    98        'An image: [string !http://www.example.com/image.png (Alt Text)!]');
    99  
   100    MT('imageWithUrl',
   101        'An image: [string !http://www.example.com/image.png!:http://www.example.com/]');
   102  
   103    /*
   104     * Headers
   105     */
   106  
   107    MT('h1',
   108        '[header&header-1 h1. foo]');
   109  
   110    MT('h2',
   111        '[header&header-2 h2. foo]');
   112  
   113    MT('h3',
   114        '[header&header-3 h3. foo]');
   115  
   116    MT('h4',
   117        '[header&header-4 h4. foo]');
   118  
   119    MT('h5',
   120        '[header&header-5 h5. foo]');
   121  
   122    MT('h6',
   123        '[header&header-6 h6. foo]');
   124  
   125    MT('h7Bogus',
   126        'h7. foo');
   127  
   128    MT('multipleHeaders',
   129        '[header&header-1 h1. Heading 1]',
   130        '',
   131        'Some text.',
   132        '',
   133        '[header&header-2 h2. Heading 2]',
   134        '',
   135        'More text.');
   136  
   137    MT('h1inline',
   138        '[header&header-1 h1. foo ][header&header-1&em _bar_][header&header-1  baz]');
   139  
   140    /*
   141     * Lists
   142     */
   143  
   144    MT('ul',
   145        'foo',
   146        'bar',
   147        '',
   148        '[variable-2 * foo]',
   149        '[variable-2 * bar]');
   150  
   151    MT('ulNoBlank',
   152        'foo',
   153        'bar',
   154        '[variable-2 * foo]',
   155        '[variable-2 * bar]');
   156  
   157    MT('ol',
   158        'foo',
   159        'bar',
   160        '',
   161        '[variable-2 # foo]',
   162        '[variable-2 # bar]');
   163  
   164    MT('olNoBlank',
   165        'foo',
   166        'bar',
   167        '[variable-2 # foo]',
   168        '[variable-2 # bar]');
   169  
   170    MT('ulFormatting',
   171        '[variable-2 * ][variable-2&em _foo_][variable-2  bar]',
   172        '[variable-2 * ][variable-2&strong *][variable-2&em&strong _foo_]' +
   173          '[variable-2&strong *][variable-2  bar]',
   174        '[variable-2 * ][variable-2&strong *foo*][variable-2  bar]');
   175  
   176    MT('olFormatting',
   177        '[variable-2 # ][variable-2&em _foo_][variable-2  bar]',
   178        '[variable-2 # ][variable-2&strong *][variable-2&em&strong _foo_]' +
   179          '[variable-2&strong *][variable-2  bar]',
   180        '[variable-2 # ][variable-2&strong *foo*][variable-2  bar]');
   181  
   182    MT('ulNested',
   183        '[variable-2 * foo]',
   184        '[variable-3 ** bar]',
   185        '[keyword *** bar]',
   186        '[variable-2 **** bar]',
   187        '[variable-3 ** bar]');
   188  
   189    MT('olNested',
   190        '[variable-2 # foo]',
   191        '[variable-3 ## bar]',
   192        '[keyword ### bar]',
   193        '[variable-2 #### bar]',
   194        '[variable-3 ## bar]');
   195  
   196    MT('ulNestedWithOl',
   197        '[variable-2 * foo]',
   198        '[variable-3 ## bar]',
   199        '[keyword *** bar]',
   200        '[variable-2 #### bar]',
   201        '[variable-3 ** bar]');
   202  
   203    MT('olNestedWithUl',
   204        '[variable-2 # foo]',
   205        '[variable-3 ** bar]',
   206        '[keyword ### bar]',
   207        '[variable-2 **** bar]',
   208        '[variable-3 ## bar]');
   209  
   210    MT('definitionList',
   211        '[number - coffee := Hot ][number&em _and_][number  black]',
   212        '',
   213        'Normal text.');
   214  
   215    MT('definitionListSpan',
   216        '[number - coffee :=]',
   217        '',
   218        '[number Hot ][number&em _and_][number  black =:]',
   219        '',
   220        'Normal text.');
   221  
   222    MT('boo',
   223        '[number - dog := woof woof]',
   224        '[number - cat := meow meow]',
   225        '[number - whale :=]',
   226        '[number Whale noises.]',
   227        '',
   228        '[number Also, ][number&em _splashing_][number . =:]');
   229  
   230    /*
   231     * Attributes
   232     */
   233  
   234    MT('divWithAttribute',
   235        '[punctuation div][punctuation&attribute (#my-id)][punctuation . foo bar]');
   236  
   237    MT('divWithAttributeAnd2emRightPadding',
   238        '[punctuation div][punctuation&attribute (#my-id)((][punctuation . foo bar]');
   239  
   240    MT('divWithClassAndId',
   241        '[punctuation div][punctuation&attribute (my-class#my-id)][punctuation . foo bar]');
   242  
   243    MT('paragraphWithCss',
   244        'p[attribute {color:red;}]. foo bar');
   245  
   246    MT('paragraphNestedStyles',
   247        'p. [strong *foo ][strong&em _bar_][strong *]');
   248  
   249    MT('paragraphWithLanguage',
   250        'p[attribute [[fr]]]. Parlez-vous français?');
   251  
   252    MT('paragraphLeftAlign',
   253        'p[attribute <]. Left');
   254  
   255    MT('paragraphRightAlign',
   256        'p[attribute >]. Right');
   257  
   258    MT('paragraphRightAlign',
   259        'p[attribute =]. Center');
   260  
   261    MT('paragraphJustified',
   262        'p[attribute <>]. Justified');
   263  
   264    MT('paragraphWithLeftIndent1em',
   265        'p[attribute (]. Left');
   266  
   267    MT('paragraphWithRightIndent1em',
   268        'p[attribute )]. Right');
   269  
   270    MT('paragraphWithLeftIndent2em',
   271        'p[attribute ((]. Left');
   272  
   273    MT('paragraphWithRightIndent2em',
   274        'p[attribute ))]. Right');
   275  
   276    MT('paragraphWithLeftIndent3emRightIndent2em',
   277        'p[attribute ((())]. Right');
   278  
   279    MT('divFormatting',
   280        '[punctuation div. ][punctuation&strong *foo ]' +
   281          '[punctuation&strong&em _bar_][punctuation&strong *]');
   282  
   283    MT('phraseModifierAttributes',
   284        'p[attribute (my-class)]. This is a paragraph that has a class and' +
   285        ' this [em _][em&attribute (#special-phrase)][em emphasized phrase_]' +
   286        ' has an id.');
   287  
   288    MT('linkWithClass',
   289        '[link "(my-class). This is a link with class":http://redcloth.org]');
   290  
   291    /*
   292     * Layouts
   293     */
   294  
   295    MT('paragraphLayouts',
   296        'p. This is one paragraph.',
   297        '',
   298        'p. This is another.');
   299  
   300    MT('div',
   301        '[punctuation div. foo bar]');
   302  
   303    MT('pre',
   304        '[operator pre. Text]');
   305  
   306    MT('bq.',
   307        '[bracket bq. foo bar]',
   308        '',
   309        'Normal text.');
   310  
   311    MT('footnote',
   312        '[variable fn123. foo ][variable&strong *bar*]');
   313  
   314    /*
   315     * Spanning Layouts
   316     */
   317  
   318    MT('bq..ThenParagraph',
   319        '[bracket bq.. foo bar]',
   320        '',
   321        '[bracket More quote.]',
   322        'p. Normal Text');
   323  
   324    MT('bq..ThenH1',
   325        '[bracket bq.. foo bar]',
   326        '',
   327        '[bracket More quote.]',
   328        '[header&header-1 h1. Header Text]');
   329  
   330    MT('bc..ThenParagraph',
   331        '[atom bc.. # Some ruby code]',
   332        '[atom obj = {foo: :bar}]',
   333        '[atom puts obj]',
   334        '',
   335        '[atom obj[[:love]] = "*love*"]',
   336        '[atom puts obj.love.upcase]',
   337        '',
   338        'p. Normal text.');
   339  
   340    MT('fn1..ThenParagraph',
   341        '[variable fn1.. foo bar]',
   342        '',
   343        '[variable More.]',
   344        'p. Normal Text');
   345  
   346    MT('pre..ThenParagraph',
   347        '[operator pre.. foo bar]',
   348        '',
   349        '[operator More.]',
   350        'p. Normal Text');
   351  
   352    /*
   353     * Tables
   354     */
   355  
   356    MT('table',
   357        '[variable-3&operator |_. name |_. age|]',
   358        '[variable-3 |][variable-3&strong *Walter*][variable-3 |   5  |]',
   359        '[variable-3 |Florence|   6  |]',
   360        '',
   361        'p. Normal text.');
   362  
   363    MT('tableWithAttributes',
   364        '[variable-3&operator |_. name |_. age|]',
   365        '[variable-3 |][variable-3&attribute /2.][variable-3  Jim |]',
   366        '[variable-3 |][variable-3&attribute \\2{color: red}.][variable-3  Sam |]');
   367  
   368    /*
   369     * HTML
   370     */
   371  
   372    MT('html',
   373        '[comment <div id="wrapper">]',
   374        '[comment <section id="introduction">]',
   375        '',
   376        '[header&header-1 h1. Welcome]',
   377        '',
   378        '[variable-2 * Item one]',
   379        '[variable-2 * Item two]',
   380        '',
   381        '[comment <a href="http://example.com">Example</a>]',
   382        '',
   383        '[comment </section>]',
   384        '[comment </div>]');
   385  
   386    MT('inlineHtml',
   387        'I can use HTML directly in my [comment <span class="youbetcha">Textile</span>].');
   388  
   389    /*
   390     * No-Textile
   391     */
   392  
   393    MT('notextile',
   394      '[string-2 notextile. *No* formatting]');
   395  
   396    MT('notextileInline',
   397        'Use [string-2 ==*asterisks*==] for [strong *strong*] text.');
   398  
   399    MT('notextileWithPre',
   400        '[operator pre. *No* formatting]');
   401  
   402    MT('notextileWithSpanningPre',
   403        '[operator pre.. *No* formatting]',
   404        '',
   405        '[operator *No* formatting]');
   406  
   407    /* Only toggling phrases between non-word chars. */
   408  
   409    MT('phrase-in-word',
   410       'foo_bar_baz');
   411  
   412    MT('phrase-non-word',
   413       '[negative -x-] aaa-bbb ccc-ddd [negative -eee-] fff [negative -ggg-]');
   414  
   415    MT('phrase-lone-dash',
   416       'foo - bar - baz');
   417  })();