Files
gtav-src/tools_ng/lib/pipeline/test/os/path_test.rb
T
2025-09-29 00:52:08 +02:00

192 lines
7.3 KiB
Ruby
Executable File

#
# path_test.rb
# Unit tests for Pipeline::OS::Path class
#
# Author:: David Muir <david.muir@rockstarnorth.com>
# Date:: 10 March 2008
#
require 'pipeline/os/path'
require 'test/unit'
module Pipeline
module Test
#-------------------------------------------------------------------------
# Unit Test Classes
#-------------------------------------------------------------------------
class PathTest < ::Test::Unit::TestCase
#---------------------------------------------------------------------
# Test Path Constants (don't need to exist as its just string changes)
#---------------------------------------------------------------------
TEST_PATH_01 = 'X:\\test\\path.txt'
TEST_PATH_02 = 'Z:\\test.txt'
TEST_PATH_03 = 'X:\\tools_release'
TEST_PATH_04 = 'X:\\tools_release\\'
TEST_PATH_05 = 'z:/tools_release/'
TEST_PATH_06 = 'file.txt'
TEST_PATH_07 = '\\shared_unc1\test_file.txt'
TEST_PATH_08 = '//SHARED_UNC1/test_file.txt'
TEST_PATH_09 = 'c:\\windows\\notepad.exe'
#---------------------------------------------------------------------
# Test Path Constants (normalised)
#---------------------------------------------------------------------
TEST_PATH_01_NORMALISED = 'x:/test/path.txt'
TEST_PATH_02_NORMALISED = 'z:/test.txt'
TEST_PATH_03_NORMALISED = 'x:/tools_release'
TEST_PATH_04_NORMALISED = 'x:/tools_release/'
TEST_PATH_07_NORMALISED = '//shared_unc1/test_file.txt'
TEST_PATH_08_NORMALISED = '//shared_unc1/test_file.txt'
#---------------------------------------------------------------------
# Test Path Constants (stripDrive)
#---------------------------------------------------------------------
TEST_PATH_01_STRIPDRIVE = 'test/path.txt'
TEST_PATH_02_STRIPDRIVE = 'test.txt'
#---------------------------------------------------------------------
# Test Path Constants (combine)
#---------------------------------------------------------------------
TEST_PATH_03_06_COMBINE = 'x:/tools_release/file.txt'
TEST_PATH_04_06_COMBINE = 'x:/tools_release/file.txt'
TEST_PATH_05_06_COMBINE = 'z:/tools_release/file.txt'
#---------------------------------------------------------------------
# Test Path Constants (get_directory)
#---------------------------------------------------------------------
TEST_PATH_01_DIRECTORY = 'x:/test'
TEST_PATH_02_DIRECTORY = 'z:/'
TEST_PATH_07_DIRECTORY = '//shared_unc1'
TEST_PATH_08_DIRECTORY = '//shared_unc1'
#---------------------------------------------------------------------
# Test Methods
#---------------------------------------------------------------------
def test_replace_ext
assert_equal( 'filename.name', OS::Path.replace_ext( 'filename.ext', 'name' ) )
assert_equal( 'filename.ide', OS::Path.replace_ext( 'filename.ext', 'ide' ) )
end
def test_get_basename
assert_equal( 'filename', OS::Path::get_basename( 'x:/filename' ) )
assert_equal( 'filename', OS::Path::get_basename( 'x:/filename.txt' ) )
assert_equal( 'filename', OS::Path::get_basename( 'x:/directory/filename' ) )
assert_equal( 'filename', OS::Path::get_basename( 'x:/directory/filename.txt' ) )
assert_equal( OS::Path::get_filename( 'x:/filename' ), OS::Path::get_basename( 'x:/filename' ) )
assert_not_equal( OS::Path::get_filename( 'x:/filename.txt' ), OS::Path::get_basename( 'x:/filename.txt' ) )
end
def test_get_directory
assert_equal( TEST_PATH_01_DIRECTORY, OS::Path.get_directory( TEST_PATH_01 ),
"TEST_PATH_01 failed get_directory test." )
assert_equal( TEST_PATH_02_DIRECTORY, OS::Path.get_directory( TEST_PATH_02 ),
"TEST_PATH_02 failed get_directory test." )
assert_equal( TEST_PATH_07_DIRECTORY, OS::Path.get_directory( TEST_PATH_07 ),
"TEST_PATH_07 failed get_directory test." )
assert_equal( TEST_PATH_08_DIRECTORY, OS::Path.get_directory( TEST_PATH_08 ),
"TEST_PATH_08 failed get_directory test." )
end
def test_normalise
assert_equal( TEST_PATH_01_NORMALISED, OS::Path.normalise( TEST_PATH_01 ),
"TEST_PATH_01 failed normalise test." )
assert_equal( TEST_PATH_02_NORMALISED, OS::Path.normalise( TEST_PATH_02 ),
"TEST_PATH_02 failed normalise test." )
assert_equal( TEST_PATH_03_NORMALISED, OS::Path.normalise( TEST_PATH_03 ),
"TEST_PATH_03 failed normalise test." )
assert_equal( TEST_PATH_04_NORMALISED, OS::Path.normalise( TEST_PATH_04 ),
"TEST_PATH_04 failed normalise test." )
end
def test_platform_native
assert_equal( TEST_PATH_09, OS::Path::platform_native( TEST_PATH_09 ) )
assert_not_equal( TEST_PATH_01, OS::Path::platform_native( TEST_PATH_01 ) )
end
def test_normalise_unc
assert_equal( TEST_PATH_07_NORMALISED, OS::Path.normalise( TEST_PATH_07 ),
"TEST_PATH_07 failed normalise test." )
assert_equal( TEST_PATH_08_NORMALISED, OS::Path.normalise( TEST_PATH_08 ),
"TEST_PATH_08 failed normalise test." )
end
def test_strip_drive
assert_equal( TEST_PATH_01_STRIPDRIVE, OS::Path.strip_drive( TEST_PATH_01 ),
"TEST_PATH_01 failed stripdrive test." )
assert_equal( TEST_PATH_02_STRIPDRIVE, OS::Path.strip_drive( TEST_PATH_02 ),
"TEST_PATH_02 failed stripdrive test." )
end
def test_combine
assert_equal( TEST_PATH_03_06_COMBINE, OS::Path.combine( TEST_PATH_03, TEST_PATH_06 ),
"TEST_PATH_03 and TEST_PATH_06 failed combine test." )
assert_equal( TEST_PATH_04_06_COMBINE, OS::Path.combine( TEST_PATH_04, TEST_PATH_06 ),
"TEST_PATH_04 and TEST_PATH_06 failed combine test." )
assert_equal( TEST_PATH_05_06_COMBINE, OS::Path.combine( TEST_PATH_05, TEST_PATH_06 ),
"TEST_PATH_05 and TEST_PATH_06 failed combine test." )
end
def test_ends_with
assert( OS::Path.ends_with( TEST_PATH_01, ".txt" ),
"TEST_PATH_01 failed ends_with test." )
assert( !OS::Path.ends_with( TEST_PATH_01, ".tx" ),
"TEST_PATH_01 failed ends_with test." )
assert( OS::Path.ends_with( TEST_PATH_02, "test.txt" ),
"TEST_PATH_02 failed ends_with test." )
assert( !OS::Path.ends_with( TEST_PATH_02, "X:/" ),
"TEST_PATH_02 failed ends_with test." )
assert( !OS::Path.ends_with( TEST_PATH_03, "\\" ),
"TEST_PATH_03 failed ends_with test." )
assert( !OS::Path.ends_with( TEST_PATH_03, "/" ),
"TEST_PATH_03 failed ends_with test." )
assert( !OS::Path.ends_with( TEST_PATH_04, "\\" ),
"TEST_PATH_04 failed ends_with test." )
assert( OS::Path.ends_with( TEST_PATH_04, "/" ),
"TEST_PATH_04 failed ends_with test." )
assert( OS::Path.ends_with( TEST_PATH_05, "/" ),
"TEST_PATH_05 failed ends_with test." )
assert( !OS::Path.ends_with( TEST_PATH_05, "\\" ),
"TEST_PATH_05 failed ends_with test." )
end
def test_windows_dirs
tempdir = OS::Path.get_temp_directory()
windir = OS::Path.get_windows_directory()
sysdir = OS::Path.get_windows_system_directory()
assert( tempdir.is_a?( String ) )
assert( windir.is_a?( String ) )
assert( sysdir.is_a?( String ) )
puts "Temp Path: #{OS::Path.get_temp_directory()}"
puts "Windows Path: #{OS::Path.get_windows_directory()}"
puts "System Path: #{OS::Path.get_windows_system_directory()}"
end
end
end # Test module
end # Pipeline module
# End of log_test.rb