mirror of
https://github.com/samsonjs/samhuri.net.git
synced 2026-03-25 09:05:47 +00:00
Add a test harness and make compile.sh copy source -> dest for now
This commit is contained in:
parent
03d147b071
commit
03bdab61f2
9 changed files with 51 additions and 22 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1 +1,2 @@
|
|||
www
|
||||
tests/*/actual
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
exclude = "{$exclude,www,tweets,wayback}"
|
||||
exclude = "{$exclude,www,tweets,wayback,actual}"
|
||||
include = "{$include,.gitignore}"
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ Execution, trying TDD for the first time:
|
|||
|
||||
- [ ] Replace harp with custom Swift code
|
||||
|
||||
- [ ] Write a test harness that renders a site and then checks the output with `diff -r`
|
||||
- [x] Write a test harness that renders a site and then checks the output with `diff -r`
|
||||
|
||||
- [ ] Port _layout.ejs to Swift code
|
||||
|
||||
|
|
|
|||
|
|
@ -3,41 +3,42 @@
|
|||
# bail on errors
|
||||
set -e
|
||||
|
||||
# export PATH="$HOME/.rbenv/shims:$PATH"
|
||||
|
||||
DIR=$(dirname "$0")
|
||||
# HARP="node_modules/harp/bin/harp"
|
||||
BLOG_DIR="${1:-${DIR}/..}"
|
||||
TARGET="${BLOG_DIR%/}/${2:-www}"
|
||||
THIS_DIR=$(dirname "$0")
|
||||
SOURCE_DIR="$1"
|
||||
TARGET_DIR="$2"
|
||||
|
||||
function main() {
|
||||
echo "* compile rss feed"
|
||||
echo "* copy files from $SOURCE_DIR to $TARGET_DIR"
|
||||
mkdir -p "$TARGET_DIR"
|
||||
cp -rp "$SOURCE_DIR"/* "$TARGET_DIR"
|
||||
|
||||
# echo "* compile rss feed"
|
||||
# compile_feeds
|
||||
|
||||
# echo "* harp compile $BLOG_DIR $TARGET"
|
||||
# rm -rf "$TARGET/*" "$TARGET/.*"
|
||||
# "$HARP" compile "$BLOG_DIR" "$TARGET"
|
||||
# echo "* harp compile $SOURCE_DIR $TARGET_DIR"
|
||||
# rm -rf "$TARGET_DIR/*" "$TARGET_DIR/.*"
|
||||
# "$HARP" compile "$SOURCE_DIR" "$TARGET_DIR"
|
||||
|
||||
# clean up temporary feeds
|
||||
# rm $BLOG_DIR/public/feed.xml
|
||||
# rm $BLOG_DIR/public/feed.json
|
||||
# rm $SOURCE_DIR/public/feed.xml
|
||||
# rm $SOURCE_DIR/public/feed.json
|
||||
|
||||
echo "* munge html files to make them available without an extension"
|
||||
# echo "* munge html files to make them available without an extension"
|
||||
# munge_html
|
||||
|
||||
echo "* inline CSS"
|
||||
# ruby -w $DIR/inline-css.rb "$TARGET"
|
||||
# echo "* inline CSS"
|
||||
# ruby -w $THIS_DIR/inline-css.rb "$TARGET_DIR"
|
||||
|
||||
echo "* minify js"
|
||||
# echo "* minify js"
|
||||
# minify_js
|
||||
}
|
||||
|
||||
function compile_feeds() {
|
||||
ruby -w $DIR/feeds.rb $BLOG_DIR/public
|
||||
ruby -w $THIS_DIR/feeds.rb $SOURCE_DIR/public
|
||||
}
|
||||
|
||||
function munge_html() {
|
||||
for FILE in "$TARGET"/*.html "$TARGET"/posts/*/*/*.html "$TARGET"/posts/drafts/*.html "$TARGET"/projects/*.html; do
|
||||
for FILE in "$TARGET_DIR"/*.html "$TARGET_DIR"/posts/*/*/*.html "$TARGET_DIR"/posts/drafts/*.html "$TARGET_DIR"/projects/*.html; do
|
||||
FILENAME="${FILE##*/}"
|
||||
case "$FILENAME" in
|
||||
index.html)
|
||||
|
|
@ -56,8 +57,8 @@ function munge_html() {
|
|||
}
|
||||
|
||||
# function minify_js() {
|
||||
# for FILE in "$TARGET"/js/*.js; do
|
||||
# $DIR/minify-js.sh "$FILE" > /tmp/minified.js && mv /tmp/minified.js "$FILE" || echo "* failed to minify $FILE"
|
||||
# for FILE in "$TARGET_DIR"/js/*.js; do
|
||||
# $THIS_DIR/minify-js.sh "$FILE" > /tmp/minified.js && mv /tmp/minified.js "$FILE" || echo "* failed to minify $FILE"
|
||||
# done
|
||||
# }
|
||||
|
||||
|
|
|
|||
9
bin/test.sh
Executable file
9
bin/test.sh
Executable file
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
for site in Tests/test-*; do
|
||||
bin/compile.sh "$site/in" "$site/actual" >/dev/null
|
||||
diff -r "$site/expected" "$site/actual"
|
||||
rm -r "$site/actual"
|
||||
done
|
||||
3
tests/test-index/expected/index.html
Normal file
3
tests/test-index/expected/index.html
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
</html>
|
||||
6
tests/test-index/expected/site.json
Normal file
6
tests/test-index/expected/site.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"title": "Valar Morghulis",
|
||||
"author": "A man has no name",
|
||||
"email": "jaqen@hotmail.com",
|
||||
"url": "http://example.net"
|
||||
}
|
||||
3
tests/test-index/in/index.html
Normal file
3
tests/test-index/in/index.html
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
</html>
|
||||
6
tests/test-index/in/site.json
Normal file
6
tests/test-index/in/site.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"title": "Valar Morghulis",
|
||||
"author": "A man has no name",
|
||||
"email": "jaqen@hotmail.com",
|
||||
"url": "http://example.net"
|
||||
}
|
||||
Loading…
Reference in a new issue