| /* |
| * Utilities: A classic collection of JavaScript utilities |
| * Copyright 2112 Matthew Eernisse (mde@fleegix.org) |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| */ |
| |
| var Stream = require('stream').Stream |
| , EventEmitter = require('events').EventEmitter |
| , EventBuffer = require('../lib/event_buffer.js').EventBuffer |
| , assert = require('assert') |
| , tests; |
| |
| tests = { |
| |
| 'test basic event buffer functionality': function () { |
| var source = new Stream() |
| , dest = new EventEmitter() |
| , buff = new EventBuffer(source) |
| , data = ''; |
| dest.on('data', function (d) { data += d; }); |
| source.writeable = true; |
| source.readable = true; |
| source.emit('data', 'abcdef'); |
| source.emit('data', '123456'); |
| buff.sync(dest); |
| assert.equal('abcdef123456', data); |
| source.emit('data', '---'); |
| assert.equal('abcdef123456---', data); |
| } |
| |
| }; |
| |
| module.exports = tests; |