From 5c95dc5c9de639e8eb1cd675b5bfe31f54a6f623 Mon Sep 17 00:00:00 2001 From: q191201771 <191201771@qq.com> Date: Wed, 1 Apr 2020 17:17:36 +0800 Subject: [PATCH] [feat] package bele: add func ReadLEUint32 --- pkg/bele/bele.go | 8 ++++++++ pkg/bele/bele_test.go | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/pkg/bele/bele.go b/pkg/bele/bele.go index cab29af..1ac42c8 100644 --- a/pkg/bele/bele.go +++ b/pkg/bele/bele.go @@ -108,6 +108,14 @@ func ReadBEUint64(r io.Reader) (uint64, error) { return BEUint64(b), nil } +func ReadLEUint32(r io.Reader) (uint32, error) { + b, err := ReadBytes(r, 4) + if err != nil { + return 0, err + } + return LEUint32(b), nil +} + // ----- εΊεˆ—εŒ– ----- func BEPutUint24(out []byte, in uint32) { diff --git a/pkg/bele/bele_test.go b/pkg/bele/bele_test.go index 8109125..a198d06 100644 --- a/pkg/bele/bele_test.go +++ b/pkg/bele/bele_test.go @@ -252,6 +252,8 @@ func TestRead(t *testing.T) { assert.IsNotNil(t, err) _, err = ReadBEUint64(b) assert.IsNotNil(t, err) + _, err = ReadLEUint32(b) + assert.IsNotNil(t, err) b.Write([]byte{1}) i8, err := ReadUint8(b) @@ -273,6 +275,11 @@ func TestRead(t *testing.T) { i64, err := ReadBEUint64(b) assert.Equal(t, BEUint64([]byte{1, 2, 3, 4, 5, 6, 7, 8}), i64) assert.Equal(t, nil, err) + + b.Write([]byte{1, 0, 0, 0}) + i32, err = ReadLEUint32(b) + assert.Equal(t, uint32(1), i32) + assert.Equal(t, nil, err) } func TestReadString(t *testing.T) {