UNPKG

2.17 kBJavaScriptView Raw
1/*global describe, it, afterEach, after*/
2'use strict'
3const chokidarEvEmitter = require('../server')
4
5const fs = require('fs')
6const chai = require('chai')
7const expect = chai.expect
8
9describe('chokidar-socket-emitter', function () {
10 let chokidarServer
11 this.timeout(3000)
12 it('should fire a change event when file changes', function (done) {
13 chokidarServer = chokidarEvEmitter({port: 7090, path: './test/test-folder', relativeTo: './test'})
14 var socket = require('socket.io-client')('http://localhost:7090')
15 socket.on('change', function (data) {
16 expect(data.path).to.equal('test-folder/labrat.txt')
17 expect(data.absolutePath).to.contain('test-folder/labrat.txt')
18 done()
19 })
20 setTimeout(() => {
21 fs.writeFile('./test/test-folder/labrat.txt', 'test1', (error) => {
22 expect(error).to.equal(null)
23 })
24 }, 300)
25 })
26
27 it('shoud respect baseURL in package.json if no path/relativeTo option is specified', function (done) {
28 chokidarServer = chokidarEvEmitter({port: 7091})
29 var socket = require('socket.io-client')('http://localhost:7091')
30 socket.on('change', function (data) {
31 expect(data.path).to.equal('labrat.txt')
32 done()
33 })
34 setTimeout(() => {
35 fs.writeFile('./test/nested-baseURL/labrat.txt', 'test2', (error) => {
36 expect(error).to.equal(null)
37 })
38 }, 300)
39 })
40
41 it('should expose watcher for manual event subscription', function (done) {
42 chokidarServer = chokidarEvEmitter({port: 7090}, done)
43 })
44
45 it('should respond with package.json when client emits "package.json"', function (done) {
46 chokidarServer = chokidarEvEmitter({port: 7090, path: './test/test-folder', relativeTo: './test'})
47 var socket = require('socket.io-client')('http://localhost:7090')
48 socket.emit('package.json', function (data) {
49 expect(data.name).to.equal('chokidar-socket-emitter')
50 done()
51 })
52 })
53
54 afterEach(function (done) {
55 setTimeout(() => {
56 chokidarServer.close(done)
57 }, 100)
58 })
59
60 after(() => {
61 fs.writeFileSync('./test/test-folder/labrat.txt', '')
62 fs.writeFileSync('./test/nested-baseURL/labrat.txt', '')
63 })
64})