1. 25 6月, 2014 2 次提交
    • R
      Merge pull request #15899 from garethrees/gr-texthelper · 44c9489a
      Rafael Mendonça França 提交于
      Deal with regex match groups in excerpt
      44c9489a
    • G
      Deal with regex match groups in excerpt · 124f88ea
      Gareth Rees 提交于
      Original implementation has bugs if the regex contains a match group.
      
      Example:
      
          excerpt('This is a beautiful? morning', /\b(beau\w*)\b/i, :radius => 5)
          Expected: "...is a beautiful? mor..."
          Actual: "...is a beautifulbeaut..."
      
      The original phrase was being converted to a regex and returning the text
      either side of the phrase as expected:
      
          'This is a beautiful? morning'.split(/beautiful/i, 2)
          # => ["This is a ", "? morning"]
      
      When we have a match with groups the match is returned in the array.
      
      Quoting the ruby docs: "If pattern is a Regexp, str is divided where the
      pattern matches. [...] If pattern contains groups, the respective matches will
      be returned in the array as well."
      
          'This is a beautiful? morning'.split(/\b(beau\w*)\b/iu, 2)
          # => ["This is a ", "beautiful", "? morning"]
      
      If we assume we want to split on the first match – this fix makes that
      assumption – we can pass the already assigned `phrase` variable as the place
      to split (because we already know that a match exists from line 168).
      
      Originally spotted by Louise Crow (@crowbot) at
      https://github.com/mysociety/alaveteli/pull/1557
      124f88ea
  2. 24 6月, 2014 25 次提交
  3. 23 6月, 2014 11 次提交
  4. 22 6月, 2014 2 次提交