44import os
55import shlex
66import tempfile
7+ import ctypes
8+
79from Npp import *
810
911class NotepadTestCase (unittest .TestCase ):
@@ -162,7 +164,7 @@ def test_getFiles(self):
162164 # python temp files are all lowercase, so make the filenames from getFiles lowercase too
163165 lowercaseFiles = []
164166 for entry in files :
165- lowercaseFiles .append ((entry [0 ]. lower ( ), entry [1 ], entry [2 ], entry [3 ]))
167+ lowercaseFiles .append ((self . normalise_filename ( entry [0 ]), entry [1 ], entry [2 ], entry [3 ]))
166168
167169 # clean up
168170 notepad .activateBufferID (bufferID1 )
@@ -172,8 +174,8 @@ def test_getFiles(self):
172174 editor .setSavePoint ()
173175 notepad .close ()
174176
175- self .assertIn ((file1 , bufferID1 , index1 , 0 ), lowercaseFiles )
176- self .assertIn ((file2 , bufferID2 , index2 , 0 ), lowercaseFiles )
177+ self .assertIn ((self . normalise_filename ( file1 ) , bufferID1 , index1 , 0 ), lowercaseFiles )
178+ self .assertIn ((self . normalise_filename ( file2 ) , bufferID2 , index2 , 0 ), lowercaseFiles )
177179 self .assertEqual (len (files ), 2 )
178180
179181
@@ -212,6 +214,12 @@ def test_saveLoadSession(self):
212214 self .assertEqual (file1Content , 'File 1 session' )
213215 self .assertEqual (file2Content , 'File 2 session' )
214216
217+ def normalise_filename (self , filename ):
218+ buf = ctypes .create_unicode_buffer (260 )
219+ GetLongPathName = ctypes .windll .kernel32 .GetLongPathNameW
220+ GetLongPathName (filename .decode ('windows-1252' ), buf , 260 )
221+ return buf .value .lower ()
222+
215223 def test_getSessionFiles (self ):
216224 # Create and open two files
217225 file1 = self .get_temp_filename ()
@@ -232,8 +240,8 @@ def test_getSessionFiles(self):
232240 notepad .close ()
233241 notepad .activateFile (file2 )
234242 notepad .close ()
235-
236- self .assertEqual (sessionFiles , [file1 , file2 ])
243+ normalisedSessionFiles = [ self . normalise_filename ( f ) for f in sessionFiles ]
244+ self .assertEqual (normalisedSessionFiles , [self . normalise_filename ( file1 ), self . normalise_filename ( file2 ) ])
237245
238246 def test_saveCurrentSession (self ):
239247
@@ -256,10 +264,10 @@ def test_saveCurrentSession(self):
256264 notepad .close ()
257265
258266 sessionFiles = notepad .getSessionFiles (sessionFile )
259- lowercaseSessionFiles = [file . lower ( ) for file in sessionFiles ]
267+ lowercaseSessionFiles = [self . normalise_filename ( file ) for file in sessionFiles ]
260268
261- self .assertIn (file1 , lowercaseSessionFiles )
262- self .assertIn (file2 , lowercaseSessionFiles )
269+ self .assertIn (self . normalise_filename ( file1 ) , lowercaseSessionFiles )
270+ self .assertIn (self . normalise_filename ( file2 ) , lowercaseSessionFiles )
263271
264272
265273 def test_reloadFile (self ):
0 commit comments