Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
TestURIUtils.cpp File Reference
#include "ServiceBroker.h"
#include "URL.h"
#include "filesystem/File.h"
#include "filesystem/MultiPathDirectory.h"
#include "interfaces/legacy/WindowInterceptor.h"
#include "settings/AdvancedSettings.h"
#include "settings/SettingsComponent.h"
#include "test/TestUtils.h"
#include "utils/URIUtils.h"
#include <array>
#include <utility>
#include <gtest/gtest.h>

Classes

class  TestURIUtils
 
struct  TestPathData
 
class  TestParentPath
 
class  TestBasePath
 
struct  URLEncodings
 
struct  TestIsHostOnLANData
 
class  TestLANParamTest
 
struct  CURLArchiveConstructionTestData
 
class  ArchiveFileParsingTester
 
struct  GetFileOrFolderNameTest
 
class  GetFileOrFolderNameTester
 

Functions

 TEST_F (TestURIUtils, PathHasParent)
 
 TEST_F (TestURIUtils, GetDirectory)
 
 TEST_F (TestURIUtils, GetExtension)
 
 TEST_F (TestURIUtils, HasExtension)
 
 TEST_F (TestURIUtils, GetFileName)
 
 TEST_F (TestURIUtils, RemoveExtension)
 
 TEST_F (TestURIUtils, ReplaceExtension)
 
 TEST_F (TestURIUtils, Split)
 
 TEST_F (TestURIUtils, SplitPath)
 
 TEST_F (TestURIUtils, SplitPathLocal)
 
 TEST_F (TestURIUtils, GetCommonPath)
 
 TEST_P (TestParentPath, GetParentPath)
 
 INSTANTIATE_TEST_SUITE_P (ParentPath, TestParentPath, ValuesIn(Paths))
 
 TEST_P (TestBasePath, GetBasePath)
 
 INSTANTIATE_TEST_SUITE_P (BasePath, TestBasePath, ValuesIn(Paths))
 
 TEST_F (TestURIUtils, SubstitutePath)
 
 TEST_F (TestURIUtils, IsAddonsPath)
 
 TEST_F (TestURIUtils, IsSourcesPath)
 
 TEST_F (TestURIUtils, IsCDDA)
 
 TEST_F (TestURIUtils, IsDOSPath)
 
 TEST_F (TestURIUtils, IsDVD)
 
 TEST_F (TestURIUtils, IsFTP)
 
 TEST_F (TestURIUtils, IsHD)
 
 TEST_F (TestURIUtils, IsInArchive)
 
 TEST_F (TestURIUtils, IsInRAR)
 
 TEST_F (TestURIUtils, IsInternetStream)
 
 TEST_F (TestURIUtils, IsInZIP)
 
 TEST_F (TestURIUtils, IsISO9660)
 
 TEST_F (TestURIUtils, IsLiveTV)
 
 TEST_F (TestURIUtils, IsPVRRadioChannel)
 
 TEST_F (TestURIUtils, IsMultiPath)
 
 TEST_F (TestURIUtils, IsMusicDb)
 
 TEST_F (TestURIUtils, IsNfs)
 
 TEST_F (TestURIUtils, IsOnDVD)
 
 TEST_F (TestURIUtils, IsOnLAN)
 
 TEST_F (TestURIUtils, IsPlugin)
 
 TEST_F (TestURIUtils, IsScript)
 
 TEST_F (TestURIUtils, IsRAR)
 
 TEST_F (TestURIUtils, IsRemote)
 
 TEST_F (TestURIUtils, IsSmb)
 
 TEST_F (TestURIUtils, IsSpecial)
 
 TEST_F (TestURIUtils, IsStack)
 
 TEST_F (TestURIUtils, IsUPnP)
 
 TEST_F (TestURIUtils, IsURL)
 
 TEST_F (TestURIUtils, IsVideoDb)
 
 TEST_F (TestURIUtils, IsZIP)
 
 TEST_F (TestURIUtils, IsBlurayPath)
 
 TEST_F (TestURIUtils, AddSlashAtEnd)
 
 TEST_F (TestURIUtils, HasSlashAtEnd)
 
 TEST_F (TestURIUtils, RemoveSlashAtEnd)
 
 TEST_F (TestURIUtils, CreateArchivePath)
 
 TEST_F (TestURIUtils, AddFileToFolder)
 
 TEST_F (TestURIUtils, HasParentInHostname)
 
 TEST_F (TestURIUtils, HasEncodedHostname)
 
 TEST_F (TestURIUtils, HasEncodedFilename)
 
 TEST_F (TestURIUtils, GetRealPath)
 
 TEST_F (TestURIUtils, UpdateUrlEncoding)
 
 TEST_F (TestURIUtils, URLEncode)
 
 TEST_F (TestURIUtils, URLDecode)
 
 TEST_F (TestURIUtils, URLEncodeDecode)
 
 TEST_F (TestURIUtils, ContainersEncodeHostnamePaths)
 
 TEST_F (TestURIUtils, GetDiscBase)
 
 TEST_F (TestURIUtils, GetDiscBasePath)
 
 TEST_F (TestURIUtils, GetDiscFile)
 
 TEST_F (TestURIUtils, GetDiscUnderlyingFile)
 
 TEST_F (TestURIUtils, GetBlurayRootPath)
 
 TEST_F (TestURIUtils, GetBlurayEpisodePath)
 
 TEST_F (TestURIUtils, GetBlurayPlaylistPath)
 
 TEST_F (TestURIUtils, GetBlurayPlaylistFromPath)
 
 TEST_F (TestURIUtils, RemovePartNumberFromTitle)
 
