From 4171437282e4f57c8d14a1459554622a01861f9c Mon Sep 17 00:00:00 2001 From: clsr Date: Mon, 4 Sep 2017 13:15:32 +0200 Subject: Update for CNP 0.4 --- cnp.go | 2 +- header_test.go | 92 ++++++++++++++++++++++++++++----------------------------- message_test.go | 20 ++++++------- 3 files changed, 57 insertions(+), 57 deletions(-) diff --git a/cnp.go b/cnp.go index d5a3210..b7b017d 100644 --- a/cnp.go +++ b/cnp.go @@ -12,5 +12,5 @@ const ( VersionMajor = 0 // VersionMinor is the minor CNP version (Y in cnp/X.Y). - VersionMinor = 3 + VersionMinor = 4 ) diff --git a/header_test.go b/header_test.go index b035078..9b984ec 100644 --- a/header_test.go +++ b/header_test.go @@ -79,71 +79,71 @@ var headers = map[string]struct { e error }{ // invalid version - "cnp/0.3ok\n": {e: ErrorSyntax{}}, - "cwp/0.3 ok\n": {e: ErrorSyntax{}}, - "cnp/0.03 ok\n": {e: ErrorSyntax{}}, - "cnp/00.3 ok\n": {e: ErrorSyntax{}}, - "cnp/0..3 ok\n": {e: ErrorSyntax{}}, - "cnp/.3 ok\n": {e: ErrorSyntax{}}, + "cnp/0.4ok\n": {e: ErrorSyntax{}}, + "cwp/0.4 ok\n": {e: ErrorSyntax{}}, + "cnp/0.04 ok\n": {e: ErrorSyntax{}}, + "cnp/00.4 ok\n": {e: ErrorSyntax{}}, + "cnp/0..4 ok\n": {e: ErrorSyntax{}}, + "cnp/.4 ok\n": {e: ErrorSyntax{}}, "cnp/0. ok\n": {e: ErrorSyntax{}}, "cnp/. ok\n": {e: ErrorSyntax{}}, - "cnp/0,3 ok\n": {e: ErrorSyntax{}}, - "/0.3 ok\n": {e: ErrorSyntax{}}, - "0.3 ok\n": {e: ErrorSyntax{}}, + "cnp/0,4 ok\n": {e: ErrorSyntax{}}, + "/0.4 ok\n": {e: ErrorSyntax{}}, + "0.4 ok\n": {e: ErrorSyntax{}}, "cnp/ ok\n": {e: ErrorSyntax{}}, "cnp ok\n": {e: ErrorSyntax{}}, - "cnp.0.3 ok\n": {e: ErrorSyntax{}}, - "cnp/03 ok\n": {e: ErrorSyntax{}}, - "cnp/3 ok\n": {e: ErrorSyntax{}}, + "cnp.0.4 ok\n": {e: ErrorSyntax{}}, + "cnp/04 ok\n": {e: ErrorSyntax{}}, + "cnp/4 ok\n": {e: ErrorSyntax{}}, "cnp/0 ok\n": {e: ErrorSyntax{}}, - "cnp/0 3 ok\n": {e: ErrorSyntax{}}, - "cnp/0/3 ok\n": {e: ErrorSyntax{}}, + "cnp/0 4 ok\n": {e: ErrorSyntax{}}, + "cnp/0/4 ok\n": {e: ErrorSyntax{}}, // missing/invalid intent - "cnp/0.3\n": {e: ErrorSyntax{}}, - "cnp/0.3 \n": {e: ErrorSyntax{}}, - "cnp/0.3 o\x00k\n": {e: ErrorSyntax{}}, - "cnp/0.3 foo=bar\n": {e: ErrorSyntax{}}, + "cnp/0.4\n": {e: ErrorSyntax{}}, + "cnp/0.4 \n": {e: ErrorSyntax{}}, + "cnp/0.4 o\x00k\n": {e: ErrorSyntax{}}, + "cnp/0.4 foo=bar\n": {e: ErrorSyntax{}}, // missing/invalid line end - "cnp/0.3 ok \n": {e: ErrorSyntax{}}, - "cnp/0.3 ok\n\n": {e: ErrorSyntax{}}, - "cnp/0.3 ok": {e: ErrorSyntax{}}, - "cnp/0.3 ok ": {e: ErrorSyntax{}}, - "cnp/0.3 ok foo=bar \n": {e: ErrorSyntax{}}, - "cnp/0.3 ok foo=bar": {e: ErrorSyntax{}}, - "cnp/0.3 ok = =\n": {e: ErrorSyntax{}}, + "cnp/0.4 ok \n": {e: ErrorSyntax{}}, + "cnp/0.4 ok\n\n": {e: ErrorSyntax{}}, + "cnp/0.4 ok": {e: ErrorSyntax{}}, + "cnp/0.4 ok ": {e: ErrorSyntax{}}, + "cnp/0.4 ok foo=bar \n": {e: ErrorSyntax{}}, + "cnp/0.4 ok foo=bar": {e: ErrorSyntax{}}, + "cnp/0.4 ok = =\n": {e: ErrorSyntax{}}, // spaces - "cnp/0.3 ok foo=bar\n": {e: ErrorSyntax{}}, - "cnp/0.3 ok\n": {e: ErrorSyntax{}}, - "cnp/0.3\tok\n": {e: ErrorSyntax{}}, + "cnp/0.4 ok foo=bar\n": {e: ErrorSyntax{}}, + "cnp/0.4 ok\n": {e: ErrorSyntax{}}, + "cnp/0.4\tok\n": {e: ErrorSyntax{}}, // invalid params - "cnp/0.3 ok foo==bar\n": {e: ErrorSyntax{}}, - "cnp/0.3 ok foo=bar=baz\n": {e: ErrorSyntax{}}, - "cnp/0.3 ok foo=bar baz=quux \n": {e: ErrorSyntax{}}, - "cnp/0.3 ok foo\\-bar\n": {e: ErrorSyntax{}}, + "cnp/0.4 ok foo==bar\n": {e: ErrorSyntax{}}, + "cnp/0.4 ok foo=bar=baz\n": {e: ErrorSyntax{}}, + "cnp/0.4 ok foo=bar baz=quux \n": {e: ErrorSyntax{}}, + "cnp/0.4 ok foo\\-bar\n": {e: ErrorSyntax{}}, // invalid escape sequences - "cnp/0.3 o\\k\n": {e: ErrorSyntax{}}, - "cnp/0.3 ok qwe=\\\n": {e: ErrorSyntax{}}, - "cnp/0.3 ok fo\\o=bar\n": {e: ErrorSyntax{}}, + "cnp/0.4 o\\k\n": {e: ErrorSyntax{}}, + "cnp/0.4 ok qwe=\\\n": {e: ErrorSyntax{}}, + "cnp/0.4 ok fo\\o=bar\n": {e: ErrorSyntax{}}, // valid "cnp/0.0 ok\n": {h: Header{0, 0, "ok", nil}}, - "cnp/0.3 ok\n": {h: Header{0, 3, "ok", nil}}, + "cnp/0.4 ok\n": {h: Header{0, 4, "ok", nil}}, "cnp/1.0 ok\n": {h: Header{1, 0, "ok", nil}}, "cnp/123456.987654 ok\n": {h: Header{123456, 987654, "ok", nil}}, "cnp/0.1 ok\n": {h: Header{0, 1, "ok", nil}}, - "cnp/0.3 ok\r\n": {h: Header{0, 3, "ok\r", nil}}, - "cnp/0.3 foo\\nbar\n": {h: Header{0, 3, "foo\nbar", nil}}, - "cnp/0.3 \\-\\_\\n\\0\\\\\n": {h: Header{0, 3, "= \n\x00\\", nil}}, + "cnp/0.4 ok\r\n": {h: Header{0, 4, "ok\r", nil}}, + "cnp/0.4 foo\\nbar\n": {h: Header{0, 4, "foo\nbar", nil}}, + "cnp/0.4 \\-\\_\\n\\0\\\\\n": {h: Header{0, 4, "= \n\x00\\", nil}}, // valid with params - "cnp/0.3 ok type=text/plain\n": {h: Header{0, 3, "ok", Parameters{"type": "text/plain"}}}, - "cnp/0.3 ok baz=quux foo=bar qwe=asd\n": {h: Header{0, 3, "ok", Parameters{"foo": "bar", "baz": "quux", "qwe": "asd"}}}, - "cnp/0.3 ok = \\_=\\0 \\-=\\n\r\n": {h: Header{0, 3, "ok", Parameters{"": "", "=": "\n\r", " ": "\x00"}}}, + "cnp/0.4 ok type=text/plain\n": {h: Header{0, 4, "ok", Parameters{"type": "text/plain"}}}, + "cnp/0.4 ok baz=quux foo=bar qwe=asd\n": {h: Header{0, 4, "ok", Parameters{"foo": "bar", "baz": "quux", "qwe": "asd"}}}, + "cnp/0.4 ok = \\_=\\0 \\-=\\n\r\n": {h: Header{0, 4, "ok", Parameters{"": "", "=": "\n\r", " ": "\x00"}}}, } func TestHeaderParse(t *testing.T) { @@ -176,8 +176,8 @@ func TestHeaderCompose(t *testing.T) { } func TestNewHeader(t *testing.T) { - raw := "cnp/0.3 ok baz=quux foo=bar qwe=asd\n" - hdr := Header{0, 3, "ok", Parameters{"foo": "bar", "baz": "quux", "qwe": "asd"}} + raw := "cnp/0.4 ok baz=quux foo=bar qwe=asd\n" + hdr := Header{0, 4, "ok", Parameters{"foo": "bar", "baz": "quux", "qwe": "asd"}} h := NewHeader("ok", Parameters{"foo": "bar", "baz": "quux", "qwe": "asd"}) if !headerEqual(hdr, h) { t.Errorf("%+v: expected %+v", h, hdr) @@ -187,8 +187,8 @@ func TestNewHeader(t *testing.T) { t.Errorf("%q: expected %q", h, hdr) } - raw = "cnp/0.3 ok\n" - hdr = Header{0, 3, "ok", nil} + raw = "cnp/0.4 ok\n" + hdr = Header{0, 4, "ok", nil} h = NewHeader("ok", nil) if !headerEqual(hdr, h) { t.Errorf("%+v: expected %+v", h, hdr) diff --git a/message_test.go b/message_test.go index 1a73fa5..ebb8b7b 100644 --- a/message_test.go +++ b/message_test.go @@ -12,11 +12,11 @@ var ( messageTests = []messageTest{ { "qweasd", "text/plain", nil, nil, - "cnp/0.3 test1 length=6 type=text/plain\nqweasd", + "cnp/0.4 test1 length=6 type=text/plain\nqweasd", &Message{ Header: Header{ VersionMajor: 0, - VersionMinor: 3, + VersionMinor: 4, Intent: "test1", Parameters: Parameters{ "type": "text/plain", @@ -29,11 +29,11 @@ var ( { "qweasd", "text", nil, ErrorInvalid{}, - "cnp/0.3 test2 length=w type=text/plain\nqweasd", + "cnp/0.4 test2 length=w type=text/plain\nqweasd", &Message{ Header: Header{ VersionMajor: 0, - VersionMinor: 3, + VersionMinor: 4, Intent: "test2", Parameters: Parameters{ "type": "text/plain", @@ -46,17 +46,17 @@ var ( { "", "text/plain", ErrorSyntax{}, nil, - "cnp/0.3 test3 type=text/plain", + "cnp/0.4 test3 type=text/plain", nil, }, { "", "text/plain", nil, nil, - "cnp/0.3 test4 type=text/plain\n", + "cnp/0.4 test4 type=text/plain\n", &Message{ Header: Header{ VersionMajor: 0, - VersionMinor: 3, + VersionMinor: 4, Intent: "test4", Parameters: Parameters{ "type": "text/plain", @@ -157,7 +157,7 @@ func TestComputeLength(t *testing.T) { } func TestParseTooLarge(t *testing.T) { - s := "cnp/0.3 ok text=" + s := "cnp/0.4 ok text=" str := s + strings.Repeat(".", MaxHeaderLength-len(s)) + "\n" _, err := ParseMessage(strings.NewReader(str)) if _, ok := err.(ErrorTooLarge); !ok { @@ -180,13 +180,13 @@ func (n *noopCloser) Read(b []byte) (int, error) { } func TestClose(t *testing.T) { - var r io.Reader = strings.NewReader("cnp/0.3 ok\nqweasd") + var r io.Reader = strings.NewReader("cnp/0.4 ok\nqweasd") if msg, err := ParseMessage(r); err != nil { t.Errorf("ParseMessage error: %v", err) } else if err = msg.Close(); err != nil { t.Errorf("Error closing message: %v", err) } - r = &noopCloser{r: strings.NewReader("cnp/0.3 ok\nqweasd")} + r = &noopCloser{r: strings.NewReader("cnp/0.4 ok\nqweasd")} if msg, err := ParseMessage(r); err != nil { t.Errorf("ParseMessage error: %v", err) } else if err = msg.Close(); err != nil { -- cgit