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) {
|
static Build concat(Build b0, Build b1) {
|
||||||
new Build(
|
new Build(
|
||||||
b1.name.blank ? b0.name : b1.name,
|
b0.name.blank ? b1.name : b0.name,
|
||||||
OutputDirFunctions.concat(b0.outputDirFunction, b1.outputDirFunction),
|
OutputDirFunctions.concat(b0.outputDirFunction, b1.outputDirFunction),
|
||||||
SiteSpec.concat(b0.siteSpec, b1.siteSpec),
|
SiteSpec.concat(b0.siteSpec, b1.siteSpec),
|
||||||
b0.globals + b1.globals,
|
b0.globals + b1.globals,
|
||||||
|
@ -12,7 +12,7 @@ final class OutputDirFunctions {
|
|||||||
Function<Build, OutputDir> f0,
|
Function<Build, OutputDir> f0,
|
||||||
Function<Build, OutputDir> f1
|
Function<Build, OutputDir> f1
|
||||||
) {
|
) {
|
||||||
f1 == OutputDirFunctions.DEFAULT ? f0 : f1
|
f0 == OutputDirFunctions.DEFAULT ? f1 : f0
|
||||||
}
|
}
|
||||||
|
|
||||||
static Function<Build, OutputDir> of(File dir) {
|
static Function<Build, OutputDir> of(File dir) {
|
||||||
|
@ -4,6 +4,7 @@ import groovy.transform.EqualsAndHashCode
|
|||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
import groovy.transform.TupleConstructor
|
import groovy.transform.TupleConstructor
|
||||||
|
|
||||||
|
import java.util.function.BiFunction
|
||||||
import java.util.function.Consumer
|
import java.util.function.Consumer
|
||||||
import java.util.function.Supplier
|
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