#!/bin/sh
# A version 2 binary collection, laid out as in
# /usr/share/doc/amule-emc/Emulecollection_File_Structure.txt. Integers are
# little-endian; dash's printf only takes octal escapes. Sizes stay below
# 4 GiB, even in a version 2 file: AddFile() drops larger files.
set -eu

cd "${AUTOPKGTEST_TMP:-$(mktemp -d)}"
{
	# version 2, one header tag: FT_FILENAME "test"
	printf '\002\000\000\000\001\000\000\000'
	printf '\002\001\000\001\004\000test'
	# two files
	printf '\002\000\000\000'
	# file 1, three tags: hash, uint32 size 1234567, string name
	printf '\003\000\000\000'
	printf '\201\050\000\021\042\063\104\125\146\167\210\231\252\273\314\335\356\377'
	printf '\203\002\207\326\022\000'
	printf '\202\001\012\000debian.iso'
	# file 2, three tags: hash, uint64 size 4000000000, 5-byte name (STR5)
	printf '\003\000\000\000'
	printf '\201\050\377\356\335\314\273\252\231\210\167\146\125\104\063\042\021\000'
	printf '\213\002\000\050\153\356\000\000\000\000'
	printf '\225\001a.txt'
} > test.emulecollection

expected='ed2k://|file|debian.iso|1234567|00112233445566778899aabbccddeeff|/
ed2k://|file|a.txt|4000000000|ffeeddccbbaa99887766554433221100|/'
out=$(amule-emc test.emulecollection 2>&1)
echo "$out"
if [ "$out" != "$expected" ]; then
	echo "FAIL: expected"
	echo "$expected"
	exit 1
fi
