Skip to content

Commit 23b50a8

Browse files
authored
Revert "better version of fix"
This reverts commit 16dd451.
1 parent 16dd451 commit 23b50a8

File tree

2 files changed

+8
-39
lines changed

2 files changed

+8
-39
lines changed

core/util/util.go

Lines changed: 3 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -402,14 +402,9 @@ func jsonPath(query, toMatch string) interface{} {
402402

403403
// Jsonpath library converts large int into a string with scientific notion, the following
404404
// reverts that process to avoid mismatching when using the jsonpath result for csv data lookup
405-
// Handle large integers in scientific notation by converting back to big.Int
406-
if isScientific(result) {
407-
// If result is in scientific notation, try converting to a big.Int
408-
bigInt := new(big.Int)
409-
bigInt, success := bigIntFromString(result)
410-
if success {
411-
result = bigInt.String() // Convert back to string representation of the big integer
412-
}
405+
bigInt := new(big.Int)
406+
if _, ok := bigInt.SetString(result, 10); ok {
407+
result = fmt.Sprint(bigInt)
413408
}
414409

415410
// convert to array data if applicable
@@ -424,27 +419,6 @@ func jsonPath(query, toMatch string) interface{} {
424419
return arrayData
425420
}
426421

427-
// isScientific checks if a string is in scientific notation (e.g., "1.349599e+37")
428-
func isScientific(value string) bool {
429-
return strings.Contains(value, "e") || strings.Contains(value, "E")
430-
}
431-
432-
// bigIntFromString converts a string representing a number (potentially in scientific notation) to big.Int
433-
func bigIntFromString(value string) (*big.Int, bool) {
434-
// Parse the string as a big.Float to handle scientific notation
435-
flt := new(big.Float)
436-
flt, _, err := big.ParseFloat(value, 10, 0, big.ToNearestEven)
437-
if err != nil {
438-
return nil, false
439-
}
440-
441-
// Convert the big.Float to big.Int (rounding down)
442-
bigInt := new(big.Int)
443-
flt.Int(bigInt)
444-
445-
return bigInt, true
446-
}
447-
448422
func xPath(query, toMatch string) string {
449423
result, err := XpathExecution(query, toMatch)
450424
if err != nil {

core/util/util_test.go

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -237,22 +237,17 @@ func Test_CopyMap(t *testing.T) {
237237
func Test_JsonPathMethod_WithBigFloatingNumber(t *testing.T) {
238238

239239
RegisterTestingT(t)
240-
res := jsonPath("$.registrant", `{"registrant":"13495985898986869898697879879987978978.12345566777"}`)
240+
res := jsonPath(PrepareJsonPathQuery("$.registrant"),
241+
`{"registrant":"13495985898986869898697879879987978978.12345566777"}`)
241242
Expect(res).To(Equal("13495985898986869898697879879987978978.12345566777"))
242243
}
243244

244245
func Test_JsonPathMethod_WithBigIntegerNumber(t *testing.T) {
245246

246247
RegisterTestingT(t)
247-
res := jsonPath("$.registrant", `{"registrant":5553686208582}`)
248-
Expect(res).To(Equal(5553686208582))
249-
}
250-
251-
func Test_JsonPathMethod_WithWordContainingEe(t *testing.T) {
252-
253-
RegisterTestingT(t)
254-
res := jsonPath("$.registrant", `{"registrant":"ETest"}`)
255-
Expect(res).To(Equal("ETest"))
248+
res := jsonPath(PrepareJsonPathQuery("$.registrant"),
249+
`{"registrant":"13495985898986869898697879879987978978"}`)
250+
Expect(res).To(Equal("13495985898986869898697879879987978978"))
256251
}
257252

258253
func Test_Identical_ReturnsTrue_WithExactlySameArray(t *testing.T) {

0 commit comments

Comments
 (0)