blob: 93bf1728000a51ccd0ebb620e8df8f92f2a3b676 [file] [log] [blame]
define(['pipe'], function (pipeClass) {
describe('KorAP.Pipe', function () {
it('should be initializable', function () {
let p = pipeClass.create();
expect(p.size()).toEqual(0);
});
it('should be appendable', function () {
let p = pipeClass.create();
expect(p.size()).toEqual(0);
expect(p.toString()).toEqual('');
p.append('service1');
expect(p.size()).toEqual(1);
expect(p.toString()).toEqual('service1');
p.append('service2');
expect(p.size()).toEqual(2);
expect(p.toString()).toEqual('service1,service2');
p.append('');
expect(p.size()).toEqual(2);
expect(p.toString()).toEqual('service1,service2');
});
it('should be prependable', function () {
let p = pipeClass.create();
expect(p.size()).toEqual(0);
expect(p.toString()).toEqual('');
p.prepend('service1');
expect(p.size()).toEqual(1);
expect(p.toString()).toEqual('service1');
p.prepend('service2');
expect(p.size()).toEqual(2);
expect(p.toString()).toEqual('service2,service1');
p.prepend('');
expect(p.size()).toEqual(2);
expect(p.toString()).toEqual('service2,service1');
});
it('should be trimmed', function () {
let p = pipeClass.create();
expect(p.size()).toEqual(0);
expect(p.toString()).toEqual('');
p.prepend(' service1 ');
expect(p.size()).toEqual(1);
expect(p.toString()).toEqual('service1');
p.prepend("\t service2 \t");
expect(p.size()).toEqual(2);
expect(p.toString()).toEqual('service2,service1');
p.append(' ');
expect(p.size()).toEqual(2);
expect(p.toString()).toEqual('service2,service1');
});
it('should be deletable', function () {
let p = pipeClass.create();
p.append('service1');
p.append('service2');
p.append('service3');
expect(p.toString()).toEqual('service1,service2,service3');
p.remove('service2')
expect(p.toString()).toEqual('service1,service3');
p = pipeClass.create();
p.append('service1');
p.append('service2');
p.append('service3');
expect(p.toString()).toEqual('service1,service2,service3');
p.remove('service1')
expect(p.toString()).toEqual('service2,service3');
p = pipeClass.create();
p.append('service1');
p.append('service2');
p.append('service3');
expect(p.toString()).toEqual('service1,service2,service3');
p.remove('service3')
expect(p.toString()).toEqual('service1,service2');
p = pipeClass.create();
p.append('service1');
p.append('service2');
p.append('service3');
expect(p.toString()).toEqual('service1,service2,service3');
p.remove('service0')
expect(p.toString()).toEqual('service1,service2,service3');
});
it('should sync with an element', function () {
let p = pipeClass.create();
let e = p.element();
expect(e.tagName).toEqual("INPUT");
expect(e.getAttribute("type")).toEqual("text");
p.append('service1');
expect(e.getAttribute("value")).toEqual("service1");
p.append('service2');
expect(e.getAttribute("value")).toEqual("service1,service2");
p.remove('service1');
expect(e.getAttribute("value")).toEqual("service2");
});
});
});