text: var npa = require("../npa.js")
  var path = require("path")
  
  require("tap").test("basic", function (t) {
    t.setMaxListeners(999)
  
    var tests = {
      "user/foo-js": {
        name: null,
        type: "hosted",
        hosted: { type: "github" },
        spec: "github:user/foo-js",
        raw: "user/foo-js"
      },
  
      "user/foo-js#bar/baz": {
        name: null,
        type: "hosted",
        hosted: { type: "github" },
        spec: "github:user/foo-js#bar/baz",
        raw: "user/foo-js#bar/baz"
      },
  
      "user..blerg--/..foo-js# . . . . . some . tags / / /": {
        name: null,
        type: "hosted",
        hosted: { type: "github" },
        spec: "github:user..blerg--/..foo-js# . . . . . some . tags / / /",
        raw: "user..blerg--/..foo-js# . . . . . some . tags / / /"
      },
  
      "user/foo-js#bar/baz/bin": {
        name: null,
        type: "hosted",
        hosted: { type: "github" },
        raw: "github:user/foo-js#bar/baz/bin",
        raw: "user/foo-js#bar/baz/bin"
      },
  
      "foo@user/foo-js": {
        name: "foo",
        type: "hosted",
        hosted: { type: "github" },
        spec: "github:user/foo-js",
        raw: "foo@user/foo-js"
      },
  
      "github:user/foo-js": {
        name: null,
        type: "hosted",
        hosted: { type: "github" },
        spec: "github:user/foo-js",
        raw: "github:user/foo-js"
      },
  
      "git+ssh://git@github.com/user/foo#1.2.3": {
        name: null,
        type: "hosted",
        hosted: { type: "github" },
        spec: "git+ssh://git@github.com/user/foo.git#1.2.3",
        raw: "git+ssh://git@github.com/user/foo#1.2.3"
      },
  
      "git://github.com/user/foo": {
        name: null,
        type: "hosted",
        hosted: { type: "github" },
        spec: "git://github.com/user/foo.git",
        raw: "git://github.com/user/foo"
      },
  
      "https://github.com/user/foo.git": {
        name: null,
        type: "hosted",
        hosted: { type: "github" },
        spec: "https://github.com/user/foo.git",
        raw: "https://github.com/user/foo.git"
      },
  
      "@foo/bar@git+ssh://github.com/user/foo": {
        name: "@foo/bar",
        scope: "@foo",
        type: "hosted",
        hosted: { type: "github" },
        spec: "git+ssh://git@github.com/user/foo.git",
        rawSpec: "git+ssh://github.com/user/foo",
        raw: "@foo/bar@git+ssh://github.com/user/foo"
      },
  
     "foo@bar/foo": {
       name: "foo",
       type: "hosted",
       hosted: { type: "github" },
       spec: "github:bar/foo",
       raw: "foo@bar/foo"
     }
    }
  
    Object.keys(tests).forEach(function (arg) {
      var res = npa(arg)
      t.type(res, "Result", arg + " is a result")
      t.has(res, tests[arg], arg + " matches expectations")
    })
  
    t.end()
  })
  