index.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. var test = require("tape")
  2. var Result = require("rust-result")
  3. var safeParse = require("../callback")
  4. var safeParseTuple = require("../tuple")
  5. var safeParseResult = require("../result")
  6. test("safeParse is a function", function (assert) {
  7. assert.equal(typeof safeParse, "function")
  8. assert.end()
  9. })
  10. test("safeParse valid json", function (assert) {
  11. safeParse("{ \"foo\": true }", function (err, json) {
  12. assert.ifError(err)
  13. assert.equal(json.foo, true)
  14. assert.end()
  15. })
  16. })
  17. test("safeParse faulty", function (assert) {
  18. safeParse("WRONG", function (err) {
  19. assert.ok(err)
  20. assert.equal(err.message, "Unexpected token W")
  21. assert.end()
  22. })
  23. })
  24. test("safeParseTuple valid json", function (assert) {
  25. var t = safeParseTuple("{ \"foo\": true }")
  26. assert.ifError(t[0])
  27. assert.equal(t[1].foo, true)
  28. assert.end()
  29. })
  30. test("safeParseTuple faulty", function (assert) {
  31. var t = safeParseTuple("WRONG")
  32. assert.ok(t[0])
  33. assert.equal(t[0].message, "Unexpected token W")
  34. assert.end()
  35. })
  36. test("safeParseResult valid json", function (assert) {
  37. var t = safeParseResult("{ \"foo\": true }")
  38. assert.ifError(Result.isErr(t))
  39. assert.equal(Result.Ok(t).foo, true)
  40. assert.end()
  41. })
  42. test("safeParseResult faulty", function (assert) {
  43. var t = safeParseResult("WRONG")
  44. assert.ok(Result.Err(t))
  45. assert.equal(Result.Err(t).message, "Unexpected token W")
  46. assert.end()
  47. })