tests/vcpkg.Tests.ps1
|
BeforeAll { $script:RealTools = Join-Path $PSScriptRoot '../Tools' $script:CompanionPath = Join-Path $script:RealTools 'vcpkg.ps1' . "$PSScriptRoot/../Private/ConvertTo-DFPath.ps1" . "$PSScriptRoot/../Public/Add-DFToPath.ps1" } Describe 'vcpkg tool JSON' { It 'relocates VCPKG_ROOT under XDG_DATA_HOME and VCPKG_DOWNLOADS under XDG_CACHE_HOME' { $j = Get-Content (Join-Path $script:RealTools 'vcpkg.json') -Raw | ConvertFrom-Json $j.xdg.vars.VCPKG_ROOT | Should -Be '${XDG_DATA_HOME}/vcpkg' $j.xdg.vars.VCPKG_DOWNLOADS | Should -Be '${XDG_CACHE_HOME}/vcpkg/downloads' } } Describe 'vcpkg companion' { BeforeEach { $script:SavedPath = $Env:Path $script:SavedVcpkgRoot = $Env:VCPKG_ROOT $Env:Path = 'C:\Windows\System32' $Env:VCPKG_ROOT = 'C:\fake\xdg-data\vcpkg' } AfterEach { $Env:Path = $script:SavedPath $Env:VCPKG_ROOT = $script:SavedVcpkgRoot } It 'adds $VCPKG_ROOT itself to PATH (vcpkg.exe has no bin/ subfolder)' { . $script:CompanionPath ($Env:Path -split [IO.Path]::PathSeparator) | Should -Contain 'C:\fake\xdg-data\vcpkg' } } |