@rxx/worker
Version:
React MVI micro framework.
90 lines • 7.39 kB
JavaScript
;
/**
* The MIT License (MIT)
* Copyright (c) Taketoshi Aono
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* @fileoverview
* @author Taketoshi Aono
*/
Object.defineProperty(exports, "__esModule", { value: true });
var chai_1 = require("chai");
var rxjs_1 = require("rxjs");
var operators_1 = require("rxjs/operators");
var combine_template_1 = require("../combine-template");
var Dummy = /** @class */ (function () {
function Dummy() {
}
return Dummy;
}());
function createObject(aValue, bValue) {
return {
aValue: aValue,
bWrapper: {
bValue: bValue,
},
cWrapper: {
cValue: 'ordinal-value',
dWrapper: {
eWrapper: {
eValue: new Dummy(),
'f-value': 1,
},
},
},
};
}
describe('combineTemplate', function () {
var subscription;
beforeEach(function () {
subscription = new rxjs_1.Subscription();
});
afterEach(function () { return subscription.unsubscribe(); });
it('should convert observable obeject to ordinal object', function (done) {
var aValue = new rxjs_1.Subject();
var bValue = new rxjs_1.Subject();
var BUFFER_COUNT = 4;
var values = createObject(aValue.pipe(operators_1.startWith('')), bValue.pipe(operators_1.startWith('')));
subscription.add(combine_template_1.combineTemplate(values)
.pipe(operators_1.bufferCount(BUFFER_COUNT))
.subscribe(function (v) {
/*tslint:disable:no-magic-numbers*/
chai_1.expect(v[0]).to.be.deep.eq(createObject('', ''));
chai_1.expect(v[1]).to.be.deep.eq(createObject('200', ''));
chai_1.expect(v[2]).to.be.deep.eq(createObject('200', '300'));
chai_1.expect(v[3]).to.be.deep.eq(createObject('OK', '300'));
/*tslint:enable:no-magic-numbers*/
done();
}));
aValue.next('200');
bValue.next('300');
aValue.next('OK');
});
it('should has default value.', function (done) {
var aValue = new rxjs_1.Subject();
var bValue = new rxjs_1.Subject();
var values = createObject(aValue, bValue);
subscription.add(combine_template_1.combineTemplate(values).subscribe(function (v) {
chai_1.expect(v).to.be.deep.eq(createObject(null, null));
done();
}));
});
it('should return base object if observable is not contained.', function (done) {
var ORDINAL = { test: 1, test2: { test: 1 } };
subscription.add(combine_template_1.combineTemplate(ORDINAL).subscribe(function (v) {
chai_1.expect(v).to.be.deep.eq(ORDINAL);
done();
}));
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZS10ZW1wbGF0ZS5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL29ic2VydmFibGUvX190ZXN0c19fL2NvbWJpbmUtdGVtcGxhdGUuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHOztBQUVILDZCQUE4QjtBQUM5Qiw2QkFBNkM7QUFDN0MsNENBQXdEO0FBQ3hELHdEQUFzRDtBQUV0RDtJQUFBO0lBQWEsQ0FBQztJQUFELFlBQUM7QUFBRCxDQUFDLEFBQWQsSUFBYztBQUVkLFNBQVMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNO0lBQ2xDLE9BQU87UUFDTCxNQUFNLFFBQUE7UUFDTixRQUFRLEVBQUU7WUFDUixNQUFNLFFBQUE7U0FDUDtRQUNELFFBQVEsRUFBRTtZQUNSLE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLFFBQVEsRUFBRTtnQkFDUixRQUFRLEVBQUU7b0JBQ1IsTUFBTSxFQUFFLElBQUksS0FBSyxFQUFFO29CQUNuQixTQUFTLEVBQUUsQ0FBQztpQkFDYjthQUNGO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELFFBQVEsQ0FBQyxpQkFBaUIsRUFBRTtJQUMxQixJQUFJLFlBQTBCLENBQUM7SUFFL0IsVUFBVSxDQUFDO1FBQ1QsWUFBWSxHQUFHLElBQUksbUJBQVksRUFBRSxDQUFDO0lBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBRUgsU0FBUyxDQUFDLGNBQU0sT0FBQSxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQTFCLENBQTBCLENBQUMsQ0FBQztJQUU1QyxFQUFFLENBQUMscURBQXFELEVBQUUsVUFBQSxJQUFJO1FBQzVELElBQU0sTUFBTSxHQUFHLElBQUksY0FBTyxFQUFFLENBQUM7UUFDN0IsSUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFPLEVBQUUsQ0FBQztRQUM3QixJQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7UUFFdkIsSUFBTSxNQUFN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