diff --git a/node/icecast_test.go b/node/icecast_test.go
new file mode 100644
index 0000000000000000000000000000000000000000..2e49694083bd0d7f347bec0fb20b83e76be28e6d
--- /dev/null
+++ b/node/icecast_test.go
@@ -0,0 +1,26 @@
+package node
+
+import (
+	"strings"
+	"testing"
+)
+
+func TestIcecast_TestParseStatusPage(t *testing.T) {
+	xml := `<?xml version="1.0"?>
+<status><mount name="/test.ogg"><listeners>3</listeners><bitrate/><quality/><video-quality/><frame-size/><frame-rate/></mount></status>`
+
+	ic := NewIcecastController("1.2.3.4", make(chan bool))
+	result, err := ic.parseStatusPage(strings.NewReader(xml))
+	if err != nil {
+		t.Fatal(err)
+	}
+	if len(result.Mounts) != 1 {
+		t.Fatalf("Bad number of mounts: %+v", result)
+	}
+	if result.Mounts[0].Name != "/test.ogg" {
+		t.Fatalf("Bad mount name: %+v", result)
+	}
+	if result.Mounts[0].Listeners != 3 {
+		t.Fatalf("Bad # of listeners: %+v", result)
+	}
+}