Merge pull request #10 from supershabam/master

bugfix: ParseCompact should pass along unmarshaller
diff --git a/jws/jws.go b/jws/jws.go
index d0b1a54..a0b929d 100644
--- a/jws/jws.go
+++ b/jws/jws.go
@@ -301,7 +301,7 @@
 //
 // For information on the json.Unmarshaler parameter, see Parse.
 func ParseCompact(encoded []byte, u ...json.Unmarshaler) (JWS, error) {
-	return parseCompact(encoded, false)
+	return parseCompact(encoded, false, u...)
 }
 
 func parseCompact(encoded []byte, jwt bool, u ...json.Unmarshaler) (*jws, error) {
diff --git a/jws/jws_test.go b/jws/jws_test.go
index 7f27500..015fc32 100644
--- a/jws/jws_test.go
+++ b/jws/jws_test.go
@@ -72,6 +72,22 @@
 	}
 }
 
+func TestParseCompactWithUnmarshaler(t *testing.T) {
+	j := New(easyData, crypto.SigningMethodRS512)
+	b, err := j.Compact(rsaPriv)
+	if err != nil {
+		t.Error(err)
+	}
+	var e easy
+	j2, err := ParseCompact(b, &e)
+	if err != nil {
+		t.Error(err)
+	}
+	if !bytes.Equal(easyData, *j2.Payload().(*easy)) {
+		Error(t, easyData, *j2.Payload().(*easy))
+	}
+}
+
 func TestParseGeneral(t *testing.T) {
 	sm := []crypto.SigningMethod{
 		crypto.SigningMethodRS256,