1 |
|
2 | 'use strict'
|
3 | const chokidarEvEmitter = require('../server')
|
4 |
|
5 | const fs = require('fs')
|
6 | const chai = require('chai')
|
7 | const expect = chai.expect
|
8 |
|
9 | describe('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 | })
|