MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //home/cafsindia/snap.cafsinfotech.in/node_modules/concat/test/test.js
const concat = require('../index')
const assert = require('assert');
const read = require('fs').readFileSync;
const exec = require('child_process').execSync;

const err = err => console.log(err)

describe('Concatenate', () => {
  it('empty files', done => {
    concat([__dirname + "/empty", __dirname + "/empty"]).then(f => {
      assert.equal(f, '\n')
      done()
    }).catch(err)
  })

  it('simple concatenation', done => {
    concat([__dirname + "/simple1", __dirname + "/simple2"]).then(f => {
      assert.equal(f, '1\n\n2\n')
      done()
    }).catch(err)
  })

  it('multiple files concatenation', done => {
    concat([
      __dirname + "/simple1",
      __dirname + "/simple2",
      __dirname + "/simple1",
      __dirname + "/simple2",
      __dirname + "/simple1",
      __dirname + "/simple2",
      __dirname + "/simple1",
      __dirname + "/simple2"
    ]).then(f => {
      assert.equal(f, '1\n\n2\n\n1\n\n2\n\n1\n\n2\n\n1\n\n2\n')
      done()
    }).catch(err)
  })

  it('should concatenate folder', done => {
    concat(__dirname + "/folder").then(f => {
      assert.equal(f.trim(), 'function A() {};\n\nfunction B() {};')
      done()
    }).catch(err)
  })
})

describe('cli', () => {
  it('should write to output when no file specified', () => {
    assert.equal(exec(`node ./bin/concat ${__dirname + '/simple1'} ${__dirname + '/simple2'}`).toString(), '1\n\n2\n\n')
  })

  it('should write to file', () => {
    assert.equal(exec(`node ./bin/concat -o ${__dirname + '/test'} ${__dirname + '/simple1'} ${__dirname + '/simple2'} && cat ${__dirname + '/test'}`).toString(), '1\n\n2\n')
  })
})