knockout/knockout — pull request #1207 by mbest (2013-11-22 00:44:17+00:00)
Title: "arrayChange" event for splice assumes all added items are new

Given

```
var a = ko.observableArray([2,1]);
a.splice(0, 3, 1, 2);
```

The expected output should be something like this (the output of the `compareArrays` function):

```
[
{status:"deleted", value:2, index:0, moved:1},
{status:"added", value:2, index:1, moved:0}
]
```

Instead, it's this:

```
[
{status:"deleted", value:2, index:0},
{status:"added", value:1, index:0},
{status:"deleted", value:1, index:1},
{status:"added", value:2, index:1}
]
```

http://jsfiddle.net/mbest/uWQyF/