Files
vscode/src/vs/base/test/node/stream/stream.test.ts
T
2016-12-19 09:37:10 +01:00

82 lines
2.5 KiB
TypeScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
import assert = require('assert');
import fs = require('fs');
import stream = require('vs/base/node/stream');
suite('Stream', () => {
test('readExactlyByFile - ANSI', function (done: () => void) {
const file = require.toUrl('./fixtures/file.css');
stream.readExactlyByFile(file, 10, (error: Error, buffer: NodeBuffer, count: number) => {
assert.equal(error, null);
assert.equal(count, 10);
assert.equal(buffer.toString(), '/*--------');
done();
});
});
test('readExactlyByFile - empty', function (done: () => void) {
const file = require.toUrl('./fixtures/empty.txt');
stream.readExactlyByFile(file, 10, (error: Error, buffer: NodeBuffer, count: number) => {
assert.equal(error, null);
assert.equal(count, 0);
done();
});
});
test('readExactlyByStream - ANSI', function (done: () => void) {
const file = require.toUrl('./fixtures/file.css');
stream.readExactlyByStream(fs.createReadStream(file), 10, (error: Error, buffer: NodeBuffer, count: number) => {
assert.equal(error, null);
assert.equal(count, 10);
assert.equal(buffer.toString(), '/*--------');
done();
});
});
test('readExactlyByStream - empty', function (done: () => void) {
const file = require.toUrl('./fixtures/empty.txt');
stream.readExactlyByStream(fs.createReadStream(file), 10, (error: Error, buffer: NodeBuffer, count: number) => {
assert.equal(error, null);
assert.equal(count, 0);
done();
});
});
test('readToMatchingString - ANSI', function (done: () => void) {
const file = require.toUrl('./fixtures/file.css');
stream.readToMatchingString(file, '\n', 10, 100, (error: Error, result: string) => {
assert.equal(error, null);
// \r may be present on Windows
assert.equal(result.replace('\r', ''), '/*---------------------------------------------------------------------------------------------');
done();
});
});
test('readToMatchingString - empty', function (done: () => void) {
const file = require.toUrl('./fixtures/empty.txt');
stream.readToMatchingString(file, '\n', 10, 100, (error: Error, result: string) => {
assert.equal(error, null);
assert.equal(result, null);
done();
});
});
});