{
  "_id": "6ad2638f7af56c173f1206c0",
  "Package": "testit",
  "Type": "Package",
  "Title": "A Simple Package for Testing R Packages",
  "Version": "1.2.3",
  "Authors@R": "c(\nperson(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\", URL = \"https://yihui.org\")),\nperson(\"Tomas\", \"Kalibera\", role = \"ctb\"),\nperson(\"Steven\", \"Mortimer\", role = \"ctb\", email=\"reportmort@gmail.com\")\n)",
  "Description": "A minimal, dependency-free testing framework for R\npackages. Write tests as simple R expressions that return TRUE,\nusing assert() for assertions (with informative error messages\non failure), has_error() / has_warning() / has_message() for\ntesting conditions, and test_pkg() to run all tests with full\naccess to internal (non-exported) package functions. Snapshot\ntesting via Markdown files is also supported.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/yihui/testit",
  "BugReports": "https://github.com/yihui/testit/issues",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "Config/roxygen2/version": "8.1.1",
  "Repository": "https://yihui.r-universe.dev",
  "Date/Publication": "2026-10-16 16:32:42 UTC",
  "RemoteUrl": "https://github.com/yihui/testit",
  "RemoteRef": "HEAD",
  "RemoteSha": "5b74de269df3662681fcb67ab35602cdf3677719",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-16 17:40:10 UTC",
    "User": "root"
  },
  "Author": "Yihui Xie [aut, cre] (ORCID: <https://orcid.org/0000-0003-0645-5666>,\nURL: https://yihui.org),\nTomas Kalibera [ctb],\nSteven Mortimer [ctb]",
  "Maintainer": "Yihui Xie <xie@yihui.name>",
  "_user": "yihui",
  "_type": "src",
  "_file": "testit_1.2.3.tar.gz",
  "_fileid": "https://r2.ropensci.org/e4ceef756f42b240ef5f6fcc2715a83965aefc447a0cbfc5073401630b09fe8b",
  "_filesize": 123557,
  "_sha256": "e4ceef756f42b240ef5f6fcc2715a83965aefc447a0cbfc5073401630b09fe8b",
  "_expires": "2027-01-24T17:49:00.000Z",
  "_created": "2026-10-16T17:40:10.000Z",
  "_published": "2026-10-16T17:49:03.103Z",
  "_buildurl": "https://github.com/r-universe/yihui/actions/runs/38941166369",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 117109964634,
      "time": 107,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12063312261"
    },
    {
      "job": 117109964618,
      "time": 80,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12063312184"
    },
    {
      "job": 117109964728,
      "time": 101,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12064350022"
    },
    {
      "job": 117109964665,
      "time": 80,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12063033186"
    },
    {
      "job": 117109030058,
      "time": 128,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12062823362"
    },
    {
      "job": 117109964553,
      "time": 82,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12063557076"
    },
    {
      "job": 117109964828,
      "time": 55,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12063616839"
    },
    {
      "job": 117109964633,
      "time": 62,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12062563532"
    },
    {
      "job": 117109964763,
      "time": 70,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12063761497"
    }
  ],
  "_upstream": "https://github.com/yihui/testit",
  "_commit": {
    "id": "5b74de269df3662681fcb67ab35602cdf3677719",
    "author": "Yihui Xie <xie@yihui.name>",
    "committer": "Yihui Xie <xie@yihui.name>",
    "message": "has_match(): accept !pattern as shorthand for negate = TRUE\n\nCapture pattern with substitute() so a leading ! is detected before the\nargument is evaluated; otherwise ! applied to a string would error. The operand\nis then evaluated in the caller, so !pattern composes with a variable, an\nexpression, or an I()-wrapped literal.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n",
    "time": 1792168362
  },
  "_maintainer": {
    "name": "Yihui Xie",
    "email": "xie@yihui.name",
    "login": "yihui",
    "mastodon": "@yihui@mastodon.social",
    "bluesky": "@yihui.org",
    "linkedin": "in/yihuixie",
    "description": "Freelancer (open source programmer, contractor, blogger, and writer)",
    "uuid": 163582,
    "orcid": "0000-0003-0645-5666"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [],
  "_owner": "yihui",
  "_selfowned": true,
  "_usedby": 12,
  "_updates": [
    {
      "week": "2025-45",
      "n": 1
    },
    {
      "week": "2025-49",
      "n": 5
    },
    {
      "week": "2025-51",
      "n": 4
    },
    {
      "week": "2026-03",
      "n": 2
    },
    {
      "week": "2026-08",
      "n": 3
    },
    {
      "week": "2026-09",
      "n": 9
    },
    {
      "week": "2026-10",
      "n": 2
    },
    {
      "week": "2026-17",
      "n": 8
    },
    {
      "week": "2026-19",
      "n": 39
    },
    {
      "week": "2026-20",
      "n": 15
    },
    {
      "week": "2026-21",
      "n": 5
    },
    {
      "week": "2026-25",
      "n": 4
    },
    {
      "week": "2026-36",
      "n": 2
    },
    {
      "week": "2026-38",
      "n": 1
    },
    {
      "week": "2026-42",
      "n": 9
    }
  ],
  "_tags": [
    {
      "name": "v0.14",
      "date": "2025-12-06"
    },
    {
      "name": "v0.15",
      "date": "2025-12-19"
    },
    {
      "name": "v0.16",
      "date": "2026-02-23"
    },
    {
      "name": "v0.17",
      "date": "2026-03-07"
    },
    {
      "name": "v0.18",
      "date": "2026-04-21"
    },
    {
      "name": "v1.0",
      "date": "2026-05-13"
    },
    {
      "name": "v1.1",
      "date": "2026-06-18"
    },
    {
      "name": "v1.1.2",
      "date": "2026-09-04"
    },
    {
      "name": "v1.2",
      "date": "2026-10-15"
    }
  ],
  "_topics": [
    "testing"
  ],
  "_stars": 70,
  "_contributors": [
    {
      "user": "yihui",
      "count": 258,
      "uuid": 163582
    },
    {
      "user": "cderv",
      "count": 6,
      "uuid": 6791940
    },
    {
      "user": "copilot",
      "count": 3,
      "uuid": 198982749
    },
    {
      "user": "jacob-long",
      "count": 1,
      "uuid": 4957401
    },
    {
      "user": "stevenmmortimer",
      "count": 1,
      "uuid": 5299737
    },
    {
      "user": "kalibera",
      "count": 1,
      "uuid": 1734520
    },
    {
      "user": "wibeasley",
      "count": 1,
      "uuid": 1372890
    }
  ],
  "_userbio": {
    "uuid": 163582,
    "type": "user",
    "name": "Yihui Xie",
    "followers": 9884,
    "description": "Freelancer (open source programmer, contractor, blogger, and writer)"
  },
  "_downloads": {
    "count": 16515,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/testit"
  },
  "_mentions": 1,
  "_devurl": "https://github.com/yihui/testit",
  "_searchresults": 2116,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/testit.html",
    "LICENSE"
  ],
  "_homeurl": "https://github.com/yihui/testit",
  "_realowner": "yihui",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1",
      "date": "2013-06-28"
    },
    {
      "version": "0.2",
      "date": "2013-07-29"
    },
    {
      "version": "0.2.1",
      "date": "2013-07-30"
    },
    {
      "version": "0.3",
      "date": "2013-10-26"
    },
    {
      "version": "0.4",
      "date": "2014-12-20"
    },
    {
      "version": "0.5",
      "date": "2016-02-17"
    },
    {
      "version": "0.6",
      "date": "2016-11-09"
    },
    {
      "version": "0.7",
      "date": "2017-05-22"
    },
    {
      "version": "0.8",
      "date": "2018-06-14"
    },
    {
      "version": "0.9",
      "date": "2018-12-05"
    },
    {
      "version": "0.10",
      "date": "2019-10-01"
    },
    {
      "version": "0.11",
      "date": "2019-11-12"
    },
    {
      "version": "0.12",
      "date": "2020-09-25"
    },
    {
      "version": "0.13",
      "date": "2021-04-14"
    },
    {
      "version": "0.14",
      "date": "2025-12-11"
    },
    {
      "version": "0.15",
      "date": "2025-12-19"
    },
    {
      "version": "0.16",
      "date": "2026-02-23"
    },
    {
      "version": "0.17",
      "date": "2026-03-06"
    },
    {
      "version": "0.18",
      "date": "2026-04-21"
    },
    {
      "version": "1.0",
      "date": "2026-05-13"
    },
    {
      "version": "1.1",
      "date": "2026-06-18"
    },
    {
      "version": "1.1.2",
      "date": "2026-09-08"
    },
    {
      "version": "1.2",
      "date": "2026-10-15"
    }
  ],
  "_exports": [
    "%==%",
    "assert",
    "has_error",
    "has_match",
    "has_message",
    "has_warning",
    "test_pkg"
  ],
  "_help": [
    {
      "page": "assert",
      "title": "Assert that conditions are true, with an informative failure message",
      "topics": [
        "%==%",
        "assert"
      ]
    },
    {
      "page": "has_match",
      "title": "Test whether a string matches a regular expression",
      "topics": [
        "has_match"
      ]
    },
    {
      "page": "has_message",
      "title": "Test whether an expression signals a condition",
      "topics": [
        "has_error",
        "has_message",
        "has_warning"
      ]
    },
    {
      "page": "test_pkg",
      "title": "Run all tests for a package",
      "topics": [
        "test_pkg"
      ]
    }
  ],
  "_readme": "https://github.com/yihui/testit/raw/HEAD/README.md",
  "_rundeps": [],
  "_score": 11.59800729594747,
  "_indexed": true,
  "_nocasepkg": "testit",
  "_universes": [
    "yihui"
  ],
  "_previous": "1.2.2",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.2.3",
      "date": "2026-10-16T17:42:05.000Z",
      "distro": "resolute",
      "commit": "5b74de269df3662681fcb67ab35602cdf3677719",
      "fileid": "https://r2.ropensci.org/481d4012da7532ca63b9eaf952895e80688c6fcb3375506a22976a3ff43e1e7a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/yihui/actions/runs/38941166369"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.2.3",
      "date": "2026-10-16T17:41:39.000Z",
      "distro": "resolute",
      "commit": "5b74de269df3662681fcb67ab35602cdf3677719",
      "fileid": "https://r2.ropensci.org/c9d63d3ee6e02ad780bd17a8a17d74e817eb8ed20d8acbad3aed26018ae1d28e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/yihui/actions/runs/38941166369"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.2.3",
      "date": "2026-10-16T17:48:31.000Z",
      "commit": "5b74de269df3662681fcb67ab35602cdf3677719",
      "fileid": "https://r2.ropensci.org/13026e0a3b2fe60d91822f3e79047d5de586cf07d1e31056e7b67d5a49e408ad",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/yihui/actions/runs/38941166369"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.2.3",
      "date": "2026-10-16T17:46:01.000Z",
      "commit": "5b74de269df3662681fcb67ab35602cdf3677719",
      "fileid": "https://r2.ropensci.org/af8d15a181f31bb9475aab194592df46dfc3c535630cb445c05f6325f52019e6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/yihui/actions/runs/38941166369"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.2.3",
      "date": "2026-10-16T17:41:50.000Z",
      "commit": "5b74de269df3662681fcb67ab35602cdf3677719",
      "fileid": "https://r2.ropensci.org/3dae910407edaf31053525d29e729bbebf5f13995351f7126c2026c7b9033fbe",
      "status": "success",
      "buildurl": "https://github.com/r-universe/yihui/actions/runs/38941166369"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.2.3",
      "date": "2026-10-16T17:41:05.000Z",
      "commit": "5b74de269df3662681fcb67ab35602cdf3677719",
      "fileid": "https://r2.ropensci.org/27ff0ecf0bbd660ef12f2e80364205a495527300af5baa9f3937463ccd9b796b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/yihui/actions/runs/38941166369"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.2.3",
      "date": "2026-10-16T17:41:14.000Z",
      "commit": "5b74de269df3662681fcb67ab35602cdf3677719",
      "fileid": "https://r2.ropensci.org/2e4a8f136f5f038f6767d32e433a4eb69790d317c76bf4a117257042547c8ec4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/yihui/actions/runs/38941166369"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.2.3",
      "date": "2026-10-16T17:41:18.000Z",
      "commit": "5b74de269df3662681fcb67ab35602cdf3677719",
      "fileid": "https://r2.ropensci.org/88b3b4e375b14e825b188fba4a44eefead6e16bd63a210591605690d096cb2fb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/yihui/actions/runs/38941166369"
    }
  ]
}