Build tests and some related work.
This commit is contained in:
parent
3d74a79088
commit
bec9dcb234
@ -63,7 +63,7 @@ final class Build {
|
||||
|
||||
static Build concat(Build b0, Build b1) {
|
||||
new Build(
|
||||
b1.name.blank ? b0.name : b1.name,
|
||||
b0.name.blank ? b1.name : b0.name,
|
||||
OutputDirFunctions.concat(b0.outputDirFunction, b1.outputDirFunction),
|
||||
SiteSpec.concat(b0.siteSpec, b1.siteSpec),
|
||||
b0.globals + b1.globals,
|
||||
|
@ -12,7 +12,7 @@ final class OutputDirFunctions {
|
||||
Function<Build, OutputDir> f0,
|
||||
Function<Build, OutputDir> f1
|
||||
) {
|
||||
f1 == OutputDirFunctions.DEFAULT ? f0 : f1
|
||||
f0 == OutputDirFunctions.DEFAULT ? f1 : f0
|
||||
}
|
||||
|
||||
static Function<Build, OutputDir> of(File dir) {
|
||||
|
@ -4,6 +4,7 @@ import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
|
||||
import java.util.function.BiFunction
|
||||
import java.util.function.Consumer
|
||||
import java.util.function.Supplier
|
||||
|
||||
|
@ -0,0 +1,142 @@
|
||||
package com.jessebrault.ssg.buildscript
|
||||
|
||||
import com.jessebrault.ssg.SiteSpec
|
||||
import com.jessebrault.ssg.task.TaskFactory
|
||||
import com.jessebrault.ssg.task.TaskFactorySpec
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.junit.jupiter.api.extension.ExtendWith
|
||||
import org.mockito.Mock
|
||||
import org.mockito.junit.jupiter.MockitoExtension
|
||||
|
||||
import java.util.function.Function
|
||||
import java.util.function.Supplier
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals
|
||||
|
||||
@ExtendWith(MockitoExtension)
|
||||
final class BuildTests {
|
||||
|
||||
@ExtendWith(MockitoExtension)
|
||||
static final class AllBuildsTests {
|
||||
|
||||
@Test
|
||||
void twoEmptiesEqual() {
|
||||
def ab0 = Build.AllBuilds.getEmpty()
|
||||
def ab1 = Build.AllBuilds.getEmpty()
|
||||
assertEquals(ab0, ab1)
|
||||
}
|
||||
|
||||
@Test
|
||||
void siteSpecsAdded() {
|
||||
def ab0 = new Build.AllBuilds(
|
||||
new SiteSpec('test', ''),
|
||||
[:],
|
||||
[]
|
||||
)
|
||||
def ab1 = new Build.AllBuilds(
|
||||
new SiteSpec('', 'test'),
|
||||
[:],
|
||||
[]
|
||||
)
|
||||
def sum = ab0 + ab1
|
||||
assertEquals(new SiteSpec('test', 'test'), sum.siteSpec)
|
||||
}
|
||||
|
||||
@Test
|
||||
void globalsAdded() {
|
||||
def ab0 = new Build.AllBuilds(
|
||||
SiteSpec.getBlank(),
|
||||
[a: 0],
|
||||
[]
|
||||
)
|
||||
def ab1 = new Build.AllBuilds(
|
||||
SiteSpec.getBlank(),
|
||||
[b: 1],
|
||||
[]
|
||||
)
|
||||
def sum = ab0 + ab1
|
||||
assertEquals([a: 0, b: 1], sum.globals)
|
||||
}
|
||||
|
||||
@Test
|
||||
void taskFactorySpecsAdded(@Mock Supplier<TaskFactory> taskFactorySupplier) {
|
||||
def spec0 = new TaskFactorySpec<>(taskFactorySupplier, [])
|
||||
def spec1 = new TaskFactorySpec<>(taskFactorySupplier, [])
|
||||
def ab0 = new Build.AllBuilds(
|
||||
SiteSpec.getBlank(),
|
||||
[:],
|
||||
[spec0]
|
||||
)
|
||||
def ab1 = new Build.AllBuilds(
|
||||
SiteSpec.getBlank(),
|
||||
[:],
|
||||
[spec1]
|
||||
)
|
||||
def sum = ab0 + ab1
|
||||
assertEquals([spec0, spec1], sum.taskFactorySpecs)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
void twoEmptiesEqual() {
|
||||
def b0 = Build.getEmpty()
|
||||
def b1 = Build.getEmpty()
|
||||
assertEquals(b0, b1)
|
||||
}
|
||||
|
||||
@Test
|
||||
void ifName0BlankTakeName1() {
|
||||
def b0 = Build.get(name: '')
|
||||
def b1 = Build.get(name: 'test')
|
||||
def sum = b0 + b1
|
||||
assertEquals('test', sum.name)
|
||||
}
|
||||
|
||||
@Test
|
||||
void ifName0NotBlankTakeName0() {
|
||||
def b0 = Build.get(name: 'b0')
|
||||
def b1 = Build.get(name: 'b1')
|
||||
def sum = b0 + b1
|
||||
assertEquals('b0', sum.name)
|
||||
}
|
||||
|
||||
@Test
|
||||
void ifOutputDirFunction0DefaultTake1(@Mock Function<Build, OutputDir> b1OutputDirFunction) {
|
||||
def b0 = Build.get(outputDirFunction: OutputDirFunctions.DEFAULT)
|
||||
def b1 = Build.get(outputDirFunction: b1OutputDirFunction)
|
||||
def sum = b0 + b1
|
||||
assertEquals(b1OutputDirFunction, sum.outputDirFunction)
|
||||
}
|
||||
|
||||
@Test
|
||||
void siteSpecsAdded() {
|
||||
def b0 = Build.get(
|
||||
siteSpec: new SiteSpec('test', '')
|
||||
)
|
||||
def b1 = Build.get(
|
||||
siteSpec: new SiteSpec('', 'test')
|
||||
)
|
||||
def sum = b0 + b1
|
||||
assertEquals(new SiteSpec('test', 'test'), sum.siteSpec)
|
||||
}
|
||||
|
||||
@Test
|
||||
void globalsAdded() {
|
||||
def b0 = Build.get(globals: [a: 0])
|
||||
def b1 = Build.get(globals: [b: 1])
|
||||
def sum = b0 + b1
|
||||
assertEquals([a: 0, b: 1], sum.globals)
|
||||
}
|
||||
|
||||
@Test
|
||||
void taskFactorySpecsAdded(@Mock Supplier<TaskFactory> taskFactorySupplier) {
|
||||
def spec0 = new TaskFactorySpec<>(taskFactorySupplier, [])
|
||||
def spec1 = new TaskFactorySpec<>(taskFactorySupplier, [])
|
||||
def b0 = Build.get(taskFactorySpecs: [spec0])
|
||||
def b1 = Build.get(taskFactorySpecs: [spec1])
|
||||
def sum = b0 + b1
|
||||
assertEquals([spec0, spec1], sum.taskFactorySpecs)
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user