more PER tests
diff --git a/skeletons/tests/check-PER.c b/skeletons/tests/check-PER.c
index f21398b..9fc0258 100644
--- a/skeletons/tests/check-PER.c
+++ b/skeletons/tests/check-PER.c
@@ -1,6 +1,8 @@
 #include <stdio.h>
 #include <assert.h>
 
+#define	EMIT_ASN_DEBUG	1
+#include <per_support.c>
 #include <per_support.h>
 
 static void
@@ -69,6 +71,58 @@
 	z = per_get_few_bits(&pos, 24);
 	assert(z == 14443711);
 
+	pos.buffer = "\001";
+	pos.nboff = 7;
+	pos.nbits = 7;
+	z = per_get_few_bits(&pos, 1);
+	assert(pos.nboff == 7);
+	assert(pos.nbits == 7);
+	assert(z == -1);
+
+	pos.buffer = "\001";
+	pos.nboff = 7;
+	pos.nbits = 8;
+	z = per_get_few_bits(&pos, 1);
+	assert(pos.nboff == 8);
+	assert(pos.nbits == 8);
+	assert(z == 1);
+
+	pos.buffer = "\000";
+	pos.nboff = 7;
+	pos.nbits = 8;
+	z = per_get_few_bits(&pos, 1);
+	assert(pos.nboff == 8);
+	assert(pos.nbits == 8);
+	assert(z == 0);
+	z = per_get_few_bits(&pos, 1);
+	assert(pos.nboff == 8);
+	assert(pos.nbits == 8);
+	assert(z == -1);
+
+	pos.buffer = "\000";
+	pos.nboff = 7;
+	pos.nbits = 9;
+	z = per_get_few_bits(&pos, 1);
+	assert(pos.nboff == 8);
+	assert(pos.nbits == 9);
+	assert(z == 0);
+	z = per_get_few_bits(&pos, 1);
+	assert(pos.nboff == 1);
+	assert(pos.nbits == 1);
+	assert(z == 0);
+
+	pos.buffer = "\001";
+	pos.nboff = 7;
+	pos.nbits = 9;
+	z = per_get_few_bits(&pos, 1);
+	assert(pos.nboff == 8);
+	assert(pos.nbits == 9);
+	assert(z == 1);
+	z = per_get_few_bits(&pos, 1);
+	assert(pos.nboff == 1);
+	assert(pos.nbits == 1);
+	assert(z == 0);
+
 	/* Get full 31-bit range */
 	pos.buffer = buf;
 	pos.nboff = 7;