pdd 0.21.1 → 0.21.2
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/features/cli.feature +2 -2
- data/lib/pdd/source.rb +10 -0
- data/lib/pdd/version.rb +1 -1
- data/test/test_source.rb +25 -2
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: c76649118dbe4b4884f07d453b611ca05da5845e753357fcb98cd0e6e8324b64
         | 
| 4 | 
            +
              data.tar.gz: 4b85d7b84b62f8d695d2e8b95a92bc03cb87d5e6acbef283723ac353a43c42cd
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 1a54147d056c4593c20142e9c45497308bc57c0ec34a63e84fc0f025e1722ed406102f9383196cec51a084baffe17d2de4174060c93173328605089410a48dff
         | 
| 7 | 
            +
              data.tar.gz: 4270c5b9ec6e8b63ca371b2c6c5905b13394d5078943f1c66b8c8ec9ccc30ae25026efd375f3fd2d5bd8c2a1fd29080c86755935d5c91bc6d47baceda89e6edd
         | 
    
        data/features/cli.feature
    CHANGED
    
    
    
        data/lib/pdd/source.rb
    CHANGED
    
    | @@ -141,12 +141,21 @@ against the rules explained here: https://github.com/cqfn/pdd#how-to-format" | |
| 141 141 | 
             
                  min
         | 
| 142 142 | 
             
                end
         | 
| 143 143 |  | 
| 144 | 
            +
                # rubocop:disable Metrics/CyclomaticComplexity
         | 
| 145 | 
            +
                # @todo #209:30min temporarily disabled cyclomatic complexity for the method.
         | 
| 146 | 
            +
                #  below. Please fix soon.
         | 
| 147 | 
            +
                #
         | 
| 144 148 | 
             
                # Fetch puzzle tail (all lines after the first one)
         | 
| 145 149 | 
             
                def tail(lines, prefix, start)
         | 
| 146 150 | 
             
                  prefix = prefix.rstrip
         | 
| 147 151 | 
             
                  prefix = " #{' ' * start}" if prefix.empty? # fallback to space indentation
         | 
| 152 | 
            +
                  line = lines[0][prefix.length + 1, lines[0].length] if lines[0]
         | 
| 153 | 
            +
                  is_indented = line&.start_with?(' ')
         | 
| 148 154 | 
             
                  lines
         | 
| 149 155 | 
             
                    .take_while { |t| match_markers(t).none? && t.start_with?(prefix) }
         | 
| 156 | 
            +
                    .take_while do |t|
         | 
| 157 | 
            +
                      !is_indented || t[prefix.length + 1, t.length].start_with?(' ')
         | 
| 158 | 
            +
                    end
         | 
| 150 159 | 
             
                    .take_while do |t|
         | 
| 151 160 | 
             
                      # account for carriage return in line endings
         | 
| 152 161 | 
             
                      t_len = t.length - 1
         | 
| @@ -155,6 +164,7 @@ against the rules explained here: https://github.com/cqfn/pdd#how-to-format" | |
| 155 164 | 
             
                    .map { |t| t[prefix.length, t.length] }
         | 
| 156 165 | 
             
                    .map { |t| t.start_with?(' ') ? t[1, t.length] : t }
         | 
| 157 166 | 
             
                end
         | 
| 167 | 
            +
                # rubocop:enable Metrics/CyclomaticComplexity
         | 
| 158 168 |  | 
| 159 169 | 
             
                # @todo #75:30min Let's make it possible to fetch Subversion data
         | 
| 160 170 | 
             
                #  in a similar way as we are doing with Git. We should also just
         | 
    
        data/lib/pdd/version.rb
    CHANGED
    
    
    
        data/test/test_source.rb
    CHANGED
    
    | @@ -22,6 +22,7 @@ require 'minitest/autorun' | |
| 22 22 | 
             
            require 'tmpdir'
         | 
| 23 23 | 
             
            require_relative '../lib/pdd'
         | 
| 24 24 | 
             
            require_relative '../lib/pdd/sources'
         | 
| 25 | 
            +
            require_relative 'test__helper'
         | 
| 25 26 |  | 
| 26 27 | 
             
            # Source test.
         | 
| 27 28 | 
             
            # Author:: Yegor Bugayenko (yegor256@gmail.com)
         | 
| @@ -46,8 +47,8 @@ class TestSource < Minitest::Test | |
| 46 47 | 
             
                    list = source.puzzles
         | 
| 47 48 | 
             
                    assert_equal 2, list.size
         | 
| 48 49 | 
             
                    puzzle = list.first
         | 
| 49 | 
            -
                    assert_equal '2- | 
| 50 | 
            -
                    assert_equal 'привет, how are you doing? | 
| 50 | 
            +
                    assert_equal '2-3', puzzle.props[:lines]
         | 
| 51 | 
            +
                    assert_equal 'привет, how are you doing?', \
         | 
| 51 52 | 
             
                                 puzzle.props[:body]
         | 
| 52 53 | 
             
                    assert_equal '44', puzzle.props[:ticket]
         | 
| 53 54 | 
             
                    assert puzzle.props[:author].nil?
         | 
| @@ -103,6 +104,28 @@ class TestSource < Minitest::Test | |
| 103 104 | 
             
                end
         | 
| 104 105 | 
             
              end
         | 
| 105 106 |  | 
| 107 | 
            +
              def test_space_indented_multiline_puzzle_block
         | 
| 108 | 
            +
                Dir.mktmpdir 'test' do |dir|
         | 
| 109 | 
            +
                  file = File.join(dir, 'a.txt')
         | 
| 110 | 
            +
                  File.write(
         | 
| 111 | 
            +
                    file,
         | 
| 112 | 
            +
                    "
         | 
| 113 | 
            +
                     # \x40todo #99:30min hello
         | 
| 114 | 
            +
                     #  good bye
         | 
| 115 | 
            +
                     # hello again
         | 
| 116 | 
            +
                    "
         | 
| 117 | 
            +
                  )
         | 
| 118 | 
            +
                  stub_source_find_github_user(file, 'hey') do |source|
         | 
| 119 | 
            +
                    PDD.opts = nil
         | 
| 120 | 
            +
                    assert_equal 1, source.puzzles.size
         | 
| 121 | 
            +
                    puzzle = source.puzzles.last
         | 
| 122 | 
            +
                    assert_equal '2-3', puzzle.props[:lines]
         | 
| 123 | 
            +
                    assert_equal 'hello good bye', puzzle.props[:body]
         | 
| 124 | 
            +
                    assert_equal '99', puzzle.props[:ticket]
         | 
| 125 | 
            +
                  end
         | 
| 126 | 
            +
                end
         | 
| 127 | 
            +
              end
         | 
| 128 | 
            +
             | 
| 106 129 | 
             
              def test_multiple_puzzles_single_comment_block
         | 
| 107 130 | 
             
                Dir.mktmpdir 'test' do |dir|
         | 
| 108 131 | 
             
                  file = File.join(dir, 'a.txt')
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: pdd
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.21. | 
| 4 | 
            +
              version: 0.21.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Yegor Bugayenko
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2022-07- | 
| 11 | 
            +
            date: 2022-07-12 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: nokogiri
         |