@@ -88,7 +88,14 @@ Describe "Regression test for #84: Multiple Aliases per command will Export" -Ta
8888}
8989
9090Describe " Supports building without a build.psd1" - Tag Integration {
91- Copy-Item $PSScriptRoot \Source1 TestDrive:\Source1 - Recurse
91+ Copy-Item $PSScriptRoot \Source1 TestDrive:\Source1 - Recurse
92+ # This is the old build, with a build.psd1
93+ $Output = Build-Module TestDrive:\Source1\build.psd1 - Passthru
94+ $ManifestContent = Get-Content $Output.Path
95+ $ModuleContent = Get-Content ([IO.Path ]::ChangeExtension($Output.Path , " .psm1" ))
96+ Remove-Item (Split-Path $Output.Path ) - Recurse
97+
98+ # Then remove the build.psd1 and rebuild it
9299 Remove-Item TestDrive:\Source1\build.psd1
93100
94101 $Build = @ { }
@@ -105,6 +112,8 @@ Describe "Supports building without a build.psd1" -Tag Integration {
105112
106113 It " Creates the same module as with a build.psd1" {
107114 $Build.Metadata = Import-Metadata $Build.Output.Path
115+ Get-Content $Build.Output.Path | Should - Be $ManifestContent
116+ Get-Content ([IO.Path ]::ChangeExtension($Build.Output.Path , " .psm1" )) | Should - Be $ModuleContent
108117 }
109118
110119 It " Should update AliasesToExport in the manifest" {
@@ -115,6 +124,42 @@ Describe "Supports building without a build.psd1" -Tag Integration {
115124 $Build.Metadata.FunctionsToExport | Should - Be @ (" Get-Source" , " Set-Source" )
116125 }
117126}
127+ Describe " Supports building discovering the module without a build.psd1" - Tag Integration {
128+ Copy-Item $PSScriptRoot \Source1 TestDrive:\source - Recurse
129+
130+ # This is the old build, with a build.psd1
131+ $Output = Build-Module TestDrive:\source\build.psd1 - Passthru
132+ $ManifestContent = Get-Content $Output.Path
133+ $ModuleContent = Get-Content ([IO.Path ]::ChangeExtension($Output.Path , " .psm1" ))
134+ Remove-Item (Split-Path $Output.Path ) - Recurse
135+
136+ # Then remove the build.psd1 and rebuild it
137+ Remove-Item TestDrive:\source\build.psd1
138+
139+ Push-Location - StackName ' IntegrationTest' - Path TestDrive:\
140+
141+ $Build = @ { }
142+
143+ It " No longer fails if there's no build.psd1" {
144+ $Build.Output = Build-Module - Passthru
145+ }
146+
147+ It " Creates the same module as with a build.psd1" {
148+ $Build.Metadata = Import-Metadata $Build.Output.Path
149+ Get-Content $Build.Output.Path | Should - Be $ManifestContent
150+ Get-Content ([IO.Path ]::ChangeExtension($Build.Output.Path , " .psm1" )) | Should - Be $ModuleContent
151+ }
152+
153+ It " Should update AliasesToExport in the manifest" {
154+ $Build.Metadata.AliasesToExport | Should - Be @ (" GS" , " GSou" , " SS" , " SSou" )
155+ }
156+
157+ It " Should update FunctionsToExport in the manifest" {
158+ $Build.Metadata.FunctionsToExport | Should - Be @ (" Get-Source" , " Set-Source" )
159+ }
160+
161+ Pop-Location - StackName ' IntegrationTest'
162+ }
118163
119164Describe " Regression test for #88 not copying prefix files" - Tag Integration, Regression {
120165 $Output = Build-Module $PSScriptRoot \build.psd1 - Passthru
0 commit comments