dtext_rb 1.0.14 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/.ruby-version +1 -0
 - data/Gemfile.lock +29 -24
 - data/VERSION +1 -1
 - data/dtext_rb.gemspec +5 -5
 - data/ext/dtext/dtext.c +1970 -1919
 - data/ext/dtext/dtext.rl +9 -6
 - data/test/dtext_test.rb +13 -0
 - metadata +4 -4
 - data/.rbenv-version +0 -1
 
    
        data/ext/dtext/dtext.rl
    CHANGED
    
    | 
         @@ -133,11 +133,14 @@ internal_url = '/' utf8graph+; 
     | 
|
| 
       133 
133 
     | 
    
         
             
            basic_textile_link = '"' nonquote+ >mark_a1 '"' >mark_a2 ':' (url | internal_url) >mark_b1 %mark_b2;
         
     | 
| 
       134 
134 
     | 
    
         
             
            bracketed_textile_link = '"' nonquote+ >mark_a1 '"' >mark_a2 ':[' (url | internal_url) >mark_b1 %mark_b2 :>> ']';
         
     | 
| 
       135 
135 
     | 
    
         | 
| 
       136 
     | 
    
         
            -
            basic_wiki_link = '[[' nonpipebracket 
     | 
| 
       137 
     | 
    
         
            -
            aliased_wiki_link = '[[' nonpipebracket+ >mark_a1 %mark_a2 '|'  
     | 
| 
      
 136 
     | 
    
         
            +
            basic_wiki_link = '[[' (nonbracket nonpipebracket*) >mark_a1 %mark_a2 ']]';
         
     | 
| 
      
 137 
     | 
    
         
            +
            aliased_wiki_link = '[[' nonpipebracket+ >mark_a1 %mark_a2 '|' nonpipebracket+ >mark_b1 %mark_b2 ']]';
         
     | 
| 
       138 
138 
     | 
    
         | 
| 
       139 
139 
     | 
    
         
             
            post_link = '{{' noncurly+ >mark_a1 %mark_a2 '}}';
         
     | 
| 
       140 
140 
     | 
    
         | 
| 
      
 141 
     | 
    
         
            +
            spoilers_open = '[spoiler'i 's'i? ']';
         
     | 
| 
      
 142 
     | 
    
         
            +
            spoilers_close = '[/spoiler'i 's'i? ']';
         
     | 
| 
      
 143 
     | 
    
         
            +
             
     | 
| 
       141 
144 
     | 
    
         
             
            post_id = 'post #'i digit+ >mark_a1 %mark_a2;
         
     | 
| 
       142 
145 
     | 
    
         
             
            forum_post_id = 'forum #'i digit+ >mark_a1 %mark_a2;
         
     | 
| 
       143 
146 
     | 
    
         
             
            forum_topic_id = 'topic #'i digit+ >mark_a1 %mark_a2;
         
     | 
| 
         @@ -531,14 +534,14 @@ inline := |* 
     | 
|
| 
       531 
534 
     | 
    
         
             
                }
         
     | 
| 
       532 
535 
     | 
    
         
             
              };
         
     | 
| 
       533 
536 
     | 
    
         | 
| 
       534 
     | 
    
         
            -
               
     | 
| 
      
 537 
     | 
    
         
            +
              spoilers_open => {
         
     | 
| 
       535 
538 
     | 
    
         
             
                g_debug("inline [spoiler]");
         
     | 
| 
       536 
539 
     | 
    
         
             
                g_debug("  push <span>");
         
     | 
| 
       537 
540 
     | 
    
         
             
                dstack_push(sm, &INLINE_SPOILER);
         
     | 
| 
       538 
541 
     | 
    
         
             
                append(sm, true, "<span class=\"spoiler\">");
         
     | 
| 
       539 
542 
     | 
    
         
             
              };
         
     | 
| 
       540 
543 
     | 
    
         | 
| 
       541 
     | 
    
         
            -
               
     | 
| 
      
 544 
     | 
    
         
            +
              spoilers_close => {
         
     | 
| 
       542 
545 
     | 
    
         
             
                g_debug("inline [/spoiler]");
         
     | 
| 
       543 
546 
     | 
    
         
             
                dstack_close_before_block(sm);
         
     | 
| 
       544 
547 
     | 
    
         | 
| 
         @@ -933,7 +936,7 @@ main := |* 
     | 
|
| 
       933 
936 
     | 
    
         
             
                append_block(sm, "<blockquote>");
         
     | 
| 
       934 
937 
     | 
    
         
             
              };
         
     | 
| 
       935 
938 
     | 
    
         | 
| 
       936 
     | 
    
         
            -
               
     | 
| 
      
 939 
     | 
    
         
            +
              spoilers_open space* => {
         
     | 
| 
       937 
940 
     | 
    
         
             
                g_debug("block [spoiler]");
         
     | 
| 
       938 
941 
     | 
    
         
             
                g_debug("  push spoiler");
         
     | 
| 
       939 
942 
     | 
    
         
             
                g_debug("  print <div>");
         
     | 
| 
         @@ -942,7 +945,7 @@ main := |* 
     | 
|
| 
       942 
945 
     | 
    
         
             
                append_block(sm, "<div class=\"spoiler\">");
         
     | 
| 
       943 
946 
     | 
    
         
             
              };
         
     | 
| 
       944 
947 
     | 
    
         | 
