remove phantomjs-specific test hacks

This commit is contained in:
Mike Greiling 2017-06-13 00:03:36 -05:00
parent 5c296cce39
commit 037b070653
5 changed files with 10 additions and 50 deletions

View file

@ -1,15 +1,6 @@
import LinkedTabs from '~/lib/utils/bootstrap_linked_tabs'; import LinkedTabs from '~/lib/utils/bootstrap_linked_tabs';
(() => { (() => {
// TODO: remove this hack!
// PhantomJS causes spyOn to panic because replaceState isn't "writable"
let phantomjs;
try {
phantomjs = !Object.getOwnPropertyDescriptor(window.history, 'replaceState').writable;
} catch (err) {
phantomjs = false;
}
describe('Linked Tabs', () => { describe('Linked Tabs', () => {
preloadFixtures('static/linked_tabs.html.raw'); preloadFixtures('static/linked_tabs.html.raw');
@ -19,9 +10,7 @@ import LinkedTabs from '~/lib/utils/bootstrap_linked_tabs';
describe('when is initialized', () => { describe('when is initialized', () => {
beforeEach(() => { beforeEach(() => {
if (!phantomjs) {
spyOn(window.history, 'replaceState').and.callFake(function () {}); spyOn(window.history, 'replaceState').and.callFake(function () {});
}
}); });
it('should activate the tab correspondent to the given action', () => { it('should activate the tab correspondent to the given action', () => {
@ -47,7 +36,7 @@ import LinkedTabs from '~/lib/utils/bootstrap_linked_tabs';
describe('on click', () => { describe('on click', () => {
it('should change the url according to the clicked tab', () => { it('should change the url according to the clicked tab', () => {
const historySpy = !phantomjs && spyOn(history, 'replaceState').and.callFake(() => {}); const historySpy = spyOn(history, 'replaceState').and.callFake(() => {});
const linkedTabs = new LinkedTabs({ const linkedTabs = new LinkedTabs({
action: 'show', action: 'show',

View file

@ -5,15 +5,6 @@ import '~/pager';
import '~/commits'; import '~/commits';
(() => { (() => {
// TODO: remove this hack!
// PhantomJS causes spyOn to panic because replaceState isn't "writable"
let phantomjs;
try {
phantomjs = !Object.getOwnPropertyDescriptor(window.history, 'replaceState').writable;
} catch (err) {
phantomjs = false;
}
describe('Commits List', () => { describe('Commits List', () => {
beforeEach(() => { beforeEach(() => {
setFixtures(` setFixtures(`
@ -61,9 +52,7 @@ import '~/commits';
CommitsList.init(25); CommitsList.init(25);
CommitsList.searchField.val(''); CommitsList.searchField.val('');
if (!phantomjs) {
spyOn(history, 'replaceState').and.stub(); spyOn(history, 'replaceState').and.stub();
}
ajaxSpy = spyOn(jQuery, 'ajax').and.callFake((req) => { ajaxSpy = spyOn(jQuery, 'ajax').and.callFake((req) => {
req.success({ req.success({
data: '<li>Result</li>', data: '<li>Result</li>',

View file

@ -12,15 +12,6 @@ import '~/notes';
import 'vendor/jquery.scrollTo'; import 'vendor/jquery.scrollTo';
(function () { (function () {
// TODO: remove this hack!
// PhantomJS causes spyOn to panic because replaceState isn't "writable"
var phantomjs;
try {
phantomjs = !Object.getOwnPropertyDescriptor(window.history, 'replaceState').writable;
} catch (err) {
phantomjs = false;
}
describe('MergeRequestTabs', function () { describe('MergeRequestTabs', function () {
var stubLocation = {}; var stubLocation = {};
var setLocation = function (stubs) { var setLocation = function (stubs) {
@ -37,11 +28,9 @@ import 'vendor/jquery.scrollTo';
this.class = new gl.MergeRequestTabs({ stubLocation: stubLocation }); this.class = new gl.MergeRequestTabs({ stubLocation: stubLocation });
setLocation(); setLocation();
if (!phantomjs) {
this.spies = { this.spies = {
history: spyOn(window.history, 'replaceState').and.callFake(function () {}) history: spyOn(window.history, 'replaceState').and.callFake(function () {})
}; };
}
}); });
afterEach(function () { afterEach(function () {
@ -208,11 +197,9 @@ import 'vendor/jquery.scrollTo';
pathname: '/foo/bar/merge_requests/1' pathname: '/foo/bar/merge_requests/1'
}); });
newState = this.subject('commits'); newState = this.subject('commits');
if (!phantomjs) {
expect(this.spies.history).toHaveBeenCalledWith({ expect(this.spies.history).toHaveBeenCalledWith({
url: newState url: newState
}, document.title, newState); }, document.title, newState);
}
}); });
it('treats "show" like "notes"', function () { it('treats "show" like "notes"', function () {

View file

@ -95,7 +95,7 @@ describe('Interval Pattern Input Component', function () {
describe('User Actions', function () { describe('User Actions', function () {
beforeEach(function () { beforeEach(function () {
// For an unknown reason, Phantom.js doesn't trigger click events // For an unknown reason, some browsers do not propagate click events
// on radio buttons in a way Vue can register. So, we have to mount // on radio buttons in a way Vue can register. So, we have to mount
// to a fixture. // to a fixture.
setFixtures('<div id="my-mount"></div>'); setFixtures('<div id="my-mount"></div>');

View file

@ -1,10 +1,5 @@
import Pipelines from '~/pipelines'; import Pipelines from '~/pipelines';
// Fix for phantomJS
if (!Element.prototype.matches && Element.prototype.webkitMatchesSelector) {
Element.prototype.matches = Element.prototype.webkitMatchesSelector;
}
describe('Pipelines', () => { describe('Pipelines', () => {
preloadFixtures('static/pipeline_graph.html.raw'); preloadFixtures('static/pipeline_graph.html.raw');