@@ -4,6 +4,51 @@ expect_snapshot_leaflet <- function(map) {
44}
55
66
7- system_os <- function () {
8- tolower(Sys.info()[[" sysname" ]])
7+ expect_equal_to_ggplot_reference <- function (object , file , info = NULL ) {
8+ if (! file.exists(file )) {
9+ ggplot2 :: ggsave(file , object , width = 5 , height = 5 , dpi = 300 )
10+ succeed()
11+ } else {
12+ ggplot2 :: ggsave(" temp.png" , object , width = 5 , height = 5 , dpi = 300 )
13+ reference <- png :: readPNG(file )
14+ object <- png :: readPNG(" temp.png" )
15+ if (length(reference ) == length(object )) {
16+ object <- object + 1
17+ reference <- reference + 1
18+ diff <- abs(object - reference ) / reference
19+ # Proportion of pixels more than 5% different
20+ diff <- 100 - (sum(diff > 0.05 ) / length(object ) * 100 )
21+ } else {
22+ diff <- 0
23+ }
24+ testthat :: expect_gt(diff , 98 , " Figures not equal" )
25+ file.remove(" temp.png" )
26+ }
27+ invisible (object )
28+ }
29+
30+ expect_equal_to_leaflet_reference <- function (object , file , info = NULL ) {
31+ if (! file.exists(file )) {
32+ saveRDS(object , file )
33+ testthat :: succeed()
34+ } else {
35+ ref <- readRDS(file )
36+
37+ ref $ dependencies <- NA
38+ object $ dependencies <- NA
39+
40+ ref $ x $ calls [[1 ]]$ args [[1 ]] <- NA
41+ object $ x $ calls [[1 ]]$ args [[1 ]] <- NA
42+
43+ ref $ x $ calls [[1 ]]$ args [[4 ]]$ attribution <- NA
44+ object $ x $ calls [[1 ]]$ args [[4 ]]$ attribution <- NA
45+
46+ comp <- compare(object , ref )
47+ testthat :: expect(
48+ comp $ equal ,
49+ sprintf(" Object not equal to reference.\n %s" , comp $ message ),
50+ info = info
51+ )
52+ }
53+ invisible (object )
954}
0 commit comments