std::ostream & operator<< (std::ostream &os, const TestIsHostOnLANData &rhs)
 
 TEST_P (TestLANParamTest, TestIsHostOnLAN)
 
 INSTANTIATE_TEST_SUITE_P (TestURIUtils, TestLANParamTest, testing::ValuesIn(values))
 
 TEST_F (TestURIUtils, CheckConsistencyBetweenFileNameUtilities)
 
std::ostream & operator<< (std::ostream &os, const CURLArchiveConstructionTestData &data)
 
 TEST_P (ArchiveFileParsingTester, TestArchiveFileParsingNativeSlashes)
 
 INSTANTIATE_TEST_SUITE_P (TestURIUtils, ArchiveFileParsingTester, testing::ValuesIn(ArchiveFileParsingTests))
 
 TEST_P (GetFileOrFolderNameTester, TestValue)
 
 INSTANTIATE_TEST_SUITE_P (TestURIUtils, GetFileOrFolderNameTester, testing::ValuesIn(GetFileOrFolderNameTests))
 

Variables

const TestPathData Paths []
 
constexpr URLEncodings EncodingTestData []
 
constexpr URLEncodings RFC1738EncodingTestData []
 
constexpr URLEncodings RFC3986EncodingTestData []
 
constexpr URLEncodings InvalidEncodingTestData []
 
const TestIsHostOnLANData values []
 
const auto ArchiveFileParsingTests
 
const auto GetFileOrFolderNameTests
 

Function Documentation

◆ INSTANTIATE_TEST_SUITE_P() [1/5]

