abortcontroller-polyfill
Advanced tools
Comparing version 1.0.5 to 1.0.6
@@ -44,2 +44,9 @@ 'use strict'; | ||
_createClass(AbortSignal, [{ | ||
key: 'toString', | ||
value: function toString() { | ||
return '[object AbortSignal]'; | ||
} | ||
}]); | ||
return AbortSignal; | ||
@@ -61,2 +68,7 @@ }(Emitter); | ||
} | ||
}, { | ||
key: 'toString', | ||
value: function toString() { | ||
return '[object AbortController]'; | ||
} | ||
}]); | ||
@@ -67,2 +79,9 @@ | ||
if (typeof Symbol !== 'undefined' && Symbol.toStringTag) { | ||
// These are necessary to make sure that we get correct output for: | ||
// Object.prototype.toString.call(new AbortController()) | ||
AbortController.prototype[Symbol.toStringTag] = 'AbortController'; | ||
AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal'; | ||
} | ||
var realFetch = fetch; | ||
@@ -96,2 +115,3 @@ var abortableFetch = function abortableFetch(input, init) { | ||
self.AbortController = AbortController; | ||
self.AbortSignal = AbortSignal; | ||
})(typeof self !== 'undefined' ? self : undefined); |
{ | ||
"name": "abortcontroller-polyfill", | ||
"version": "1.0.5", | ||
"version": "1.0.6", | ||
"description": "Browser polyfill for the AbortController DOM API (stub that calls catch, doesn't actually abort request).", | ||
@@ -12,3 +12,4 @@ "main": "dist/abortcontroller.js", | ||
"test-inspect-brk": "E2E_WDIO_EXEC_ARGV=--inspect-brk npm run test-chrome", | ||
"test-verbose": "SELENIUM_BROWSER=chrome E2E_LOG_LEVEL=verbose wdio wdio.conf.js" | ||
"test-verbose": "SELENIUM_BROWSER=chrome E2E_LOG_LEVEL=verbose wdio wdio.conf.js", | ||
"eslint": "eslint ." | ||
}, | ||
@@ -27,2 +28,3 @@ "babel": { | ||
"babel-preset-latest": "^6.24.1", | ||
"eslint": "^4.5.0", | ||
"wdio-jasmine-framework": "^0.3.1", | ||
@@ -29,0 +31,0 @@ "wdio-selenium-standalone-service": "0.0.9", |
@@ -24,2 +24,5 @@ (function(self) { | ||
} | ||
toString() { | ||
return '[object AbortSignal]'; | ||
} | ||
} | ||
@@ -35,4 +38,14 @@ | ||
} | ||
toString() { | ||
return '[object AbortController]'; | ||
} | ||
} | ||
if (typeof Symbol !== 'undefined' && Symbol.toStringTag) { | ||
// These are necessary to make sure that we get correct output for: | ||
// Object.prototype.toString.call(new AbortController()) | ||
AbortController.prototype[Symbol.toStringTag] = 'AbortController'; | ||
AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal'; | ||
} | ||
const realFetch = fetch; | ||
@@ -64,3 +77,4 @@ const abortableFetch = (input, init) => { | ||
self.AbortController = AbortController; | ||
self.AbortSignal = AbortSignal; | ||
})(typeof self !== 'undefined' ? self : this); |
@@ -9,3 +9,3 @@ const chalk = require('chalk'); | ||
browser.url('file://' + path.join(__dirname, 'testpage.html')); | ||
var res = browser.executeAsync(async (done) => { | ||
const res = browser.executeAsync(async (done) => { | ||
setTimeout(() => { | ||
@@ -32,3 +32,3 @@ done({name: 'fail'}); | ||
browser.url('file://' + path.join(__dirname, 'testpage.html')); | ||
var res = browser.executeAsync(async (done) => { | ||
const res = browser.executeAsync(async (done) => { | ||
setTimeout(() => { | ||
@@ -79,3 +79,3 @@ done({name: 'fail'}); | ||
browser.url('file://' + path.join(__dirname, 'testpage.html')); | ||
var res = browser.executeAsync(async (done) => { | ||
const res = browser.executeAsync(async (done) => { | ||
setTimeout(() => { | ||
@@ -99,3 +99,3 @@ done({name: 'fail'}); | ||
browser.url('file://' + path.join(__dirname, 'testpage.html')); | ||
var res = browser.executeAsync(async (done) => { | ||
const res = browser.executeAsync(async (done) => { | ||
setTimeout(() => { | ||
@@ -115,2 +115,66 @@ done({name: 'fail'}); | ||
it('event listener fires "abort" event', () => { | ||
browser.url('file://' + path.join(__dirname, 'testpage.html')); | ||
const res = browser.executeAsync(async (done) => { | ||
setTimeout(() => { | ||
done({name: 'fail'}); | ||
}, 2000); | ||
const controller = new AbortController(); | ||
controller.signal.addEventListener('abort', () => { | ||
done('PASS'); | ||
}); | ||
controller.abort(); | ||
}); | ||
expect(res.value).toBe('PASS'); | ||
expect(getJSErrors().length).toBe(0); | ||
}); | ||
it('event listener doesn\'t fire "abort" event after removeEventListener', () => { | ||
browser.url('file://' + path.join(__dirname, 'testpage.html')); | ||
const res = browser.executeAsync(async (done) => { | ||
setTimeout(() => { | ||
done('PASS'); | ||
}, 200); | ||
const controller = new AbortController(); | ||
const handlerFunc = () => { | ||
done('FAIL'); | ||
}; | ||
controller.signal.addEventListener('abort', handlerFunc); | ||
controller.signal.removeEventListener('abort', handlerFunc); | ||
controller.abort(); | ||
}); | ||
expect(res.value).toBe('PASS'); | ||
expect(getJSErrors().length).toBe(0); | ||
}); | ||
it('toString() output', () => { | ||
browser.url('file://' + path.join(__dirname, 'testpage.html')); | ||
let res; | ||
res = browser.executeAsync((done) => { | ||
done(new AbortController().toString()); | ||
}); | ||
expect(res.value).toBe('[object AbortController]'); | ||
res = browser.executeAsync((done) => { | ||
done(Object.prototype.toString.call(new AbortController())); | ||
}); | ||
expect(res.value).toBe('[object AbortController]'); | ||
res = browser.executeAsync((done) => { | ||
done(new AbortController().signal.toString()); | ||
}); | ||
expect(res.value).toBe('[object AbortSignal]'); | ||
res = browser.executeAsync((done) => { | ||
done(new AbortSignal().toString()); | ||
}); | ||
expect(res.value).toBe('[object AbortSignal]'); | ||
res = browser.executeAsync((done) => { | ||
done(Object.prototype.toString.call(new AbortSignal())); | ||
}); | ||
expect(res.value).toBe('[object AbortSignal]'); | ||
}); | ||
}); | ||
@@ -117,0 +181,0 @@ |
Sorry, the diff of this file is not supported yet
19669
13
385
7