From 6c75587cbe83416343f9de37f634fda2b73e0b97 Mon Sep 17 00:00:00 2001 From: bburns632 Date: Fri, 19 Apr 2024 14:57:07 -0500 Subject: [PATCH] adds LinkingTo items to dependency reporter (resolves #303) (#319) --- NEWS.md | 3 ++- R/DependencyReporter.R | 2 +- inst/milne/DESCRIPTION | 2 ++ .../test-DependencyReporter-network.R | 20 +++++++++++++++++++ .../testdata/milne_dependency_edges.csv | 11 ++++++++++ .../testdata/milne_dependency_nodes.csv | 9 +++++++++ 6 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 tests/testthat/testdata/milne_dependency_edges.csv create mode 100644 tests/testthat/testdata/milne_dependency_nodes.csv diff --git a/NEWS.md b/NEWS.md index eefd3f93..80ff5794 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,6 +1,7 @@ # pkgnet (dev) ## NEW FEATURES * `do.call` with the function argument as string will now properly appear on the function reporter. Previously, this would show as a `do.call` node with a circular reference. (#302) +* `LinkingTo:` package dependencies are now included in the `DependencyReporter` and subsequent HTML report and objects. (#319 Thanks @petergodbert !) ## CHANGES * Updated `pkgnet-intro` vignette to include information on the Class Inheritance Reporter and other minor edits. @@ -9,7 +10,7 @@ # pkgnet 0.4.2 ## NEW FEATURES -* Node coloring in DependencyReporter (#243) +* Node coloring in `DependencyReporter` (#243) ## CHANGES * Removed LazyData field to accomodate change in CRAN policy. (#289) diff --git a/R/DependencyReporter.R b/R/DependencyReporter.R index 3ef6d826..2c839e01 100644 --- a/R/DependencyReporter.R +++ b/R/DependencyReporter.R @@ -40,7 +40,7 @@ DependencyReporter <- R6::R6Class( public = list( - initialize = function(dep_types = c("Imports", "Depends"), installed = TRUE){ + initialize = function(dep_types = c("Imports", "Depends", "LinkingTo"), installed = TRUE){ # Check inputs assertthat::assert_that( diff --git a/inst/milne/DESCRIPTION b/inst/milne/DESCRIPTION index 4964f4ef..d35ee26b 100644 --- a/inst/milne/DESCRIPTION +++ b/inst/milne/DESCRIPTION @@ -13,6 +13,8 @@ Imports: Suggests: covr, testthat +LinkingTo: + Rcpp License: file LICENSE LazyData: TRUE RoxygenNote: 6.1.1 diff --git a/tests/testthat/test-DependencyReporter-network.R b/tests/testthat/test-DependencyReporter-network.R index 14996d74..2ca8284e 100644 --- a/tests/testthat/test-DependencyReporter-network.R +++ b/tests/testthat/test-DependencyReporter-network.R @@ -21,3 +21,23 @@ test_that('DependencyReporter extracts expected network for baseballstats', { ) }) +test_that('DependencyReporter extracts expected network for milne (with LinkingTo:)', { + + testObj <- DependencyReporter$new()$set_package('milne') + + # Test nodes + expect_equivalent( + object = testObj$nodes + , expected = data.table::fread(file.path('testdata', 'milne_dependency_nodes.csv')) + , ignore.col.order = TRUE + , ignore.row.order = TRUE + ) + + # Test edges + expect_equivalent( + object = testObj$edges + , expected = data.table::fread(file.path('testdata', 'milne_dependency_edges.csv')) + , ignore.col.order = TRUE + , ignore.row.order = TRUE + ) +}) \ No newline at end of file diff --git a/tests/testthat/testdata/milne_dependency_edges.csv b/tests/testthat/testdata/milne_dependency_edges.csv new file mode 100644 index 00000000..2cf0fa62 --- /dev/null +++ b/tests/testthat/testdata/milne_dependency_edges.csv @@ -0,0 +1,11 @@ +SOURCE,TARGET +Rcpp,methods +Rcpp,utils +graphics,grDevices +methods,stats +methods,utils +milne,R6 +milne,Rcpp +stats,grDevices +stats,graphics +stats,utils diff --git a/tests/testthat/testdata/milne_dependency_nodes.csv b/tests/testthat/testdata/milne_dependency_nodes.csv new file mode 100644 index 00000000..3721cdb6 --- /dev/null +++ b/tests/testthat/testdata/milne_dependency_nodes.csv @@ -0,0 +1,9 @@ +node +R6 +Rcpp +grDevices +graphics +methods +milne +stats +utils