         stream = Bacon.fromCallback(src, "lol")
       ["lol"])
   it "supports partial application with Observable arguments", ->
-    testLiftCallback(
+    testLiftedCallback(
       (values..., callback) -> callback(values)
       Bacon.fromCallback
     )

      -> Bacon.interval(t(1), "x").take(3)
      ["x", "x", "x"])

testLiftCallback = (src, generator) ->
  inputs = {
    a: Bacon.constant('a')
    b: Bacon.constant('b').toProperty()
    x: 'x'
    y: 'y'
  }
  outputs = {a: 'a', b: 'b', x: 'x', y: 'y'}
  cases = [
    [],
    ['a', 'b'], ['a', 'x', 'b']
    ['x', 'y'], ['x', 'a', 'y']
  ]
  for testCase in cases
    do (testCase) ->
      input = (inputs[item] for item in testCase)
      output = (outputs[item] for item in testCase)
      expectStreamEvents(
        -> generator(src, input...)
        [output]
      )

describe "Bacon.fromCallback", ->
  it "makes an EventStream from function that takes a callback", ->

        stream = Bacon.fromNodeCallback(src, "lol")
      ["lol"])
  it "supports partial application with Observable arguments", ->
    testLiftedCallback(
      (values..., callback) -> callback(null, values)
      Bacon.fromNodeCallback
    )
