From 158e87942c7839f4c8eb096e6edba8d872bd4075 Mon Sep 17 00:00:00 2001 From: JesseBrault0709 <62299747+JesseBrault0709@users.noreply.github.com> Date: Wed, 4 Jan 2023 11:05:13 -0600 Subject: [PATCH] Tests working now. --- .../ssg/StaticSiteGeneratorCli.groovy | 23 +------------------ .../ssg/StaticSiteGeneratorImpl.groovy | 7 ++++++ .../ssg/util/FileNameHandler.groovy | 2 +- .../ssg/StaticSiteGeneratorTests.groovy | 2 ++ .../PageTemplatesFactoryTests.groovy | 6 ++++- .../ssg/text/TextsFilesFactoryTests.groovy | 8 ++++--- .../ssg/util/FileNameHandlerTests.groovy | 18 +++++++++++++++ .../ssg/util/RelativePathHandlerTests.groovy | 15 ++++++++++++ 8 files changed, 54 insertions(+), 27 deletions(-) create mode 100644 lib/src/test/groovy/com/jessebrault/ssg/util/FileNameHandlerTests.groovy create mode 100644 lib/src/test/groovy/com/jessebrault/ssg/util/RelativePathHandlerTests.groovy diff --git a/cli/src/main/groovy/com/jessebrault/ssg/StaticSiteGeneratorCli.groovy b/cli/src/main/groovy/com/jessebrault/ssg/StaticSiteGeneratorCli.groovy index 59806e8..5af4633 100644 --- a/cli/src/main/groovy/com/jessebrault/ssg/StaticSiteGeneratorCli.groovy +++ b/cli/src/main/groovy/com/jessebrault/ssg/StaticSiteGeneratorCli.groovy @@ -1,30 +1,9 @@ package com.jessebrault.ssg -import com.jessebrault.ssg.text.MarkdownFrontMatterGetter -import com.jessebrault.ssg.pagetemplate.GspRenderer -import com.jessebrault.ssg.pagetemplate.PageTemplatesFactoryImpl -import com.jessebrault.ssg.text.TextFilesFactoryImpl -import com.jessebrault.ssg.text.MarkdownRenderer - class StaticSiteGeneratorCli { static void main(String[] args) { -// def config = new Config( -// textFilesFactory: new TextFilesFactoryImpl(), -// templatesFactory: new PageTemplatesFactoryImpl(), -// markdownFrontMatterGetter: new MarkdownFrontMatterGetter(), -// markdownRenderer: new MarkdownRenderer(), -// gspRenderer: new GspRenderer() -// ) -// def ssg = new StaticSiteGeneratorImpl(config) -// def spec = new SiteSpec( -// buildDir: new File('build'), -// staticDir: new File('static'), -// textsDir: new File('texts'), -// templatesDir: new File('templates'), -// templatePartsDir: new File('templatePartsDir') -// ) -// ssg.generate(spec) + } } diff --git a/lib/src/main/groovy/com/jessebrault/ssg/StaticSiteGeneratorImpl.groovy b/lib/src/main/groovy/com/jessebrault/ssg/StaticSiteGeneratorImpl.groovy index 361f57f..6bcaf40 100644 --- a/lib/src/main/groovy/com/jessebrault/ssg/StaticSiteGeneratorImpl.groovy +++ b/lib/src/main/groovy/com/jessebrault/ssg/StaticSiteGeneratorImpl.groovy @@ -6,10 +6,14 @@ import com.jessebrault.ssg.util.FileNameHandler import com.jessebrault.ssg.util.RelativePathHandler import org.slf4j.Logger import org.slf4j.LoggerFactory +import org.slf4j.Marker +import org.slf4j.MarkerFactory class StaticSiteGeneratorImpl implements StaticSiteGenerator { private static final Logger logger = LoggerFactory.getLogger(StaticSiteGeneratorImpl) + private static final Marker enter = MarkerFactory.getMarker('ENTER') + private static final Marker exit = MarkerFactory.getMarker('EXIT') private final Config config private final TextFilesFactory textFilesFactory @@ -23,8 +27,10 @@ class StaticSiteGeneratorImpl implements StaticSiteGenerator { @Override void generate(SiteSpec spec) { + logger.trace(enter, 'spec: {}', spec) def textFiles = this.textFilesFactory.getTextFiles(spec.textsDir) def pageTemplates = this.pageTemplatesFactory.getTemplates(spec.templatesDir) + logger.debug('textFiles: {}, pageTemplates: {}', textFiles, pageTemplates) textFiles.each { logger.info('processing textFile: {}', it.relativePath) def fileNameHandler = new FileNameHandler(it.file) @@ -67,6 +73,7 @@ class StaticSiteGeneratorImpl implements StaticSiteGenerator { logger.info('writing result to {}', outFile) outFile.write(result) } + logger.trace(exit, '') } } diff --git a/lib/src/main/groovy/com/jessebrault/ssg/util/FileNameHandler.groovy b/lib/src/main/groovy/com/jessebrault/ssg/util/FileNameHandler.groovy index ebcb801..087ba94 100644 --- a/lib/src/main/groovy/com/jessebrault/ssg/util/FileNameHandler.groovy +++ b/lib/src/main/groovy/com/jessebrault/ssg/util/FileNameHandler.groovy @@ -8,7 +8,7 @@ class FileNameHandler { private final File file String getExtension() { - this.file.name.substring(this.file.name.lastIndexOf('.') + 1) + this.file.name.substring(this.file.name.lastIndexOf('.')) } } diff --git a/lib/src/test/groovy/com/jessebrault/ssg/StaticSiteGeneratorTests.groovy b/lib/src/test/groovy/com/jessebrault/ssg/StaticSiteGeneratorTests.groovy index fcc390d..e28f440 100644 --- a/lib/src/test/groovy/com/jessebrault/ssg/StaticSiteGeneratorTests.groovy +++ b/lib/src/test/groovy/com/jessebrault/ssg/StaticSiteGeneratorTests.groovy @@ -8,6 +8,8 @@ import com.jessebrault.ssg.text.MarkdownRenderer import com.jessebrault.ssg.text.TextFileType import com.jessebrault.ssg.text.TextFilesFactoryImpl import org.junit.jupiter.api.Test +import org.slf4j.Logger +import org.slf4j.LoggerFactory import static org.junit.jupiter.api.Assertions.assertEquals import static org.junit.jupiter.api.Assertions.assertTrue diff --git a/lib/src/test/groovy/com/jessebrault/ssg/pagetemplate/PageTemplatesFactoryTests.groovy b/lib/src/test/groovy/com/jessebrault/ssg/pagetemplate/PageTemplatesFactoryTests.groovy index b677ef7..5992275 100644 --- a/lib/src/test/groovy/com/jessebrault/ssg/pagetemplate/PageTemplatesFactoryTests.groovy +++ b/lib/src/test/groovy/com/jessebrault/ssg/pagetemplate/PageTemplatesFactoryTests.groovy @@ -6,7 +6,9 @@ import static org.junit.jupiter.api.Assertions.assertEquals class PageTemplatesFactoryTests { - private final PageTemplatesFactory templateFactory = new PageTemplatesFactoryImpl() + private static final PageTemplateType gspType = new PageTemplateType(['.gsp'], null) + + private final PageTemplatesFactory templateFactory = new PageTemplatesFactoryImpl([gspType]) @Test void findsTemplate() { @@ -19,6 +21,7 @@ class PageTemplatesFactoryTests { def t0 = r[0] assertEquals('test.gsp', t0.relativePath) assertEquals('<% out << text %>', t0.file.text) + assertEquals(gspType, t0.type) } @Test @@ -35,6 +38,7 @@ class PageTemplatesFactoryTests { def t0 = r[0] assertEquals('nested/nested.gsp', t0.relativePath) assertEquals('<%= text %>', t0.file.text) + assertEquals(gspType, t0.type) } @Test diff --git a/lib/src/test/groovy/com/jessebrault/ssg/text/TextsFilesFactoryTests.groovy b/lib/src/test/groovy/com/jessebrault/ssg/text/TextsFilesFactoryTests.groovy index a080223..aab417b 100644 --- a/lib/src/test/groovy/com/jessebrault/ssg/text/TextsFilesFactoryTests.groovy +++ b/lib/src/test/groovy/com/jessebrault/ssg/text/TextsFilesFactoryTests.groovy @@ -6,7 +6,9 @@ import static org.junit.jupiter.api.Assertions.assertEquals class TextsFilesFactoryTests { - private final TextFilesFactory textFilesFactory = new TextFilesFactoryImpl() + private static final TextFileType markdownType = new TextFileType(['.md'], null, null) + + private final TextFilesFactory textFilesFactory = new TextFilesFactoryImpl([markdownType]) @Test void findsFile() { @@ -19,7 +21,7 @@ class TextsFilesFactoryTests { def f0 = r[0] assertEquals('test.md', f0.relativePath) assertEquals('**Hello, World!**', f0.file.text) - assertEquals(TextFile.Type.MARKDOWN, f0.type) + assertEquals(markdownType, f0.type) } @Test @@ -35,7 +37,7 @@ class TextsFilesFactoryTests { def f0 = r[0] assertEquals('nested/nested.md', f0.relativePath) assertEquals('**Hello!**', f0.file.text) - assertEquals(TextFile.Type.MARKDOWN, f0.type) + assertEquals(markdownType, f0.type) } @Test diff --git a/lib/src/test/groovy/com/jessebrault/ssg/util/FileNameHandlerTests.groovy b/lib/src/test/groovy/com/jessebrault/ssg/util/FileNameHandlerTests.groovy new file mode 100644 index 0000000..2e7e1ca --- /dev/null +++ b/lib/src/test/groovy/com/jessebrault/ssg/util/FileNameHandlerTests.groovy @@ -0,0 +1,18 @@ +package com.jessebrault.ssg.util + +import org.junit.jupiter.api.Test + +import static org.junit.jupiter.api.Assertions.assertEquals + +class FileNameHandlerTests { + + private final FileNameHandler fileNameHandler = new FileNameHandler() + + @Test + void getsCorrectExtension() { + def file = new File('hello.txt') + def extension = new FileNameHandler(file).getExtension() + assertEquals('.txt', extension) + } + +} diff --git a/lib/src/test/groovy/com/jessebrault/ssg/util/RelativePathHandlerTests.groovy b/lib/src/test/groovy/com/jessebrault/ssg/util/RelativePathHandlerTests.groovy new file mode 100644 index 0000000..a82f87e --- /dev/null +++ b/lib/src/test/groovy/com/jessebrault/ssg/util/RelativePathHandlerTests.groovy @@ -0,0 +1,15 @@ +package com.jessebrault.ssg.util + +import org.junit.jupiter.api.Test + +import static org.junit.jupiter.api.Assertions.assertEquals + +class RelativePathHandlerTests { + + @Test + void stripsExtension() { + def stripped = new RelativePathHandler('hello.txt').getWithoutExtension() + assertEquals('hello', stripped) + } + +}