File: test-html.R

package info (click to toggle)
r-cran-diffobj 0.3.5-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 2,432 kB
  • sloc: ansic: 455; javascript: 96; sh: 32; makefile: 8
file content (81 lines) | stat: -rwxr-xr-x 1,956 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
NAME <- "html"
source(file.path('_helper', 'init.R'))

# Verify that internal css works

# - HTML Output Modes ----------------------------------------------------------

all.equal(
  as.character(
    diffPrint(
      letters[1:3], LETTERS[1:3],
      style=StyleHtmlLightYb(html.output="diff.only")
  ) ),
  rdsf(100)
)
all.equal(
  as.character(
    diffPrint(
      letters[1:6], LETTERS[1:6],
      style=StyleHtmlLightYb(html.output="diff.w.style")
  ) ),
  rdsf(200)
)
all.equal(
  as.character(
    diffPrint(
      letters[1:6], LETTERS[1:6],
      style=StyleHtmlLightYb(html.output="page")
  ) ),
  rdsf(300)
)
all.equal(
  as.character(
    diffPrint(
      letters[1:6], LETTERS[1:6], mode="unified",
      style=StyleHtmlLightYb(html.output="page")
  ) ),
  rdsf(350)
)
# - Sub CSS --------------------------------------------------------------------

# Mess up the CSS to test that we can change CSS file

local({
  f <- tempfile()
  on.exit(unlink(f))
  cat("div.row {background-color: red;}\n", file=f)
  all.equal(
    as.character(
      diffPrint(
        letters, LETTERS,
        style=StyleHtmlLightYb(css=f, html.output="diff.w.style")
      )
    ),
    rdsf(400)
  )
})
# - Tag funs -------------------------------------------------------------------

div_a <- div_f("A", c(color="red"))
all.equal(
  div_a(c("a", "b")),
  c(
    "<div class='A' style='color: red;'>a</div>",
    "<div class='A' style='color: red;'>b</div>"
  )
)
span_a <- span_f()
all.equal(span_a(c("a", "b")), c("<span>a</span>", "<span>b</span>"))

try(div_a(TRUE)) # "must be character"
all.equal(div_a(character()),character())

# - nchar ----------------------------------------------------------------------

all.equal(nchar_html("<a href='blahblah'>25</a>"), 2)
all.equal(nchar_html("<a href='blahblah'>25&nbsp;</a>"), 3)

# - cont_f ---------------------------------------------------------------------

try(cont_f("hello")(1:3)) # "must be character"