diff options
| author | Shulhan <ms@kilabit.info> | 2023-04-10 20:27:00 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2023-04-13 01:30:56 +0700 |
| commit | 2409f21063c5aeff7fc8cf4ba703ee07bd797bee (patch) | |
| tree | 3bbfb1b4461c1e6913b931080319f4e72397e8c8 /lib/bytes | |
| parent | 5120d36fdb9e374cb77f7aa21f7caca170d0a4b8 (diff) | |
| download | pakakeh.go-2409f21063c5aeff7fc8cf4ba703ee07bd797bee.tar.xz | |
lib/bytes: move unit Test for Read and SkipLine to Example
Using an example not only test the code but also provide example snippet
when opened in the godoc.
Diffstat (limited to 'lib/bytes')
| -rw-r--r-- | lib/bytes/parser_example_test.go | 39 | ||||
| -rw-r--r-- | lib/bytes/parser_test.go | 77 |
2 files changed, 39 insertions, 77 deletions
diff --git a/lib/bytes/parser_example_test.go b/lib/bytes/parser_example_test.go index a30bda5a..a81e9fc7 100644 --- a/lib/bytes/parser_example_test.go +++ b/lib/bytes/parser_example_test.go @@ -37,6 +37,26 @@ func ExampleParser_Delimiters() { // =; } +func ExampleParser_Read() { + var ( + content = []byte("a = b; ") + delims = []byte{'=', ';'} + parser = libbytes.NewParser(content, delims) + ) + + token, c := parser.Read() + fmt.Printf("token:'%s' c:'%c'\n", token, c) + token, c = parser.Read() + fmt.Printf("token:'%s' c:'%c'\n", token, c) + token, c = parser.Read() + fmt.Printf("token:'%s' c:%d\n", token, c) + + // Output: + // token:'a ' c:'=' + // token:' b' c:';' + // token:' ' c:0 +} + func ExampleParser_ReadLine() { var ( content = []byte("a=b;\nc=d;") @@ -191,6 +211,25 @@ func ExampleParser_Skip() { // } +func ExampleParser_SkipLine() { + var ( + content = []byte("a\nb\nc\nd e\n") + delims = []byte("\n") + parser = libbytes.NewParser(content, delims) + ) + + parser.SkipLine() + token, _ := parser.Read() + fmt.Printf("token:'%s'\n", token) + + parser.SkipLine() + token, _ = parser.Read() + fmt.Printf("token:'%s'\n", token) + // Output: + // token:'b' + // token:'d e' +} + func ExampleParser_SkipN() { var ( content = []byte(`a=b;c=d;`) diff --git a/lib/bytes/parser_test.go b/lib/bytes/parser_test.go deleted file mode 100644 index 4df84830..00000000 --- a/lib/bytes/parser_test.go +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2023, Shulhan <ms@kilabit.info>. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package bytes - -import ( - "testing" - - "github.com/shuLhan/share/lib/test" -) - -func TestParserRead(t *testing.T) { - type testCase struct { - expToken []byte - expDelim byte - } - - var ( - parser = NewParser([]byte("a b\tc"), []byte(" \t")) - - cases = []testCase{{ - expToken: []byte(`a`), - expDelim: ' ', - }, { - expToken: []byte(`b`), - expDelim: '\t', - }, { - expToken: []byte(`c`), - expDelim: 0, - }, { - // empty. - }} - - c testCase - token []byte - d byte - ) - - for _, c = range cases { - token, d = parser.Read() - test.Assert(t, `token`, c.expToken, token) - test.Assert(t, `delimiter`, c.expDelim, d) - } -} - -func TestParserSkipLine(t *testing.T) { - type testCase struct { - expToken []byte - expDelim byte - } - - var ( - parser = NewParser([]byte("a\nb\nc\nd e\n"), []byte("\n")) - - cases = []testCase{{ - expToken: []byte(`b`), - expDelim: '\n', - }, { - expToken: []byte(`d e`), - expDelim: '\n', - }, { - // empty. - }} - - c testCase - token []byte - d byte - ) - - for _, c = range cases { - parser.SkipLine() - token, d = parser.Read() - test.Assert(t, `token`, c.expToken, token) - test.Assert(t, `delimiter`, c.expDelim, d) - } -} |
