Skip to content

Commit a176304

Browse files
Running image export bug fixed (#307)
bumping PuppeteerSharp version, add platform specific test files for future use
1 parent 98ce4f2 commit a176304

File tree

7 files changed

+20
-9
lines changed

7 files changed

+20
-9
lines changed

src/Plotly.NET.ImageExport/Plotly.NET.ImageExport.fsproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
<ItemGroup>
3737
<PackageReference Include="Plotly.NET" Version="3.*" />
3838
<PackageReference Include="DynamicObj" Version="2.0.0" />
39-
<PackageReference Include="PuppeteerSharp" Version="6.0.0" />
39+
<PackageReference Include="PuppeteerSharp" Version="7.0.0" />
4040
</ItemGroup>
4141

4242
</Project>

src/Plotly.NET.ImageExport/PuppeteerSharpRenderer.fs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ open DynamicObj
1212
module PuppeteerSharpRendererOptions =
1313

1414
let mutable launchOptions = LaunchOptions()
15+
1516
launchOptions.Timeout <- 60000
1617

1718
let mutable localBrowserExecutablePath =

tests/Plotly.NET.ImageExport.Tests/ImageExport.fs

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
module Tests.ImageExport
22

3+
open System.Runtime.InteropServices
34
open Expecto
45
open Plotly.NET
56
open Plotly.NET.ImageExport
67

78
open System
89
open System.IO
910

10-
let testBase64JPG = File.ReadAllText (__SOURCE_DIRECTORY__ + "/data/testBase64JPG.txt")
11-
12-
let testBase64PNG =
13-
File.ReadAllBytes(__SOURCE_DIRECTORY__ + "/data/testPNG.png")
14-
|> Convert.ToBase64String
11+
let readTestFilePlatformSpecific filePostfix =
12+
if RuntimeInformation.IsOSPlatform(OSPlatform.Linux) then
13+
let content = File.ReadAllText (__SOURCE_DIRECTORY__ + $"/data/linux{filePostfix}")
14+
content.Substring(0, content.Length - 1) // Because on Linux you're expected to newline terminate the file
15+
else if RuntimeInformation.IsOSPlatform(OSPlatform.Windows) then
16+
File.ReadAllText (__SOURCE_DIRECTORY__ + $"/data/win{filePostfix}")
17+
else
18+
raise (Exception "Running tests on the current OS is not supported :(")
1519

1620
[<Tests>]
1721
let ``Image export tests`` =
@@ -23,21 +27,25 @@ let ``Image export tests`` =
2327
// skipping this for now, cannot make it work atm (pTestAsync -> testAsync for running it)
2428
testList "base64 strings" [
2529
ptestAsync "Chart.toBase64JPGStringAsync" {
30+
let testBase64JPG = readTestFilePlatformSpecific "TestBase64JPG.txt"
31+
2632
let! actual = (Chart.Point([1.,1.]) |> Chart.toBase64JPGStringAsync())
2733

2834
return
29-
Expect.stringContains
35+
Expect.equal
3036
actual
3137
testBase64JPG
3238
"Invalid base64 string for Chart.toBase64JPGStringAsync"
3339
}
3440
ptestAsync "Chart.toBase64PNGStringAsync" {
41+
let testBase64PNG = readTestFilePlatformSpecific "TestBase64PNG.txt"
42+
3543
let! actual = (Chart.Point([1.,1.]) |> Chart.toBase64PNGStringAsync())
3644

3745
return
38-
Expect.stringContains
46+
Expect.equal
3947
actual
40-
testBase64JPG
48+
testBase64PNG
4149
"Invalid base64 string for Chart.toBase64PNGStringAsync"
4250
}
4351
]
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
data:image/jpeg;base64,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

tests/Plotly.NET.ImageExport.Tests/data/linuxTestBase64PNG.txt

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)