| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package jsoniter
- import (
- "testing"
- "bytes"
- "io"
- )
- func Test_read_by_one(t *testing.T) {
- lexer := NewLexer(bytes.NewBufferString("abc"), 1)
- b, err := lexer.readByte()
- if err != nil {
- t.Fatal(err)
- }
- if b != 'a' {
- t.Fatal(b)
- }
- err = lexer.unreadByte()
- if err != nil {
- t.Fatal(err)
- }
- err = lexer.unreadByte()
- if err == nil {
- t.FailNow()
- }
- b, err = lexer.readByte()
- if err != nil {
- t.Fatal(err)
- }
- if b != 'a' {
- t.Fatal(b)
- }
- }
- func Test_read_by_two(t *testing.T) {
- lexer := NewLexer(bytes.NewBufferString("abc"), 2)
- b, err := lexer.readByte()
- if err != nil {
- t.Fatal(err)
- }
- if b != 'a' {
- t.Fatal(b)
- }
- b, err = lexer.readByte()
- if err != nil {
- t.Fatal(err)
- }
- if b != 'b' {
- t.Fatal(b)
- }
- err = lexer.unreadByte()
- if err != nil {
- t.Fatal(err)
- }
- err = lexer.unreadByte()
- if err != nil {
- t.Fatal(err)
- }
- b, err = lexer.readByte()
- if err != nil {
- t.Fatal(err)
- }
- if b != 'a' {
- t.Fatal(b)
- }
- }
- func Test_read_until_eof(t *testing.T) {
- lexer := NewLexer(bytes.NewBufferString("abc"), 2)
- lexer.readByte()
- lexer.readByte()
- b, err := lexer.readByte()
- if err != nil {
- t.Fatal(err)
- }
- if b != 'c' {
- t.Fatal(b)
- }
- _, err = lexer.readByte()
- if err != io.EOF {
- t.Fatal(err)
- }
- }
|