jQuery.PrettyTextDiff icon indicating copy to clipboard operation
jQuery.PrettyTextDiff copied to clipboard

Diffs of text containing tab characters?

Open BlackKite84 opened this issue 10 years ago • 12 comments

on Diff by Two Table withs Tab's the output has a
what does not belong there

output (updateChange) the
before Dog Days is too much

<tr>
                        <td class="columnText updateOriginal" style="width: 50%;">
                            Dog Days''                      </td>
                        <td class="columnText updateChange" style="width: 50%;"><span><br>                          Dog Days''                      </span></td>
                    </tr>

on view in browser i See a new line, the Text is not symmetric on line beginning

BlackKite84 avatar May 20 '15 17:05 BlackKite84

Hi @BlackKite84 can you produce a jsfiddle with the problem?

arnab avatar May 20 '15 17:05 arnab

http://jsfiddle.net/pytm9ueL/1/

yes

BlackKite84 avatar May 20 '15 17:05 BlackKite84

Huh, I am missing something here. You specified (in that jsfiddle):

  • the originalContainer as .updateOriginal
  • but both the changedContainer and diffContainer as .updateChange
  • text contents of both original and changed container look the same to me (Dog Days'')

Questions:

  • Where do you expect to see the diff (since the diffContainer is same as the changedContainer)?
  • What do you expect to see as the diff (since the text looks the same to me)?

arnab avatar May 20 '15 17:05 arnab

Also, the "title" of this issue is set to <br>. Could you please change that to the actual problem/question you are reporting/asking?

arnab avatar May 20 '15 17:05 arnab

unbenannt

I overwrite the change Content with the diff (i will see only change and original)

http://jsfiddle.net/pytm9ueL/2/

A new line (
)

BlackKite84 avatar May 20 '15 17:05 BlackKite84

Add debug: true to when you call prettyTextDiff: http://jsfiddle.net/pytm9ueL/4/

This will show you what this library found. Looks like the underlying Google diff-match-patch library shows the "↵ " also as a diff.

arnab avatar May 20 '15 17:05 arnab

and why "Enter" i use Tab

BlackKite84 avatar May 20 '15 18:05 BlackKite84

Like I said, what you are seeing is coming from the underlying library. Please ask your question there: https://code.google.com/p/google-diff-match-patch/

arnab avatar May 20 '15 18:05 arnab

I have Fix ist with

        } else {
          original = $(settings.originalContainer, this).text().trim();
          changed = $(settings.changedContainer, this).text().trim();
        }

BlackKite84 avatar May 20 '15 19:05 BlackKite84

I am running into the same issue that @BlackKite84 was seeing. I have two divs that appear to have identical content (including whitespace). If I pass parameters via originalContainer and changedContainer, PrettyTextDiff appears to pass slightly different strings (different in their whitespace) to google-diff-match-patch. Here is the result of a call to .prettyTextDiff( ) when I use originalContainer and changedContainer parameters. Note the <br>'s that are inserted at the beginning and end of .immutable-clause-pretty-diff

Screen Shot 2019-06-24 at 7 28 19 PM

Screen Shot 2019-06-24 at 7 28 42 PM

And here is the result of a call to .prettyTextDiff( ) when I use originalContent and changedContent parameters with the trim( ) function, as suggested by @BlackKite84. It works as expected:

Screen Shot 2019-06-24 at 7 30 41 PM

Screen Shot 2019-06-24 at 7 30 53 PM

jbeyer05 avatar Jun 24 '19 23:06 jbeyer05

It appears that if there are matching newline characters inside the originalContent and changedContent divs, google-diff-match-patch passes the newline character back, but PrettyTextDiff converts said newline character to a <br> here

I'm not sure if it would break things for other users, but it seems like substituting <br>s for newline characters may not be necessary.

jbeyer05 avatar Jun 24 '19 23:06 jbeyer05