@@ -88,7 +88,14 @@ Describe "Regression test for #84: Multiple Aliases per command will Export" -Ta
88
88
}
89
89
90
90
Describe " 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
92
99
Remove-Item TestDrive:\Source1\build.psd1
93
100
94
101
$Build = @ { }
@@ -105,6 +112,8 @@ Describe "Supports building without a build.psd1" -Tag Integration {
105
112
106
113
It " Creates the same module as with a build.psd1" {
107
114
$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
108
117
}
109
118
110
119
It " Should update AliasesToExport in the manifest" {
@@ -115,6 +124,42 @@ Describe "Supports building without a build.psd1" -Tag Integration {
115
124
$Build.Metadata.FunctionsToExport | Should - Be @ (" Get-Source" , " Set-Source" )
116
125
}
117
126
}
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
+ }
118
163
119
164
Describe " Regression test for #88 not copying prefix files" - Tag Integration, Regression {
120
165
$Output = Build-Module $PSScriptRoot \build.psd1 - Passthru
0 commit comments