[svn r38467] make string comparison lowercase-insensitive for windows
--HG-- branch : trunk
This commit is contained in:
parent
22d98ac3a1
commit
c52a54796d
|
@ -10,7 +10,9 @@ import sys, os, stat, re, atexit
|
||||||
import py
|
import py
|
||||||
from py.__.path import common
|
from py.__.path import common
|
||||||
|
|
||||||
if sys.platform == 'win32':
|
iswin32 = sys.platform == "win32"
|
||||||
|
|
||||||
|
if iswin32:
|
||||||
from py.__.path.local.win import WinMixin as PlatformMixin
|
from py.__.path.local.win import WinMixin as PlatformMixin
|
||||||
else:
|
else:
|
||||||
from py.__.path.local.posix import PosixMixin as PlatformMixin
|
from py.__.path.local.posix import PosixMixin as PlatformMixin
|
||||||
|
@ -193,7 +195,12 @@ class LocalPath(common.FSPathBase, PlatformMixin):
|
||||||
return obj
|
return obj
|
||||||
|
|
||||||
def __eq__(self, other):
|
def __eq__(self, other):
|
||||||
return str(self) == str(other)
|
s1 = str(self)
|
||||||
|
s2 = str(other)
|
||||||
|
if iswin32:
|
||||||
|
s1 = s1.lower()
|
||||||
|
s2 = s2.lower()
|
||||||
|
return s1 == s2
|
||||||
|
|
||||||
def open(self, mode='r'):
|
def open(self, mode='r'):
|
||||||
""" return an opened file with the given mode. """
|
""" return an opened file with the given mode. """
|
||||||
|
|
|
@ -24,6 +24,12 @@ class TestWINLocalPath:
|
||||||
self.root.chmod(mode)
|
self.root.chmod(mode)
|
||||||
assert self.root.stat().st_mode == mode
|
assert self.root.stat().st_mode == mode
|
||||||
|
|
||||||
|
def test_path_comparison_lowercase_mixed(self):
|
||||||
|
t1 = self.root.join("a_path")
|
||||||
|
t2 = self.root.join("A_path")
|
||||||
|
assert t1 == t1
|
||||||
|
assert t1 == t2
|
||||||
|
|
||||||
def test_allow_unix_style_paths(self):
|
def test_allow_unix_style_paths(self):
|
||||||
t1 = self.root.join('a_path')
|
t1 = self.root.join('a_path')
|
||||||
assert t1 == str(self.root) + '\\a_path'
|
assert t1 == str(self.root) + '\\a_path'
|
||||||
|
|
Loading…
Reference in New Issue