home *** CD-ROM | disk | FTP | other *** search
/ FCE Gold Plus / GOLD.iso / pc / fscommand / Xtras / FileXtra4_test.dir / 00013_Script_FolderTests() < prev    next >
Text File  |  2002-12-20  |  6KB  |  114 lines

  1. on FolderTests
  2.   global folderToUse       -- I'll want to use this again in FileTests()
  3.   
  4.   pathSepChar = the last char of the moviePath       -- either ':' (Mac) or '\' (Windows)
  5.   
  6.   WriteInfo(RETURN & RETURN & "Folder Tests commencing")
  7.   WriteInfo("******************************************")
  8.   
  9.   fxObj = xtra("FileXtra4").new()
  10.   if not(objectP(fxObj)) then
  11.     WriteInfo("*** Could not instantiate FileXtra4.  Is it in the Xtras folder? ***" & RETURN)
  12.     return
  13.   end if
  14.   
  15.   volumeList = fxObj.fx_VolumesToList()
  16.   volumeToUse = volumeList.getAt(1)       -- assume it's the boot drive
  17.   
  18.   if the platform contains "Macintosh" then
  19.     folderToUse = fxObj.fx_FolderGetSpecialPath("kPreferencesFolderType")
  20.   else
  21.     folderToUse = fxObj.fx_FolderGetSpecialPath("CSIDL_WINDOWS")
  22.   end if
  23.   WriteInfo("fx_FolderGetSpecialPath(" & numToChar(34) & "kPreferencesFolderType" & numToChar(34) & ") returns '" & folderToUse & "'")
  24.   WriteInfo("     fx_ErrorNumber returns " & fxObj.fx_ErrorNumber() & ", fx_ErrorString returns '" & fxObj.fx_ErrorString() & "'")
  25.   
  26.   if folderToUse = empty then
  27.     WriteInfo("Preferences folder not found, trying to locate System Folder...")
  28.     if the platform contains "Macintosh" then
  29.       folderToUse = fxObj.fx_FolderGetSpecialPath("kSystemFolderType")
  30.     else
  31.       folderToUse = fxObj.fx_FolderGetSpecialPath("CSIDL_SYSTEM")
  32.     end if
  33.     if folderToUse = empty then
  34.       WriteInfo("System Folder not found, just going to use first folder at volume '" & volumeToUse & "' root.")
  35.       rootFoldersList = fxObj.fx_FolderToList(volumeToUse)
  36.       folderToUse = volumeToUse & rootFoldersList.getAt(1)
  37.       -- note that preceding code assumes at least one folder present
  38.       -- not a good idea to make assumptions like that in production code!
  39.     end if
  40.   end if
  41.   
  42.   foldersList = fxObj.fx_FolderToList(folderToUse)
  43.   -- fx_FolderToList() gives us every file in the folder, so strip out non-folders from the list
  44.   repeat with i = foldersList.count down to 1
  45.     fname = foldersList.getAt(i)
  46.     if chars(fname, fname.length, fname.length) <> pathSepChar then
  47.       foldersList.deleteAt(i)       -- zap regular files
  48.     end if
  49.   end repeat
  50.   
  51.   if foldersList.count = 0 then
  52.     WriteInfo("No folders found within '" & folderToUse & "'.")
  53.   else
  54.     WriteInfo("'" & folderToUse & "' contains the following folders:")
  55.     repeat with i = 1 to foldersList.count
  56.       WriteInfo("          " & foldersList.getAt(i))
  57.     end repeat
  58.     repeat with i = foldersList.count down to 1
  59.       if chars(foldersList.getAt(i), 1, 1) <> "." then
  60.         folderToUse = folderToUse & foldersList.getAt(i)
  61.         exit repeat
  62.       end if
  63.     end repeat
  64.     WriteInfo("")
  65.   end if
  66.   
  67.   -- make a unique folder name to test copying etc.
  68.   targetFolderName = volumeToUse & "_FX3_Test-Folder--Name"
  69.   if fxObj.fx_FolderExists(targetFolderName) then
  70.     targetFolderName = targetFolderName & "_AA_"
  71.   end if
  72.   
  73.   retVal = fxObj.fx_FolderCopy(folderToUse, targetFolderName, True)
  74.   WriteInfo("fx_FolderCopy('" & folderToUse & "', '" & targetFolderName & "', True) returns " & GetTrueFalseString(retVal))
  75.   WriteInfo("     fx_ErrorNumber returns " & fxObj.fx_ErrorNumber() & ", fx_ErrorString returns '" & fxObj.fx_ErrorString() & "'")
  76.   
  77.   tempSubFolderName = "TempFolderCreatedByFX3"
  78.   newFolderName = targetFolderName & pathSepChar & tempSubFolderName
  79.   retVal = fxObj.fx_FolderCreate(newFolderName)
  80.   WriteInfo("fx_FolderCreate('" & newFolderName & "') returns " & GetTrueFalseString(retVal))
  81.   WriteInfo("     fx_ErrorNumber returns " & fxObj.fx_ErrorNumber() & ", fx_ErrorString returns '" & fxObj.fx_ErrorString() & "'")
  82.   
  83.   retVal = fxObj.fx_FolderExists(newFolderName)
  84.   WriteInfo("fx_FolderExists('" & newFolderName & "') returns " & GetTrueFalseString(retVal))
  85.   WriteInfo("     fx_ErrorNumber returns " & fxObj.fx_ErrorNumber() & ", fx_ErrorString returns '" & fxObj.fx_ErrorString() & "'")
  86.   
  87.   retVal = fxObj.fx_FolderSyncOneWay(folderToUse, newFolderName, True, False)
  88.   WriteInfo("fx_FolderSyncOneWay('" & folderToUse & "', '" & newFolderName & "', True, False) returns " & GetTrueFalseString(retVal))
  89.   WriteInfo("     fx_ErrorNumber returns " & fxObj.fx_ErrorNumber() & ", fx_ErrorString returns '" & fxObj.fx_ErrorString() & "'")
  90.   
  91.   newFolderNameRenamed = newFolderName & "_"
  92.   tempSubFolderName = tempSubFolderName & "_"
  93.   retVal = fxObj.fx_FolderRename(newFolderName, newFolderNameRenamed)
  94.   WriteInfo("fx_FolderRename('" & newFolderName & "', '" & newFolderNameRenamed & "') returns " & GetTrueFalseString(retVal))
  95.   WriteInfo("     fx_ErrorNumber returns " & fxObj.fx_ErrorNumber() & ", fx_ErrorString returns '" & fxObj.fx_ErrorString() & "'")
  96.   
  97.   movedFolderPath = volumeToUse & tempSubFolderName
  98.   retVal = fxObj.fx_FolderMove(newFolderNameRenamed, movedFolderPath)
  99.   WriteInfo("fx_FolderMove('" & newFolderNameRenamed & "', '" & movedFolderPath & "') returns " & GetTrueFalseString(retVal))
  100.   WriteInfo("     fx_ErrorNumber returns " & fxObj.fx_ErrorNumber() & ", fx_ErrorString returns '" & fxObj.fx_ErrorString() & "'")
  101.   
  102.   retVal = fxObj.fx_FolderRecycle(movedFolderPath)
  103.   WriteInfo("fx_FolderRecycle('" & movedFolderPath & "') returns " & GetTrueFalseString(retVal))
  104.   WriteInfo("     fx_ErrorNumber returns " & fxObj.fx_ErrorNumber() & ", fx_ErrorString returns '" & fxObj.fx_ErrorString() & "'")
  105.   
  106.   retVal = fxObj.fx_FolderDelete(targetFolderName, True)       -- delete test folder and all contents
  107.   WriteInfo("fx_FolderDelete('" & targetFolderName & "', True) returns " & GetTrueFalseString(retVal))
  108.   WriteInfo("     fx_ErrorNumber returns " & fxObj.fx_ErrorNumber() & ", fx_ErrorString returns '" & fxObj.fx_ErrorString() & "'")
  109.   
  110.   WriteInfo("")
  111.   
  112.   fxObj = 0
  113. end
  114.