| 
       945 
     | 
    
         
            -
               
     | 
| 
      
 948 
     | 
    
         
            +
              spoilers_close => {
         
     | 
| 
       946 
949 
     | 
    
         
             
                g_debug("block [/spoiler]");
         
     | 
| 
       947 
950 
     | 
    
         
             
                dstack_close_before_block(sm);
         
     | 
| 
       948 
951 
     | 
    
         
             
                if (dstack_check(sm, BLOCK_SPOILER)) {
         
     | 
    
        data/test/dtext_test.rb
    CHANGED
    
    | 
         @@ -39,6 +39,11 @@ class DTextTest < Minitest::Test 
     | 
|
| 
       39 
39 
     | 
    
         
             
                assert_parse("<p>a <a href=\"/wiki_pages/show_or_new?title=spoiler\">spoiler</a> c</p>", "a [[spoiler]] c")
         
     | 
| 
       40 
40 
     | 
    
         
             
              end
         
     | 
| 
       41 
41 
     | 
    
         | 
| 
      
 42 
     | 
    
         
            +
              def test_wiki_links_edge
         
     | 
| 
      
 43 
     | 
    
         
            +
                assert_parse("<p>[[|_|]]</p>", "[[|_|]]")
         
     | 
| 
      
 44 
     | 
    
         
            +
                assert_parse("<p>[[||_||]]</p>", "[[||_||]]")
         
     | 
| 
      
 45 
     | 
    
         
            +
              end
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
       42 
47 
     | 
    
         
             
              def test_wiki_links_nested_b
         
     | 
| 
       43 
48 
     | 
    
         
             
                assert_parse("<p><strong>[[</strong>tag<strong>]]</strong></p>", "[b][[[/b]tag[b]]][/b]")
         
     | 
| 
       44 
49 
     | 
    
         
             
              end
         
     | 
| 
         @@ -47,10 +52,18 @@ class DTextTest < Minitest::Test 
     | 
|
| 
       47 
52 
     | 
    
         
             
                assert_parse("<p>this is <span class=\"spoiler\">an inline spoiler</span>.</p>", "this is [spoiler]an inline spoiler[/spoiler].")
         
     | 
| 
       48 
53 
     | 
    
         
             
              end
         
     | 
| 
       49 
54 
     | 
    
         | 
| 
      
 55 
     | 
    
         
            +
              def test_spoilers_inline_plural
         
     | 
| 
      
 56 
     | 
    
         
            +
                assert_parse("<p>this is <span class=\"spoiler\">an inline spoiler</span>.</p>", "this is [SPOILERS]an inline spoiler[/SPOILERS].")
         
     | 
| 
      
 57 
     | 
    
         
            +
              end
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
       50 
59 
     | 
    
         
             
              def test_spoilers_block
         
     | 
| 
       51 
60 
     | 
    
         
             
                assert_parse("<p>this is</p><div class=\"spoiler\"><p>a block spoiler</p></div><p>.</p>", "this is\n\n[spoiler]\na block spoiler\n[/spoiler].")
         
     | 
| 
       52 
61 
     | 
    
         
             
              end
         
     | 
| 
       53 
62 
     | 
    
         | 
| 
      
 63 
     | 
    
         
            +
              def test_spoilers_block_plural
         
     | 
| 
      
 64 
     | 
    
         
            +
                assert_parse("<p>this is</p><div class=\"spoiler\"><p>a block spoiler</p></div><p>.</p>", "this is\n\n[SPOILERS]\na block spoiler\n[/SPOILERS].")
         
     | 
| 
      
 65 
     | 
    
         
            +
              end
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
       54 
67 
     | 
    
         
             
              def test_spoilers_with_no_closing_tag_1
         
     | 
| 
       55 
68 
     | 
    
         
             
                assert_parse("<div class=\"spoiler\"><p>this is a spoiler with no closing tag</p><p>new text</p></div>", "[spoiler]this is a spoiler with no closing tag\n\nnew text")
         
     | 
| 
       56 
69 
     | 
    
         
             
              end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: dtext_rb
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.0 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.2.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - r888888888
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2016- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2016-12-13 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: minitest
         
     | 
| 
         @@ -59,7 +59,7 @@ extensions: 
     | 
|
| 
       59 
59 
     | 
    
         
             
            - ext/dtext/extconf.rb
         
     | 
| 
       60 
60 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       61 
61 
     | 
    
         
             
            files:
         
     | 
| 
       62 
     | 
    
         
            -
            - ". 
     | 
| 
      
 62 
     | 
    
         
            +
            - ".ruby-version"
         
     | 
| 
       63 
63 
     | 
    
         
             
            - Gemfile
         
     | 
| 
       64 
64 
     | 
    
         
             
            - Gemfile.lock
         
     | 
| 
       65 
65 
     | 
    
         
             
            - Rakefile
         
     | 
| 
         @@ -96,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       96 
96 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       97 
97 
     | 
    
         
             
            requirements: []
         
     | 
| 
       98 
98 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       99 
     | 
    
         
            -
            rubygems_version: 2. 
     | 
| 
      
 99 
     | 
    
         
            +
            rubygems_version: 2.5.1
         
     | 
| 
       100 
100 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       101 
101 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       102 
102 
     | 
    
         
             
            summary: Compiled DText parser
         
     | 
    
        data/.rbenv-version
    DELETED
    
    | 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            2.1.5
         
     |