File: tools.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 (14 lines) | stat: -rwxr-xr-x 426 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Mock a function by tracing it's guts out.  Untrace to unmock.

# Quick and dirty, not thoroughly tested.

mock <- function(f, tracer, where=f, print=FALSE)  {
  editor <- function(name, file, title) {body(name) <- tracer; name}
  old.edit <- options(editor=editor)
  on.exit(options(old.edit))
  invisible(
    eval(
      bquote(trace(.(substitute(f)), edit=TRUE, print=FALSE, where=.(where))),
      parent.frame()
) ) }