From 2e791e983deabd2c0f9d6fda1d8935828b647240 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20D=C3=A9moulins?= Date: Sat, 4 Nov 2017 01:16:01 +0100 Subject: [PATCH] Add support for common properties shared between all streams --- AU/Public/Update-Package.ps1 | 3 +++ tests/Update-Package.Streams.Tests.ps1 | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/AU/Public/Update-Package.ps1 b/AU/Public/Update-Package.ps1 index 5512d33b..f008c69e 100644 --- a/AU/Public/Update-Package.ps1 +++ b/AU/Public/Update-Package.ps1 @@ -423,6 +423,9 @@ function Update-Package { $streams = $res.Streams } + $res.Keys | ? { $_ -ne 'Streams' } | % { $global:au_Latest.Remove($_) } + $global:au_Latest += $res + $streams.Keys | ? { !$Include -or $_ -in $Include } | sort { [AUVersion] $_ } | % { $stream = $streams[$_] diff --git a/tests/Update-Package.Streams.Tests.ps1 b/tests/Update-Package.Streams.Tests.ps1 index 0f294a18..e054c90e 100644 --- a/tests/Update-Package.Streams.Tests.ps1 +++ b/tests/Update-Package.Streams.Tests.ps1 @@ -20,7 +20,7 @@ Describe 'Update-Package using streams' -Tag updatestreams { if ($Checksum32) { $s += @{ Checksum32 = $Checksum32 } } $streams.Add($stream, $s) } - $command = "function global:au_GetLatest { @{ Streams = @{`n" + $command = "function global:au_GetLatest { @{ Fake = 1; Streams = @{`n" foreach ($item in $streams.Keys) { $command += "'$item' = @{Version = '$($streams.$item.Version)'; URL32 = '$($streams.$item.URL32)'" if ($streams.$item.Checksum32) { $command += "; Checksum32 = '$($streams.$item.Checksum32)'" } @@ -290,6 +290,12 @@ Describe 'Update-Package using streams' -Tag updatestreams { $return_value = @() { update } | Should Throw "returned nothing" } + + It "supports properties defined outside streams" { + get_latest -Version 1.4.0 + function au_BeforeUpdate { $global:Latest.Fake | Should Be 1 } + update + } } Context 'Before and after update' {