diff --git a/go/clitable/table_test.go b/go/clitable/table_test.go
new file mode 100644
index 0000000..5fca84c
--- /dev/null
+++ b/go/clitable/table_test.go
@@ -0,0 +1,45 @@
+package clitable
+
+import (
+	"bytes"
+	"strings"
+	"testing"
+)
+
+// TestTableLayout performs a smoke test of the table layout functionality.
+func TestTableLayout(t *testing.T) {
+	tab := Table{}
+
+	e := Entry{}
+	e.Add("id", "short")
+	e.Add("labels", "")
+	tab.Add(e)
+
+	e = Entry{}
+	e.Add("whoops", "only in second")
+	e.Add("labels", "bar")
+	e.Add("id", "this one is a very long one")
+	tab.Add(e)
+
+	e = Entry{}
+	e.Add("id", "normal length")
+	e.Add("labels", "foo")
+	tab.Add(e)
+
+	buf := bytes.NewBuffer(nil)
+	tab.Print(buf, nil)
+
+	golden := `
+ID                            LABELS   WHOOPS           
+short                                                   
+this one is a very long one   bar      only in second   
+normal length                 foo                       
+`
+	golden = strings.TrimSpace(golden)
+	got := strings.TrimSpace(buf.String())
+	if got != golden {
+		t.Logf("wanted: \n" + golden)
+		t.Logf("got: \n" + got)
+		t.Errorf("mismatch")
+	}
+}
