diff --git a/lib/eventsource.js b/lib/eventsource.js index 160b0b0..082656f 100644 --- a/lib/eventsource.js +++ b/lib/eventsource.js @@ -298,6 +298,10 @@ Object.defineProperty(EventSource, 'CONNECTING', {enumerable: true, value: 0}) Object.defineProperty(EventSource, 'OPEN', {enumerable: true, value: 1}) Object.defineProperty(EventSource, 'CLOSED', {enumerable: true, value: 2}) +EventSource.prototype.CONNECTING = 0 +EventSource.prototype.OPEN = 1 +EventSource.prototype.CLOSED = 2 + /** * Emulates the W3C Browser based WebSocket interface using addEventListener. * diff --git a/test/eventsource_test.js b/test/eventsource_test.js index 36aa3ea..2c25a4d 100644 --- a/test/eventsource_test.js +++ b/test/eventsource_test.js @@ -762,6 +762,18 @@ describe('readyState', function () { assert.equal(2, EventSource.CLOSED) }) + it('has readystate constants on instances', function (done) { + var es = new EventSource('http://localhost:' + _port) + assert.equal(EventSource.CONNECTING, es.CONNECTING, 'constant CONNECTING missing/invalid') + assert.equal(EventSource.OPEN, es.OPEN, 'constant OPEN missing/invalid') + assert.equal(EventSource.CLOSED, es.CLOSED, 'constant CLOSED missing/invalid') + + es.onerror = function () { + es.close() + done() + } + }) + it('is CONNECTING before connection has been established', function (done) { var es = new EventSource('http://localhost:' + _port) assert.equal(EventSource.CONNECTING, es.readyState)