-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.test
39 lines (39 loc) · 3.06 KB
/
Makefile.test
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# -*- mode: Makefile -*-
test: test_ohi_latex test_anemone
@echo All tests passed
test_ohi_latex:
echo kǎoyàn|python2.7 ohi_latex.py --dry-run
grep '\\kao3\\yan4' index.tex >/dev/null
echo kǎoyàn|python3 ohi_latex.py --dry-run
grep '\\kao3\\yan4' index.tex >/dev/null
test_anemone:
ruff check anemone.py
# Test audio-only Daisy 2, title from filename
sox -n test.wav synth 3 sine 300-3300
./anemone.py --warnings-are-errors test.wav
unzip -c output_daisy.zip ncc.html|grep '>test<' >/dev/null
# Test audio-only Daisy 3, title from filename
./anemone.py --warnings-are-errors --daisy3 test.wav
unzip -c output_daisy.zip navigation.ncx|grep '>test<' >/dev/null
# Test audio + HTML + JSON times in Daisy 3
./anemone.py --warnings-are-errors --daisy3 test.wav '<h1 data-pid="T">heading</h1><p data-pid="U">para</p>' '{"markers":[{"id":"T","time":"1"},{"id":"U","time":"2"}]}'
unzip -c output_daisy.zip navigation.ncx|grep '<navLabel><text>heading</text><audio src="0001.mp3" clipBegin="0:00:00.000" clipEnd="0:00:02.000"/></navLabel>' >/dev/null
unzip -c output_daisy.zip 0001.smil|grep '<audio src="0001.mp3" clipBegin="0:00:02.000" clipEnd="0:00:03.000" id="aud1.1" />' >/dev/null
# Test JSON transcript processing
./anemone.py --warnings-are-errors --daisy3 test.wav '{"version":"1.0.0","segments":[{"speaker":"voice 1","startTime":0,"endTime":1.5,"body":"Testing 123"},{"speaker":"voice 2","startTime":1.5,"endTime":3,"body":"another voice"}]}' --chapter-titles="Script 1"
unzip -c output_daisy.zip 0001.smil|grep '<audio src="0001.mp3" clipBegin="0:00:01.500" clipEnd="0:00:03.000" id="aud1.2" />' >/dev/null # 1.0 = h1
unzip -c output_daisy.zip 0001.xml|grep '<level1><h1 id="p1">Script 1</h1>' >/dev/null
# Test images
./anemone.py --warnings-are-errors --daisy3 test.wav '<h1 data-pid="T">heading</h1><img data-zoom="http://ssb22.user.srcf.net/dorset.jpg"><p data-pid="U">para</p>' '{"markers":[{"id":"T","time":"1"},{"id":"U","time":"2"}]}'
unzip -c output_daisy.zip 0001.xml|grep '</h1><p><imggroup><img src="1.jpg" id="i0" /></imggroup></p>' >/dev/null
# Test verse numbering
./anemone.py --warnings-are-errors --daisy3 test.wav '<p data-pid="A">47 one</p><p data-pid="B">2 two</p><p data-pid="C">3 three</p>' '{"markers":[{"id":"A","time":"0"},{"id":"B","time":"1"},{"id":"C","time":"2"}]}'
unzip -c output_daisy.zip 0001.xml|grep '<level1><h1 id="p1">47</h1>' >/dev/null
unzip -c output_daisy.zip 0001.xml|grep '<p id="p2">one</p>' >/dev/null
unzip -c output_daisy.zip navigation.ncx|grep '<navLabel><text>47:2</text><audio src="0001.mp3" clipBegin="0:00:01.000" clipEnd="0:00:02.000"/></navLabel>' >/dev/null
# Test warnings as errors
rm output_daisy.zip
! ./anemone.py --warnings-are-errors --daisy3 test.wav '<p data-pid="A">47 one</p><p data-pid="B">2 two</p><p data-pid="C">3 three</p>' '{"markers":[{"id":"A","time":"0"},{"id":"B","time":"1"},{"id":"C","time":"2"}]}' --chapter-titles="Chapter 74" 2>err
[ "$$(cat err)" = "Error: Title for chapter 1 is 'Chapter 74' which does not contain the expected '47'" ]
! [ -e output_daisy.zip ]
.PHONY: test test_ohi_latex test_anemone