alter-tests.js
1.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
"use strict";
var test = require("tap").test;
var alter = require("../");
test("simple", function(t) {
t.equal(alter("0123456789", [
{start: 1, end: 3, str: "first"},
{start: 5, end: 9, str: "second"},
]), "0first34second9");
t.end();
});
test("not-sorted-order", function(t) {
t.equal(alter("0123456789", [
{start: 5, end: 9, str: "second"},
{start: 1, end: 3, str: "first"},
]), "0first34second9");
t.end();
});
test("insert", function(t) {
t.equal(alter("0123456789", [
{start: 5, end: 5, str: "xyz"},
]), "01234xyz56789");
t.end();
});
test("delete", function(t) {
t.equal(alter("0123456789", [
{start: 5, end: 6, str: ""},
]), "012346789");
t.end();
});
test("nop1", function(t) {
t.equal(alter("0123456789", [
]), "0123456789");
t.end();
});
test("nop2", function(t) {
t.equal(alter("0123456789", [
{start: 5, end: 5, str: ""},
]), "0123456789");
t.end();
});
test("orderedinsert-stable", function(t) {
t.equal(alter("0123456789", [
{start: 5, end: 5, str: "a"},
{start: 5, end: 5, str: "b"},
{start: 5, end: 5, str: "c"},
{start: 5, end: 6, str: "d"},
]), "01234abcd6789");
t.end();
});