1# name --------------------------------------------------------------------
2
3test_that("name captured from assignment", {
4  out <- roc_proc_text(rd_roclet(), "
5    #' Title.
6    a <- function() {}
7  ")[[1]]
8
9  expect_equal(out$get_value("name"), "a")
10  expect_equal(out$get_value("alias"), "a")
11  expect_equal(out$get_value("title"), "Title.")
12})
13
14test_that("name also captured from assignment by =", {
15  out <- roc_proc_text(rd_roclet(), "
16    #' Title.
17    a = function() {}
18  ")[[1]]
19
20  expect_equal(out$get_value("name"), "a")
21  expect_equal(out$get_value("alias"), "a")
22  expect_equal(out$get_value("title"), "Title.")
23})
24
25
26test_that("`$` not to be parsed as assignee in foo$bar(a = 1)", {
27  out <- roc_proc_text(rd_roclet(), "
28    #' foo object
29    foo <- list(bar = function(a) a)
30    foo$bar(a = 1)
31  ")[[1]]
32
33  expect_equal(out$get_value("name"), "foo")
34})
35
36test_that("names escaped, not quoted", {
37  out <- roc_proc_text(rd_roclet(), "
38    #' Title
39    '%a%' <- function(x, y) x + y
40  ")[[1]]
41  expect_equal(out$get_rd("name"), "\\name{\\%a\\%}")
42})
43
44test_that("quoted names captured from assignment", {
45  out <- roc_proc_text(rd_roclet(), "
46    #' Title.
47    \"myfunction\" <- function(...) {}
48  ")[[1]]
49
50  expect_equal(out$get_value("name"), "myfunction")
51  expect_equal(out$get_value("alias"), "myfunction")
52
53  out <- roc_proc_text(rd_roclet(), "
54    #' Title.
55    `myfunction` <- function(...) {}
56  ")[[1]]
57  expect_equal(out$get_value("name"), "myfunction")
58  expect_equal(out$get_value("alias"), "myfunction")
59
60  out <- roc_proc_text(rd_roclet(), "
61    #' Title.
62    \"my function\" <- function(...) {}
63  ")[[1]]
64
65  expect_equal(out$get_value("name"), "my function")
66  expect_equal(out$get_value("alias"), "my function")
67})
68
69test_that("@name overides default", {
70  out <- roc_proc_text(rd_roclet(), "
71    #' A
72    #' @name b
73    a <- function() {}
74  ")[[1]]
75
76  expect_equal(out$get_value("name"), "b")
77  expect_setequal(out$get_value("alias"), c("a", "b"))
78})
79
80
81# alias -------------------------------------------------------------------
82
83test_that("aliases split into pieces", {
84  out <- roc_proc_text(rd_roclet(), "
85    #' @aliases a b
86    #' @title a
87    #' @name a
88    NULL")[[1]]
89
90  expect_match(out$get_value("alias"), fixed("a"), all = FALSE)
91  expect_match(out$get_value("alias"), fixed("b"), all = FALSE)
92})
93
94test_that("aliases escaped, not quoted", {
95  out1 <- roc_proc_text(rd_roclet(), "
96    #' @name %a%
97    #' @aliases a
98    #' @title a
99    NULL")[[1]]
100  expect_equal(out1$get_rd("alias"), c("\\alias{\\%a\\%}", "\\alias{a}"))
101
102  out2 <- roc_proc_text(rd_roclet(), "
103    #' @name a
104    #' @aliases %a%
105    #' @title a
106    NULL")[[1]]
107  expect_equal(out2$get_rd("alias"), c("\\alias{a}", "\\alias{\\%a\\%}"))
108})
109
110test_that("can use NULL to suppress default aliases", {
111  out <- roc_proc_text(rd_roclet(), "
112    #' @aliases NULL
113    #' @title a
114    #' @name a
115    NULL")[[1]]
116
117  expect_equal(out$get_value("alias"), character())
118})
119
120test_that("aliases get deduplicated", {
121  out <- roc_proc_text(rd_roclet(), "
122    #' @aliases a b a
123    #' @title a
124    #' @name a
125    NULL")[[1]]
126
127  expect_equal(out$get_rd("alias"), c("\\alias{a}", "\\alias{b}"))
128})
129
130test_that("aliases get deduplicated with defaults suppressed", {
131  out <- roc_proc_text(rd_roclet(), "
132    #' @aliases NULL b c b
133    #' @title a
134    #' @name a
135    NULL")[[1]]
136
137  expect_equal(out$get_rd("alias"), c("\\alias{b}", "\\alias{c}"))
138})
139
140test_that("refclass with assignment gets both aliases", {
141  out <- roc_proc_text(rd_roclet(), "
142    #' Title
143    B3 <- setRefClass('B3')
144  ")[[1]]
145
146  expect_equal(out$get_value("alias"), c("B3-class", "B3"))
147})
148
149
150test_that("refclass gets -class alias", {
151  out <- roc_proc_text(rd_roclet(), "
152    #' Title
153    setRefClass('B2')
154  ")[[1]]
155
156  expect_equal(out$get_value("alias"), "B2-class")
157})
158