58 lines
1.2 KiB
JavaScript
58 lines
1.2 KiB
JavaScript
"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();
|
|
});
|