mcollina / bloomrun

A js pattern matcher
MIT License
120 stars 10 forks source link

test: depth indexing preserves insertion order for same pattern #50

Closed gabssnake closed 7 years ago

gabssnake commented 7 years ago

Good morning, this is a small change in behaviour between v2 and v3. Is this something you’re interested in or should I attempt a PR? Have a good week,

// Passes both in v2 and v3
test('support insertion order for same pattern', function (t) {
  t.plan(1)
  var instance = bloomrun()
  var pattern = { group: '123', another: 'value' }
  function payloadOne () { }
  function payloadTwo () { }
  instance.add(pattern, payloadOne)
  instance.add(pattern, payloadTwo)
  t.deepEqual(instance.list({ group: '123', another: 'value' }), [
    payloadOne,
    payloadTwo
  ])
})
// Passes in v2 but fails in v3
test('depth indexing preserves insertion order for same pattern', function (t) {
  t.plan(1)
  var instance = bloomrun({ indexing: 'depth' })
  var pattern = { group: '123', another: 'value' }
  function payloadOne () { }
  function payloadTwo () { }
  instance.add(pattern, payloadOne)
  instance.add(pattern, payloadTwo)
  t.deepEqual(instance.list({ group: '123', another: 'value' }), [
    payloadOne,
    payloadTwo
  ])
})
mcollina commented 7 years ago

@gabssnake if it's feasible, yes, attempt a PR.