1# We can't naively compare serializers using expect equal without losing codecov results. 2# codecov modifies the source of the functions so they are no longer comparable when 3# deparsed, which causes the tests to fail only for codecov. 4# Here we'll make our own comparison function. 5# covr adds lines to measure coverage but also adds brackets to capture expressions differently. 6# So we use this rough heuristic to just take the word characters without whitespace and compare 7# those. It's not perfect, but it would almost always fail if you were comparing to different 8# functions. 9expect_equal_functions <- function(object, expected){ 10 do <- deparse(object) 11 de <- deparse(expected) 12 13 do <- gsub(".*covr:::count.*", NA, do) 14 do <- do[!is.na(do)] 15 do <- paste(do, collapse="") 16 do <- gsub("[^\\w]", "", do, perl=TRUE) 17 18 de <- gsub(".*covr:::count.*", NA, de) 19 de <- de[!is.na(de)] 20 de <- paste(de, collapse="") 21 de <- gsub("[^\\w]", "", de, perl=TRUE) 22 23 expect_equal(do, de) 24} 25