shelljs/test/global.js
Nate Fischer 6739aed69e refactor(string): modify string protoype, but only for shelljs/global
`require('shelljs/global')` extends String.prototype to have the `.to()` and
`.toEnd()` methods again. This also adds tests for the global require.
2016-03-18 17:05:14 -07:00

42 lines
841 B
JavaScript

/* globals cat, config, cp, env, error, exit, mkdir, rm */
require('../global');
var assert = require('assert');
var fs = require('fs');
config.silent = true;
rm('-rf', 'tmp');
mkdir('tmp');
//
// Valids
//
assert.equal(process.env, env);
// cat
var result = cat('resources/cat/file1');
assert.equal(error(), null);
assert.equal(result.code, 0);
assert.equal(result, 'test1\n');
// rm
cp('-f', 'resources/file1', 'tmp/file1');
assert.equal(fs.existsSync('tmp/file1'), true);
result = rm('tmp/file1');
assert.equal(error(), null);
assert.equal(result.code, 0);
assert.equal(fs.existsSync('tmp/file1'), false);
// String.prototype is modified for global require
'foo'.to('tmp/testfile.txt');
assert.equal('foo', cat('tmp/testfile.txt'));
'bar'.toEnd('tmp/testfile.txt');
assert.equal('foobar', cat('tmp/testfile.txt'));
exit(123);