scoped.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. var test = require("tap").test
  2. var fixNameField = require("../lib/fixer.js").fixNameField
  3. var fixBinField = require("../lib/fixer.js").fixBinField
  4. test("a simple scoped module has a valid name", function (t) {
  5. var data = {name : "@org/package"}
  6. fixNameField(data, false)
  7. t.equal(data.name, "@org/package", "name was unchanged")
  8. t.end()
  9. })
  10. test("'org@package' is not a valid name", function (t) {
  11. t.throws(function () {
  12. fixNameField({name : "org@package"}, false)
  13. }, "blows up as expected")
  14. t.end()
  15. })
  16. test("'org=package' is not a valid name", function (t) {
  17. t.throws(function () {
  18. fixNameField({name : "org=package"}, false)
  19. }, "blows up as expected")
  20. t.end()
  21. })
  22. test("'@org=sub/package' is not a valid name", function (t) {
  23. t.throws(function () {
  24. fixNameField({name : "@org=sub/package"}, false)
  25. }, "blows up as expected")
  26. t.end()
  27. })
  28. test("'@org/' is not a valid name", function (t) {
  29. t.throws(function () {
  30. fixNameField({name : "@org/"}, false)
  31. }, "blows up as expected")
  32. t.end()
  33. })
  34. test("'@/package' is not a valid name", function (t) {
  35. t.throws(function () {
  36. fixNameField({name : "@/package"}, false)
  37. }, "blows up as expected")
  38. t.end()
  39. })
  40. test("name='@org/package', bin='bin.js' is bin={package:'bin.js'}", function (t) {
  41. var obj = {name : "@org/package", bin: "bin.js"}
  42. fixBinField(obj)
  43. t.isDeeply(obj.bin, {package: 'bin.js'})
  44. t.end()
  45. })