mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Covered rjreader and removed the error for rjr.unreadByte function in getJSONOffsetLine
This commit is contained in:
committed by
Dan Christian Bogos
parent
880dfe48dc
commit
6d20bd182d
@@ -356,10 +356,9 @@ func (rjr *rjReader) getJSONOffsetLine(offset int64) (line, character int64) {
|
||||
character++
|
||||
return nil
|
||||
}
|
||||
rerr := rjr.UnreadByte()
|
||||
if rerr != nil {
|
||||
return rerr
|
||||
}
|
||||
// Unread byte return error only if rjr.indx is small or equal to 0
|
||||
// The value is greater than 0 so it's safe to not check the error
|
||||
rjr.UnreadByte()
|
||||
}
|
||||
}
|
||||
return nil
|
||||
@@ -410,10 +409,9 @@ func (rjr *rjReader) getJSONOffsetLine(offset int64) (line, character int64) {
|
||||
break
|
||||
}
|
||||
} else {
|
||||
rerr := rjr.UnreadByte()
|
||||
if rerr != nil {
|
||||
break
|
||||
}
|
||||
// Unread byte return error only if rjr.indx is small or equal to 0
|
||||
// The value is greater than 0 so it's safe to not check the error
|
||||
rjr.UnreadByte()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -478,5 +478,99 @@ func TestGetErrorLine2(t *testing.T) {
|
||||
} else if expChar != character {
|
||||
t.Errorf("Expected line %v received:%v", expChar, character)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestGetJSONOffsetLineFuncError(t *testing.T) {
|
||||
rjr := NewRjReaderFromBytes([]byte("{}"))
|
||||
rjr.indx = 7
|
||||
var eLine, eCharachter int64 = 1, 0
|
||||
if line, character := rjr.getJSONOffsetLine(int64(3)); line != eLine && character != eCharachter {
|
||||
fmt.Printf("Expected %+v and %+v, received %+v and %+v", eLine, eCharachter, line, character)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetJSONOffsetLineReadStringEOF(t *testing.T) {
|
||||
rjr := NewRjReaderFromBytes([]byte(`{","}`))
|
||||
rjr.indx = 3
|
||||
var eLine, eCharachter int64 = 1, 0
|
||||
if line, character := rjr.getJSONOffsetLine(int64(5)); line != eLine && character != eCharachter {
|
||||
fmt.Printf("Expected %+v and %+v, received %+v and %+v", eLine, eCharachter, line, character)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetJSONOffsetLineReadString1(t *testing.T) {
|
||||
rjr := NewRjReaderFromBytes([]byte(`{,}, {val1, val2}`))
|
||||
rjr.indx = 0
|
||||
var eLine, eCharachter int64 = 1, 0
|
||||
if line, character := rjr.getJSONOffsetLine(int64(5)); line != eLine && character != eCharachter {
|
||||
fmt.Printf("Expected %+v and %+v, received %+v and %+v", eLine, eCharachter, line, character)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetJSONOffsetLineReadStringNilError1(t *testing.T) {
|
||||
rjr := NewRjReaderFromBytes([]byte(`"
|
||||
|
||||
", {,}, {val1, val2}`))
|
||||
rjr.indx = 0
|
||||
var eLine, eCharachter int64 = 1, 0
|
||||
if line, character := rjr.getJSONOffsetLine(int64(3)); line != eLine && character != eCharachter {
|
||||
fmt.Printf("Expected %+v and %+v, received %+v and %+v", eLine, eCharachter, line, character)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetJSONOffsetLineReadLineCommentEOF(t *testing.T) {
|
||||
rjr := NewRjReaderFromBytes([]byte(`random/`))
|
||||
rjr.indx = 6
|
||||
var eLine, eCharachter int64 = 1, 0
|
||||
if line, character := rjr.getJSONOffsetLine(int64(5)); line != eLine && character != eCharachter {
|
||||
fmt.Printf("Expected %+v and %+v, received %+v and %+v", eLine, eCharachter, line, character)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetJSONOffsetLineReadLineCommentEOF1(t *testing.T) {
|
||||
rjr := NewRjReaderFromBytes([]byte(`random//`))
|
||||
rjr.indx = 6
|
||||
var eLine, eCharachter int64 = 1, 0
|
||||
if line, character := rjr.getJSONOffsetLine(int64(5)); line != eLine && character != eCharachter {
|
||||
fmt.Printf("Expected %+v and %+v, received %+v and %+v", eLine, eCharachter, line, character)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetJSONOffsetLineReadCommentEOF(t *testing.T) {
|
||||
rjr := NewRjReaderFromBytes([]byte(`random/*`))
|
||||
rjr.indx = 5
|
||||
var eLine, eCharachter int64 = 1, 0
|
||||
if line, character := rjr.getJSONOffsetLine(int64(5)); line != eLine && character != eCharachter {
|
||||
fmt.Printf("Expected %+v and %+v, received %+v and %+v", eLine, eCharachter, line, character)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetJSONOffsetLineReadCommentInvalidEnding(t *testing.T) {
|
||||
rjr := NewRjReaderFromBytes([]byte(`random/*
|
||||
|
||||
**`))
|
||||
rjr.indx = 5
|
||||
var eLine, eCharachter int64 = 3, 2
|
||||
if line, character := rjr.getJSONOffsetLine(int64(5)); line != eLine && character != eCharachter {
|
||||
fmt.Printf("Expected %+v and %+v, received %+v and %+v", eLine, eCharachter, line, character)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetJSONOffsetLineReadComment1(t *testing.T) {
|
||||
rjr := NewRjReaderFromBytes([]byte(`/*
|
||||
**`))
|
||||
rjr.indx = 0
|
||||
var eLine, eCharachter int64 = 3, 2
|
||||
if line, character := rjr.getJSONOffsetLine(int64(5)); line != eLine && character != eCharachter {
|
||||
fmt.Printf("Expected %+v and %+v, received %+v and %+v", eLine, eCharachter, line, character)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetJSONOffsetLineInvalidComment2(t *testing.T) {
|
||||
rjr := NewRjReaderFromBytes([]byte(`/noComm`))
|
||||
rjr.indx = 0
|
||||
var eLine, eCharachter int64 = 1, 5
|
||||
if line, character := rjr.getJSONOffsetLine(int64(5)); line != eLine && character != eCharachter {
|
||||
fmt.Printf("Expected %+v and %+v, received %+v and %+v", eLine, eCharachter, line, character)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user