mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-10-31 00:06:02 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			79 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """
 | |
| ***************************************************************************
 | |
|     ScriptUtilsTest
 | |
|     ---------------------
 | |
|     Date                 : February 2019
 | |
|     Copyright            : (C) 2019 by Luigi Pirelli
 | |
|     Email                : luipir at gmail dot com
 | |
| ***************************************************************************
 | |
| *                                                                         *
 | |
| *   This program is free software; you can redistribute it and/or modify  *
 | |
| *   it under the terms of the GNU General Public License as published by  *
 | |
| *   the Free Software Foundation; either version 2 of the License, or     *
 | |
| *   (at your option) any later version.                                   *
 | |
| *                                                                         *
 | |
| ***************************************************************************
 | |
| """
 | |
| 
 | |
| __author__ = "Luigi Pirelli"
 | |
| __date__ = "February 2019"
 | |
| __copyright__ = "(C) 2019, Luigi Pirelli"
 | |
| 
 | |
| import os
 | |
| import shutil
 | |
| import tempfile
 | |
| 
 | |
| from qgis.core import NULL, QgsApplication
 | |
| import unittest
 | |
| from qgis.testing import start_app, QgisTestCase
 | |
| 
 | |
| from processing.script import ScriptUtils
 | |
| 
 | |
| testDataPath = os.path.join(os.path.dirname(__file__), "testdata")
 | |
| 
 | |
| start_app()
 | |
| 
 | |
| 
 | |
| class ScriptUtilsTest(QgisTestCase):
 | |
| 
 | |
|     @classmethod
 | |
|     def setUpClass(cls):
 | |
|         cls.cleanup_paths = []
 | |
| 
 | |
|     @classmethod
 | |
|     def tearDownClass(cls):
 | |
|         for path in cls.cleanup_paths:
 | |
|             shutil.rmtree(path)
 | |
| 
 | |
|     def testResetScriptFolder(self):
 | |
|         # if folder exist
 | |
|         defaultScriptFolder = ScriptUtils.defaultScriptsFolder()
 | |
|         folder = ScriptUtils.resetScriptFolder(defaultScriptFolder)
 | |
|         self.assertEqual(folder, defaultScriptFolder)
 | |
|         folder = ScriptUtils.resetScriptFolder(".")
 | |
|         self.assertEqual(folder, ".")
 | |
|         # if folder does not exist and not absolute
 | |
|         folder = ScriptUtils.resetScriptFolder("fake")
 | |
|         self.assertEqual(folder, None)
 | |
|         # if absolute but not relative to QgsApplication.qgisSettingsDirPath()
 | |
|         folder = os.path.join(tempfile.gettempdir(), "fakePath")
 | |
|         newFolder = ScriptUtils.resetScriptFolder(folder)
 | |
|         self.assertEqual(newFolder, folder)
 | |
| 
 | |
|         # if absolute profile but poiting somewhere
 | |
|         # reset the path as pointing to profile into the current settings
 | |
|         folder = QgsApplication.qgisSettingsDirPath()
 | |
| 
 | |
|         # modify default profile changing absolute path pointing somewhere
 | |
|         paths = folder.split(os.sep)
 | |
|         paths[0] = "/"
 | |
|         paths[1] = "fakelocation"
 | |
|         folder = os.path.join(*paths)
 | |
| 
 | |
|         folder = ScriptUtils.resetScriptFolder(folder)
 | |
|         self.assertEqual(folder, QgsApplication.qgisSettingsDirPath())
 | |
| 
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     unittest.main()
 |