view tests/test-hybridencode.py @ 11949:626fe5c99231

hgfixes: added a fixer to convert changes in the email package This patch adds a fixer that accounts for changes in python packages, as the framework provided by lib2to3 is only able to track changes in module names. This fixer (hopefully) can fix any change in one-level hierarchies. To exemplify, this fixer can successfully change an import from "email.MIMEMultipart" to "email.mime.multipart".
author Renato Cunha <renatoc@gmail.com>
date Sun, 08 Aug 2010 15:48:58 -0300
parents 1a6d702e059d
children 34d8247a4595
line wrap: on
line source

#!/usr/bin/env python

from mercurial import store

enc = store.hybridencode # used for fncache repo format

def show(s):
    print "A = '%s'" % s
    print "B = '%s'" % enc(s)
    print

show('data/aux.bla/bla.aux/prn/PRN/lpt/com3/nul/coma/foo.NUL/normal.c.i')

show('data/AUX/SECOND/X.PRN/FOURTH/FI:FTH/SIXTH/SEVENTH/EIGHTH/NINETH/'
     'TENTH/ELEVENTH/LOREMIPSUM.TXT.i')
show('data/enterprise/openesbaddons/contrib-imola/corba-bc/netbeansplugin/'
     'wsdlExtension/src/main/java/META-INF/services/org.netbeans.modules'
     '.xml.wsdl.bindingsupport.spi.ExtensibilityElementTemplateProvider.i')
show('data/AUX.THE-QUICK-BROWN-FOX-JU:MPS-OVER-THE-LAZY-DOG-THE-QUICK-'
     'BROWN-FOX-JUMPS-OVER-THE-LAZY-DOG.TXT.i')
show('data/Project Planning/Resources/AnotherLongDirectoryName/'
     'Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt')
show('data/Project.Planning/Resources/AnotherLongDirectoryName/'
     'Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt')
show('data/foo.../foo   / /a./_. /__/.x../    bla/something.i')