swank_spec.lua

Branches > main > 72de63b > files / nvim / pack / plugins / opt / conjure / lua / conjure-spec / remote / swank_spec.lua

-- [nfnl] fnl/conjure-spec/remote/swank_spec.fnl
local _local_1_ = require("plenary.busted")
local describe = _local_1_.describe
local it = _local_1_.it
local assert = require("luassert.assert")
local swank = require("conjure.remote.swank")
local function _2_()
  local function _3_()
    local function _4_()
      assert.same({":return", "12"}, {swank["message-id"]("(:return (:ok (\"\" \"(1 2)\")) 12)")})
      return assert.same({":emacs-rex", "3"}, {swank["message-id"]("(:emacs-rex (swank:eval-and-grab-output \"1\") \"*package*\" t 3)")})
    end
    it("reads the kind and id of requests and returns", _4_)
    local function _5_()
      return assert.is_nil(swank["message-id"]("(:debug-activate 42 1 nil)"))
    end
    return it("returns nil for events without an id", _5_)
  end
  describe("message-id", _3_)
  local function _6_()
    local function _7_()
      local msgs, rest = swank["split-messages"]("000003abc000002de00000")
      assert.same({"abc", "de"}, msgs)
      return assert.are.equal("00000", rest)
    end
    it("splits coalesced messages and keeps a partial one for later", _7_)
    local function _8_()
      local msgs, rest = swank["split-messages"]("000005ab")
      assert.same({}, msgs)
      return assert.are.equal("000005ab", rest)
    end
    return it("waits for the rest of a message split across reads", _8_)
  end
  return describe("split-messages", _6_)
end
return describe("conjure.remote.swank", _2_)