INSTANTIATE_TEST_SUITE_P ( BasePath  ,
TestBasePath  ,
ValuesIn(Paths  
)

◆ INSTANTIATE_TEST_SUITE_P() [2/5]

INSTANTIATE_TEST_SUITE_P ( ParentPath  ,
TestParentPath  ,
ValuesIn(Paths  
)

◆ INSTANTIATE_TEST_SUITE_P() [3/5]

INSTANTIATE_TEST_SUITE_P ( TestURIUtils  ,
ArchiveFileParsingTester  ,
testing::ValuesIn(ArchiveFileParsingTests  
)

◆ INSTANTIATE_TEST_SUITE_P() [4/5]

INSTANTIATE_TEST_SUITE_P ( TestURIUtils  ,
GetFileOrFolderNameTester  ,
testing::ValuesIn(GetFileOrFolderNameTests  
)

◆ INSTANTIATE_TEST_SUITE_P() [5/5]

INSTANTIATE_TEST_SUITE_P ( TestURIUtils  ,
TestLANParamTest  ,
testing::ValuesIn(values  
)

◆ operator<<() [1/2]

std::ostream & operator<< ( std::ostream &  os,
const CURLArchiveConstructionTestData data 
)

◆ operator<<() [2/2]

std::ostream & operator<< ( std::ostream &  os,
const TestIsHostOnLANData rhs 
)

◆ TEST_F() [1/67]

TEST_F ( TestURIUtils  ,
AddFileToFolder   
)

◆ TEST_F() [2/67]

TEST_F ( TestURIUtils  ,
AddSlashAtEnd   
)

◆ TEST_F() [3/67]

TEST_F ( TestURIUtils  ,
CheckConsistencyBetweenFileNameUtilities   
)

◆ TEST_F() [4/67]

TEST_F ( TestURIUtils  ,
ContainersEncodeHostnamePaths   
)

◆ TEST_F() [5/67]

TEST_F ( TestURIUtils  ,
CreateArchivePath   
)

◆ TEST_F() [6/67]

TEST_F ( TestURIUtils  ,
GetBlurayEpisodePath   
)

◆ TEST_F() [7/67]

TEST_F ( TestURIUtils  ,
GetBlurayPlaylistFromPath   
)

◆ TEST_F() [8/67]

TEST_F ( TestURIUtils  ,
GetBlurayPlaylistPath   
)

◆ TEST_F() [9/67]

TEST_F ( TestURIUtils  ,
GetBlurayRootPath   
)

◆ TEST_F() [10/67]

TEST_F ( TestURIUtils  ,
GetCommonPath   
)

◆ TEST_F() [11/67]

TEST_F ( TestURIUtils  ,
GetDirectory   
)

◆ TEST_F() [12/67]

TEST_F ( TestURIUtils  ,
GetDiscBase   
)

◆ TEST_F() [13/67]

TEST_F ( TestURIUtils  ,
GetDiscBasePath   
)

◆ TEST_F() [14/67]

TEST_F ( TestURIUtils  ,
GetDiscFile   
)

◆ TEST_F() [15/67]

TEST_F ( TestURIUtils  ,
GetDiscUnderlyingFile   
)

◆ TEST_F() [16/67]

TEST_F ( TestURIUtils  ,
GetExtension   
)

◆ TEST_F() [17/67]

TEST_F ( TestURIUtils  ,
GetFileName   
)

◆ TEST_F() [18/67]

TEST_F ( TestURIUtils  ,
GetRealPath   
)

◆ TEST_F() [19/67]

TEST_F ( TestURIUtils  ,
HasEncodedFilename   
)

◆ TEST_F() [20/67]

TEST_F ( TestURIUtils  ,
HasEncodedHostname   
)

◆ TEST_F() [21/67]

TEST_F ( TestURIUtils  ,
HasExtension   
)

◆ TEST_F() [22/67]

TEST_F ( TestURIUtils  ,
HasParentInHostname   
)

◆ TEST_F() [23/67]

TEST_F ( TestURIUtils  ,
HasSlashAtEnd   
)

◆ TEST_F() [24/67]

TEST_F ( TestURIUtils  ,
IsAddonsPath   
)

◆ TEST_F() [25/67]

TEST_F ( TestURIUtils  ,
IsBlurayPath   
)

◆ TEST_F() [26/67]

TEST_F ( TestURIUtils  ,
IsCDDA   
)

◆ TEST_F() [27/67]

TEST_F ( TestURIUtils  ,
IsDOSPath   
)

◆ TEST_F() [28/67]

TEST_F ( TestURIUtils  ,
IsDVD   
)

◆ TEST_F() [29/67]

TEST_F ( TestURIUtils  ,
IsFTP   
)

◆ TEST_F() [30/67]

TEST_F ( TestURIUtils  ,
IsHD   
)

◆ TEST_F() [31/67]

TEST_F ( TestURIUtils  ,
IsInArchive   
)

◆ TEST_F() [32/67]

TEST_F ( TestURIUtils  ,
IsInRAR   
)

◆ TEST_F() [33/67]

TEST_F ( TestURIUtils  ,
IsInternetStream   
)

◆ TEST_F() [34/67]

TEST_F ( TestURIUtils  ,
IsInZIP   
)

◆ TEST_F() [35/67]

TEST_F ( TestURIUtils  ,
IsISO9660   
)

◆ TEST_F() [36/67]

TEST_F ( TestURIUtils  ,
IsLiveTV   
)

◆ TEST_F() [37/67]

TEST_F ( TestURIUtils  ,
IsMultiPath   
)

◆ TEST_F() [38/67]

TEST_F ( TestURIUtils  ,
IsMusicDb   
)

◆ TEST_F() [39/67]

TEST_F ( TestURIUtils  ,
IsNfs   
)

◆ TEST_F() [40/67]

TEST_F ( TestURIUtils  ,
IsOnDVD   
)

◆ TEST_F() [41/67]

TEST_F ( TestURIUtils  ,
IsOnLAN   
)

◆ TEST_F() [42/67]

TEST_F ( TestURIUtils  ,
IsPlugin   
)

◆ TEST_F() [43/67]

TEST_F ( TestURIUtils  ,
IsPVRRadioChannel   
)

◆ TEST_F() [44/67]

TEST_F ( TestURIUtils  ,
IsRAR   
)

◆ TEST_F() [45/67]

TEST_F ( TestURIUtils  ,
IsRemote   
)

◆ TEST_F() [46/67]

TEST_F ( TestURIUtils  ,
IsScript   
)

◆ TEST_F() [47/67]

TEST_F ( TestURIUtils  ,
IsSmb   
)

◆ TEST_F() [48/67]

TEST_F ( TestURIUtils  ,
IsSourcesPath   
)

◆ TEST_F() [49/67]

TEST_F ( TestURIUtils  ,
IsSpecial   
)

◆ TEST_F() [50/67]

TEST_F ( TestURIUtils  ,
IsStack   
)

◆ TEST_F() [51/67]

TEST_F ( TestURIUtils  ,
IsUPnP   
)

◆ TEST_F() [52/67]

TEST_F ( TestURIUtils  ,
IsURL   
)

◆ TEST_F() [53/67]

TEST_F ( TestURIUtils  ,
IsVideoDb   
)

◆ TEST_F() [54/67]

TEST_F ( TestURIUtils  ,
IsZIP   
)

◆ TEST_F() [55/67]

TEST_F ( TestURIUtils  ,
PathHasParent   
)

◆ TEST_F() [56/67]

TEST_F ( TestURIUtils  ,
RemoveExtension   
)

◆ TEST_F() [57/67]

TEST_F ( TestURIUtils  ,
RemovePartNumberFromTitle   
)

◆ TEST_F() [58/67]

TEST_F ( TestURIUtils  ,
RemoveSlashAtEnd   
)

◆ TEST_F() [59/67]

TEST_F ( TestURIUtils  ,
ReplaceExtension   
)

◆ TEST_F() [60/67]

TEST_F ( TestURIUtils  ,
Split   
)

◆ TEST_F() [61/67]

TEST_F ( TestURIUtils  ,
SplitPath   
)

◆ TEST_F() [62/67]

TEST_F ( TestURIUtils  ,
SplitPathLocal   
)

◆ TEST_F() [63/67]

TEST_F ( TestURIUtils  ,
SubstitutePath   
)

◆ TEST_F() [64/67]

TEST_F ( TestURIUtils  ,
UpdateUrlEncoding   
)

◆ TEST_F() [65/67]

TEST_F ( TestURIUtils  ,
URLDecode   
)

◆ TEST_F() [66/67]

TEST_F ( TestURIUtils  ,
URLEncode   
)

◆ TEST_F() [67/67]

TEST_F ( TestURIUtils  ,
URLEncodeDecode   
)

◆ TEST_P() [1/5]

TEST_P ( ArchiveFileParsingTester  ,
TestArchiveFileParsingNativeSlashes   
)

◆ TEST_P() [2/5]

TEST_P ( GetFileOrFolderNameTester  ,
TestValue   
)

◆ TEST_P() [3/5]

TEST_P ( TestBasePath  ,
GetBasePath   
)

◆ TEST_P() [4/5]

TEST_P ( TestLANParamTest  ,
TestIsHostOnLAN   
)

◆ TEST_P() [5/5]

TEST_P ( TestParentPath  ,
GetParentPath   
)

Variable Documentation

◆ ArchiveFileParsingTests

const auto ArchiveFileParsingTests

◆ EncodingTestData

constexpr URLEncodings EncodingTestData[]
constexpr

◆ GetFileOrFolderNameTests

const auto GetFileOrFolderNameTests
Initial value:
= std::array{
GetFileOrFolderNameTest{"foo", "foo"},
GetFileOrFolderNameTest{"foo/bar", "bar"},
GetFileOrFolderNameTest{"foo/bar/", "bar"},
GetFileOrFolderNameTest{"foo/", "foo"},
GetFileOrFolderNameTest{"/foo", "foo"},
GetFileOrFolderNameTest{"/foo/", "foo"},
GetFileOrFolderNameTest{"foo\\bar", "bar"},
GetFileOrFolderNameTest{"foo\\bar\\", "bar"},
GetFileOrFolderNameTest{"foo\\", "foo"},
GetFileOrFolderNameTest{"\\foo\\", "foo"},
GetFileOrFolderNameTest{"\\foo", "foo"},
}
Definition TestURIUtils.cpp:2048

◆ InvalidEncodingTestData

constexpr URLEncodings InvalidEncodingTestData[]
constexpr
Initial value:
= {
{"%", "%"},
{"%%", "%%"},
{"%;", "%;"},
{"%-", "%-"},
{"%2", "%2"},
{"%2-", "%2-"},
{"%2x", "%2x"},
{"% ", "%%20"},
{"%% ", "%%%20"},
{"%; ", "%;%20"},
{"%- ", "%-%20"},
{"%2 ", "%2%20"},
{"%2- ", "%2-%20"},
{"%2x ", "%2x%20"},
}

◆ Paths

const TestPathData Paths[]

◆ RFC1738EncodingTestData

constexpr URLEncodings RFC1738EncodingTestData[]
constexpr
Initial value:
= {
{"-", "-"}, {"_", "_"}, {".", "."}, {"!", "!"}, {"(", "("}, {")", ")"}, {"~", "%7e"},
}

◆ RFC3986EncodingTestData

constexpr URLEncodings RFC3986EncodingTestData[]
constexpr
Initial value:
= {
{"-", "-"}, {"_", "_"}, {".", "."}, {"!", "%21"}, {"(", "%28"}, {")", "%29"}, {"~", "~"},
}

◆ values

const TestIsHostOnLANData values[]
Initial value:
= {
{ true, false, true, false, "localhost" },
{ true, true, true, true, "some_unresolveable_hostname" },
{ true, true, true, true, "google" },
{ true, true, true, true, "aol" },
{ false, false, false, false, "www.some_unresolveable_hostname.com" },
{ false, false, false, false, "www.google.com" },
{ false, false, false, false, "google.com" },
{ false, false, false, false, "www.aol.com" },
{ false, false, false, false, "aol.com" },
{ false, false, false, false, "168.219.34.129" },
{ false, false, false, false, "0.0.0.0" },
{ false, false, false, false, "127.0.0.1" },
{ true, true, false, false, "192.168.0.3", TestIsHostOnLANData::DONT_TEST_LOCAL_NETWORK },
{ true, true, true, true, "172.16.0.2", TestIsHostOnLANData::DONT_TEST_LOCAL_NETWORK },
{ true, true, false, false, "10.0.0.9", TestIsHostOnLANData::DONT_TEST_LOCAL_NETWORK },
}
static const bool DONT_TEST_LOCAL_NETWORK
Definition TestURIUtils.cpp:1768