diff options
| author | Philipp Tanlak <philipp.tanlak@gmail.com> | 2023-11-20 17:07:28 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-20 17:07:28 +0100 |
| commit | 13322edf37510b6d3bb68a853368fd1a0a67a105 (patch) | |
| tree | af325e934f95deeee44cbdd126100dff912f0e5a /js_test.go | |
| parent | 47d58e6e0ebc44e7c00dffcc3b892932dc70eb3a (diff) | |
Gracefully handle NaN and Inf values (#21)
Diffstat (limited to 'js_test.go')
| -rw-r--r-- | js_test.go | 38 |
1 files changed, 35 insertions, 3 deletions
@@ -94,6 +94,21 @@ func TestJSScrapeNull(t *testing.T) { require.Nil(t, result) } +func TestJSScrapeUndefined(t *testing.T) { + js := ` + export default function() { } + ` + exports, err := flyscrape.Compile(js, nil) + require.NoError(t, err) + + result, err := exports.Scrape(flyscrape.ScrapeParams{ + HTML: html, + URL: "http://localhost/", + }) + require.NoError(t, err) + require.Nil(t, result) +} + func TestJSScrapeString(t *testing.T) { js := ` export default function() { @@ -131,9 +146,26 @@ func TestJSScrapeArray(t *testing.T) { m, ok := result.([]any) require.True(t, ok) - require.Equal(t, int64(1), m[0]) - require.Equal(t, int64(2), m[1]) - require.Equal(t, int64(3), m[2]) + require.Equal(t, float64(1), m[0]) + require.Equal(t, float64(2), m[1]) + require.Equal(t, float64(3), m[2]) +} + +func TestJSScrapeNaN(t *testing.T) { + js := ` + export default function() { + return NaN + } + ` + exports, err := flyscrape.Compile(js, nil) + require.NoError(t, err) + + result, err := exports.Scrape(flyscrape.ScrapeParams{ + HTML: html, + URL: "http://localhost/", + }) + require.NoError(t, err) + require.Nil(t, result) } func TestJSCompileError(t *testing.T) { |