annotate tests/test-hybridencode.py @ 9827:4fe9ca519637

mdiff: fix diff -b/B/w on mixed whitespace hunks (issue127) Previous code was computing hunks then checking if these hunks could be ignored when taking whitespace/blank-lines options in accounts. This approach is simple but fails with hunks containing both whitespace and non-whitespace changes, the whole hunk is emitted while it can be mostly made of whitespace. The new version normalize the whitespaces before hunk generation, and test for blank-lines afterwards.
author Patrick Mezard <pmezard@gmail.com>
date Wed, 11 Nov 2009 18:31:42 +0100
parents 1a6d702e059d
children 34d8247a4595
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7275
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
1 #!/usr/bin/env python
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
2
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
3 from mercurial import store
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
4
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
5 enc = store.hybridencode # used for fncache repo format
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
6
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
7 def show(s):
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
8 print "A = '%s'" % s
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
9 print "B = '%s'" % enc(s)
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
10 print
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
11
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
12 show('data/aux.bla/bla.aux/prn/PRN/lpt/com3/nul/coma/foo.NUL/normal.c.i')
c00cdac22d3c add new test-hybridencode.py
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
13
8659
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
14 show('data/AUX/SECOND/X.PRN/FOURTH/FI:FTH/SIXTH/SEVENTH/EIGHTH/NINETH/'
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
15 'TENTH/ELEVENTH/LOREMIPSUM.TXT.i')
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
16 show('data/enterprise/openesbaddons/contrib-imola/corba-bc/netbeansplugin/'
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
17 'wsdlExtension/src/main/java/META-INF/services/org.netbeans.modules'
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
18 '.xml.wsdl.bindingsupport.spi.ExtensibilityElementTemplateProvider.i')
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
19 show('data/AUX.THE-QUICK-BROWN-FOX-JU:MPS-OVER-THE-LAZY-DOG-THE-QUICK-'
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
20 'BROWN-FOX-JUMPS-OVER-THE-LAZY-DOG.TXT.i')
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
21 show('data/Project Planning/Resources/AnotherLongDirectoryName/'
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
22 'Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt')
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
23 show('data/Project.Planning/Resources/AnotherLongDirectoryName/'
1a6d702e059d test-hybridencode: break long string literals
Martin Geisler <mg@lazybytes.net>
parents: 7515
diff changeset
24 'Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt')
7515
ee5aba886108 store: encode trailing period and space on directory names (issue1417)
Adrian Buehlmann <adrian@cadifra.com>
parents: 7514
diff changeset
25 show('data/foo.../foo / /a./_. /__/.x../ bla/something.i')