Merge branch '37619-fix-vue-typeerror-not-failing-the-build' into 'master'
Stop "ERROR: TypeError{}" from being logged to the console and fail tests
Closes #37619
See merge request gitlab-org/gitlab-ce!15830
This commit is contained in:
commit
ba5b539548
|
|
@ -123,9 +123,7 @@
|
|||
// we need to do this to prevent noteForm inconsistent content warning
|
||||
// this is something we intentionally do so we need to recover the content
|
||||
this.note.note = noteText;
|
||||
if (this.$refs.noteBody) {
|
||||
this.$refs.noteBody.$refs.noteForm.note = noteText; // TODO: This could be better
|
||||
}
|
||||
this.$refs.noteBody.$refs.noteForm.note = noteText;
|
||||
},
|
||||
},
|
||||
created() {
|
||||
|
|
|
|||
|
|
@ -2,23 +2,12 @@ import Vue from 'vue';
|
|||
import notesApp from '~/notes/components/notes_app.vue';
|
||||
import service from '~/notes/services/notes_service';
|
||||
import * as mockData from '../mock_data';
|
||||
import getSetTimeoutPromise from '../../helpers/set_timeout_promise_helper';
|
||||
|
||||
describe('note_app', () => {
|
||||
let mountComponent;
|
||||
let vm;
|
||||
|
||||
const individualNoteInterceptor = (request, next) => {
|
||||
next(request.respondWith(JSON.stringify(mockData.individualNoteServerResponse), {
|
||||
status: 200,
|
||||
}));
|
||||
};
|
||||
|
||||
const discussionNoteInterceptor = (request, next) => {
|
||||
next(request.respondWith(JSON.stringify(mockData.discussionNoteServerResponse), {
|
||||
status: 200,
|
||||
}));
|
||||
};
|
||||
|
||||
beforeEach(() => {
|
||||
const IssueNotesApp = Vue.extend(notesApp);
|
||||
|
||||
|
|
@ -74,16 +63,16 @@ describe('note_app', () => {
|
|||
|
||||
describe('render', () => {
|
||||
beforeEach(() => {
|
||||
Vue.http.interceptors.push(individualNoteInterceptor);
|
||||
Vue.http.interceptors.push(mockData.individualNoteInterceptor);
|
||||
vm = mountComponent();
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
Vue.http.interceptors = _.without(Vue.http.interceptors, individualNoteInterceptor);
|
||||
Vue.http.interceptors = _.without(Vue.http.interceptors, mockData.individualNoteInterceptor);
|
||||
});
|
||||
|
||||
it('should render list of notes', (done) => {
|
||||
const note = mockData.individualNoteServerResponse[0].notes[0];
|
||||
const note = mockData.INDIVIDUAL_NOTE_RESPONSE_MAP.GET['/gitlab-org/gitlab-ce/issues/26/discussions.json'][0].notes[0];
|
||||
|
||||
setTimeout(() => {
|
||||
expect(
|
||||
|
|
@ -129,13 +118,16 @@ describe('note_app', () => {
|
|||
describe('update note', () => {
|
||||
describe('individual note', () => {
|
||||
beforeEach(() => {
|
||||
Vue.http.interceptors.push(individualNoteInterceptor);
|
||||
spyOn(service, 'updateNote').and.callFake(() => Promise.resolve());
|
||||
Vue.http.interceptors.push(mockData.individualNoteInterceptor);
|
||||
spyOn(service, 'updateNote').and.callThrough();
|
||||
vm = mountComponent();
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
Vue.http.interceptors = _.without(Vue.http.interceptors, individualNoteInterceptor);
|
||||
Vue.http.interceptors = _.without(
|
||||
Vue.http.interceptors,
|
||||
mockData.individualNoteInterceptor,
|
||||
);
|
||||
});
|
||||
|
||||
it('renders edit form', (done) => {
|
||||
|
|
@ -149,28 +141,36 @@ describe('note_app', () => {
|
|||
});
|
||||
|
||||
it('calls the service to update the note', (done) => {
|
||||
setTimeout(() => {
|
||||
vm.$el.querySelector('.js-note-edit').click();
|
||||
Vue.nextTick(() => {
|
||||
getSetTimeoutPromise()
|
||||
.then(() => {
|
||||
vm.$el.querySelector('.js-note-edit').click();
|
||||
})
|
||||
.then(Vue.nextTick)
|
||||
.then(() => {
|
||||
vm.$el.querySelector('.js-vue-issue-note-form').value = 'this is a note';
|
||||
vm.$el.querySelector('.js-vue-issue-save').click();
|
||||
|
||||
expect(service.updateNote).toHaveBeenCalled();
|
||||
done();
|
||||
});
|
||||
}, 0);
|
||||
})
|
||||
// Wait for the requests to finish before destroying
|
||||
.then(Vue.nextTick)
|
||||
.then(done)
|
||||
.catch(done.fail);
|
||||
});
|
||||
});
|
||||
|
||||
describe('dicussion note', () => {
|
||||
beforeEach(() => {
|
||||
Vue.http.interceptors.push(discussionNoteInterceptor);
|
||||
spyOn(service, 'updateNote').and.callFake(() => Promise.resolve());
|
||||
Vue.http.interceptors.push(mockData.discussionNoteInterceptor);
|
||||
spyOn(service, 'updateNote').and.callThrough();
|
||||
vm = mountComponent();
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
Vue.http.interceptors = _.without(Vue.http.interceptors, discussionNoteInterceptor);
|
||||
Vue.http.interceptors = _.without(
|
||||
Vue.http.interceptors,
|
||||
mockData.discussionNoteInterceptor,
|
||||
);
|
||||
});
|
||||
|
||||
it('renders edit form', (done) => {
|
||||
|
|
@ -184,16 +184,21 @@ describe('note_app', () => {
|
|||
});
|
||||
|
||||
it('updates the note and resets the edit form', (done) => {
|
||||
setTimeout(() => {
|
||||
vm.$el.querySelector('.js-note-edit').click();
|
||||
Vue.nextTick(() => {
|
||||
getSetTimeoutPromise()
|
||||
.then(() => {
|
||||
vm.$el.querySelector('.js-note-edit').click();
|
||||
})
|
||||
.then(Vue.nextTick)
|
||||
.then(() => {
|
||||
vm.$el.querySelector('.js-vue-issue-note-form').value = 'this is a note';
|
||||
vm.$el.querySelector('.js-vue-issue-save').click();
|
||||
|
||||
expect(service.updateNote).toHaveBeenCalled();
|
||||
done();
|
||||
});
|
||||
}, 0);
|
||||
})
|
||||
// Wait for the requests to finish before destroying
|
||||
.then(Vue.nextTick)
|
||||
.then(done)
|
||||
.catch(done.fail);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
@ -216,12 +221,12 @@ describe('note_app', () => {
|
|||
|
||||
describe('edit form', () => {
|
||||
beforeEach(() => {
|
||||
Vue.http.interceptors.push(individualNoteInterceptor);
|
||||
Vue.http.interceptors.push(mockData.individualNoteInterceptor);
|
||||
vm = mountComponent();
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
Vue.http.interceptors = _.without(Vue.http.interceptors, individualNoteInterceptor);
|
||||
Vue.http.interceptors = _.without(Vue.http.interceptors, mockData.individualNoteInterceptor);
|
||||
});
|
||||
|
||||
it('should render markdown docs url', (done) => {
|
||||
|
|
|
|||
|
|
@ -312,138 +312,212 @@ export const loggedOutnoteableData = {
|
|||
"preview_note_path": "/gitlab-org/gitlab-ce/preview_markdown?quick_actions_target_id=98&quick_actions_target_type=Issue"
|
||||
}
|
||||
|
||||
export const individualNoteServerResponse = [{
|
||||
"id": "0fb4e0e3f9276e55ff32eb4195add694aece4edd",
|
||||
"reply_id": "0fb4e0e3f9276e55ff32eb4195add694aece4edd",
|
||||
"expanded": true,
|
||||
"notes": [{
|
||||
"id": 1390,
|
||||
"attachment": {
|
||||
"url": null,
|
||||
"filename": null,
|
||||
"image": false
|
||||
},
|
||||
"author": {
|
||||
"id": 1,
|
||||
"name": "Root",
|
||||
"username": "root",
|
||||
"state": "active",
|
||||
"avatar_url": null,
|
||||
"path": "/root"
|
||||
},
|
||||
"created_at": "2017-08-01T17:09:33.762Z",
|
||||
"updated_at": "2017-08-01T17:09:33.762Z",
|
||||
"system": false,
|
||||
"noteable_id": 98,
|
||||
"noteable_type": "Issue",
|
||||
"type": null,
|
||||
"human_access": "Owner",
|
||||
"note": "sdfdsaf",
|
||||
"note_html": "\u003cp dir=\"auto\"\u003esdfdsaf\u003c/p\u003e",
|
||||
"current_user": {
|
||||
"can_edit": true
|
||||
},
|
||||
"discussion_id": "0fb4e0e3f9276e55ff32eb4195add694aece4edd",
|
||||
"emoji_awardable": true,
|
||||
"award_emoji": [{
|
||||
"name": "baseball",
|
||||
"user": {
|
||||
"id": 1,
|
||||
"name": "Root",
|
||||
"username": "root"
|
||||
}
|
||||
}, {
|
||||
"name": "art",
|
||||
"user": {
|
||||
"id": 1,
|
||||
"name": "Root",
|
||||
"username": "root"
|
||||
}
|
||||
export const INDIVIDUAL_NOTE_RESPONSE_MAP = {
|
||||
'GET': {
|
||||
'/gitlab-org/gitlab-ce/issues/26/discussions.json': [{
|
||||
"id": "0fb4e0e3f9276e55ff32eb4195add694aece4edd",
|
||||
"reply_id": "0fb4e0e3f9276e55ff32eb4195add694aece4edd",
|
||||
"expanded": true,
|
||||
"notes": [{
|
||||
"id": 1390,
|
||||
"attachment": {
|
||||
"url": null,
|
||||
"filename": null,
|
||||
"image": false
|
||||
},
|
||||
"author": {
|
||||
"id": 1,
|
||||
"name": "Root",
|
||||
"username": "root",
|
||||
"state": "active",
|
||||
"avatar_url": null,
|
||||
"path": "/root"
|
||||
},
|
||||
"created_at": "2017-08-01T17:09:33.762Z",
|
||||
"updated_at": "2017-08-01T17:09:33.762Z",
|
||||
"system": false,
|
||||
"noteable_id": 98,
|
||||
"noteable_type": "Issue",
|
||||
"type": null,
|
||||
"human_access": "Owner",
|
||||
"note": "sdfdsaf",
|
||||
"note_html": "\u003cp dir=\"auto\"\u003esdfdsaf\u003c/p\u003e",
|
||||
"current_user": {
|
||||
"can_edit": true
|
||||
},
|
||||
"discussion_id": "0fb4e0e3f9276e55ff32eb4195add694aece4edd",
|
||||
"emoji_awardable": true,
|
||||
"award_emoji": [{
|
||||
"name": "baseball",
|
||||
"user": {
|
||||
"id": 1,
|
||||
"name": "Root",
|
||||
"username": "root"
|
||||
}
|
||||
}, {
|
||||
"name": "art",
|
||||
"user": {
|
||||
"id": 1,
|
||||
"name": "Root",
|
||||
"username": "root"
|
||||
}
|
||||
}],
|
||||
"toggle_award_path": "/gitlab-org/gitlab-ce/notes/1390/toggle_award_emoji",
|
||||
"report_abuse_path": "/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F26%23note_1390\u0026user_id=1",
|
||||
"path": "/gitlab-org/gitlab-ce/notes/1390"
|
||||
}],
|
||||
"individual_note": true
|
||||
}, {
|
||||
"id": "70d5c92a4039a36c70100c6691c18c27e4b0a790",
|
||||
"reply_id": "70d5c92a4039a36c70100c6691c18c27e4b0a790",
|
||||
"expanded": true,
|
||||
"notes": [{
|
||||
"id": 1391,
|
||||
"attachment": {
|
||||
"url": null,
|
||||
"filename": null,
|
||||
"image": false
|
||||
},
|
||||
"author": {
|
||||
"id": 1,
|
||||
"name": "Root",
|
||||
"username": "root",
|
||||
"state": "active",
|
||||
"avatar_url": null,
|
||||
"path": "/root"
|
||||
},
|
||||
"created_at": "2017-08-02T10:51:38.685Z",
|
||||
"updated_at": "2017-08-02T10:51:38.685Z",
|
||||
"system": false,
|
||||
"noteable_id": 98,
|
||||
"noteable_type": "Issue",
|
||||
"type": null,
|
||||
"human_access": "Owner",
|
||||
"note": "New note!",
|
||||
"note_html": "\u003cp dir=\"auto\"\u003eNew note!\u003c/p\u003e",
|
||||
"current_user": {
|
||||
"can_edit": true
|
||||
},
|
||||
"discussion_id": "70d5c92a4039a36c70100c6691c18c27e4b0a790",
|
||||
"emoji_awardable": true,
|
||||
"award_emoji": [],
|
||||
"toggle_award_path": "/gitlab-org/gitlab-ce/notes/1391/toggle_award_emoji",
|
||||
"report_abuse_path": "/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F26%23note_1391\u0026user_id=1",
|
||||
"path": "/gitlab-org/gitlab-ce/notes/1391"
|
||||
}],
|
||||
"individual_note": true
|
||||
}],
|
||||
"toggle_award_path": "/gitlab-org/gitlab-ce/notes/1390/toggle_award_emoji",
|
||||
"report_abuse_path": "/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F26%23note_1390\u0026user_id=1",
|
||||
"path": "/gitlab-org/gitlab-ce/notes/1390"
|
||||
}],
|
||||
"individual_note": true
|
||||
}, {
|
||||
"id": "70d5c92a4039a36c70100c6691c18c27e4b0a790",
|
||||
"reply_id": "70d5c92a4039a36c70100c6691c18c27e4b0a790",
|
||||
"expanded": true,
|
||||
"notes": [{
|
||||
"id": 1391,
|
||||
"attachment": {
|
||||
"url": null,
|
||||
"filename": null,
|
||||
"image": false
|
||||
'/gitlab-org/gitlab-ce/noteable/issue/98/notes': {
|
||||
last_fetched_at: 1512900838,
|
||||
notes: [],
|
||||
},
|
||||
"author": {
|
||||
"id": 1,
|
||||
"name": "Root",
|
||||
"username": "root",
|
||||
"state": "active",
|
||||
"avatar_url": null,
|
||||
"path": "/root"
|
||||
},
|
||||
'PUT': {
|
||||
'/gitlab-org/gitlab-ce/notes/1471': {
|
||||
"commands_changes": null,
|
||||
"valid": true,
|
||||
"id": 1471,
|
||||
"attachment": null,
|
||||
"author": {
|
||||
"id": 1,
|
||||
"name": "Root",
|
||||
"username": "root",
|
||||
"state": "active",
|
||||
"avatar_url": null,
|
||||
"path": "/root"
|
||||
},
|
||||
"created_at": "2017-08-08T16:53:00.666Z",
|
||||
"updated_at": "2017-12-10T11:03:21.876Z",
|
||||
"system": false,
|
||||
"noteable_id": 124,
|
||||
"noteable_type": "Issue",
|
||||
"noteable_iid": 29,
|
||||
"type": "DiscussionNote",
|
||||
"human_access": "Owner",
|
||||
"note": "Adding a comment",
|
||||
"note_html": "\u003cp dir=\"auto\"\u003eAdding a comment\u003c/p\u003e",
|
||||
"last_edited_at": "2017-12-10T11:03:21.876Z",
|
||||
"last_edited_by": {
|
||||
"id": 1,
|
||||
"name": 'Root',
|
||||
"username": 'root',
|
||||
"state": 'active',
|
||||
"avatar_url": null,
|
||||
"path": '/root',
|
||||
},
|
||||
"current_user": {
|
||||
"can_edit": true
|
||||
},
|
||||
"discussion_id": "a3ed36e29b1957efb3b68c53e2d7a2b24b1df052",
|
||||
"emoji_awardable": true,
|
||||
"award_emoji": [],
|
||||
"toggle_award_path": "/gitlab-org/gitlab-ce/notes/1471/toggle_award_emoji",
|
||||
"report_abuse_path": "/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F29%23note_1471\u0026user_id=1",
|
||||
"path": "/gitlab-org/gitlab-ce/notes/1471"
|
||||
},
|
||||
"created_at": "2017-08-02T10:51:38.685Z",
|
||||
"updated_at": "2017-08-02T10:51:38.685Z",
|
||||
"system": false,
|
||||
"noteable_id": 98,
|
||||
"noteable_type": "Issue",
|
||||
"type": null,
|
||||
"human_access": "Owner",
|
||||
"note": "New note!",
|
||||
"note_html": "\u003cp dir=\"auto\"\u003eNew note!\u003c/p\u003e",
|
||||
"current_user": {
|
||||
"can_edit": true
|
||||
},
|
||||
"discussion_id": "70d5c92a4039a36c70100c6691c18c27e4b0a790",
|
||||
"emoji_awardable": true,
|
||||
"award_emoji": [],
|
||||
"toggle_award_path": "/gitlab-org/gitlab-ce/notes/1391/toggle_award_emoji",
|
||||
"report_abuse_path": "/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F26%23note_1391\u0026user_id=1",
|
||||
"path": "/gitlab-org/gitlab-ce/notes/1391"
|
||||
}],
|
||||
"individual_note": true
|
||||
}];
|
||||
}
|
||||
};
|
||||
|
||||
export const discussionNoteServerResponse = [{
|
||||
"id": "a3ed36e29b1957efb3b68c53e2d7a2b24b1df052",
|
||||
"reply_id": "a3ed36e29b1957efb3b68c53e2d7a2b24b1df052",
|
||||
"expanded": true,
|
||||
"notes": [{
|
||||
"id": 1471,
|
||||
"attachment": {
|
||||
"url": null,
|
||||
"filename": null,
|
||||
"image": false
|
||||
},
|
||||
"author": {
|
||||
"id": 1,
|
||||
"name": "Root",
|
||||
"username": "root",
|
||||
"state": "active",
|
||||
"avatar_url": null,
|
||||
"path": "/root"
|
||||
},
|
||||
"created_at": "2017-08-08T16:53:00.666Z",
|
||||
"updated_at": "2017-08-08T16:53:00.666Z",
|
||||
"system": false,
|
||||
"noteable_id": 124,
|
||||
"noteable_type": "Issue",
|
||||
"noteable_iid": 29,
|
||||
"type": "DiscussionNote",
|
||||
"human_access": "Owner",
|
||||
"note": "Adding a comment",
|
||||
"note_html": "\u003cp dir=\"auto\"\u003eAdding a comment\u003c/p\u003e",
|
||||
"current_user": {
|
||||
"can_edit": true
|
||||
},
|
||||
"discussion_id": "a3ed36e29b1957efb3b68c53e2d7a2b24b1df052",
|
||||
"emoji_awardable": true,
|
||||
"award_emoji": [],
|
||||
"toggle_award_path": "/gitlab-org/gitlab-ce/notes/1471/toggle_award_emoji",
|
||||
"report_abuse_path": "/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F29%23note_1471\u0026user_id=1",
|
||||
"path": "/gitlab-org/gitlab-ce/notes/1471"
|
||||
}],
|
||||
"individual_note": false
|
||||
}];
|
||||
export const DISCUSSION_NOTE_RESPONSE_MAP = {
|
||||
...INDIVIDUAL_NOTE_RESPONSE_MAP,
|
||||
'GET': {
|
||||
...INDIVIDUAL_NOTE_RESPONSE_MAP.GET,
|
||||
'/gitlab-org/gitlab-ce/issues/26/discussions.json': [{
|
||||
"id": "a3ed36e29b1957efb3b68c53e2d7a2b24b1df052",
|
||||
"reply_id": "a3ed36e29b1957efb3b68c53e2d7a2b24b1df052",
|
||||
"expanded": true,
|
||||
"notes": [{
|
||||
"id": 1471,
|
||||
"attachment": {
|
||||
"url": null,
|
||||
"filename": null,
|
||||
"image": false
|
||||
},
|
||||
"author": {
|
||||
"id": 1,
|
||||
"name": "Root",
|
||||
"username": "root",
|
||||
"state": "active",
|
||||
"avatar_url": null,
|
||||
"path": "/root"
|
||||
},
|
||||
"created_at": "2017-08-08T16:53:00.666Z",
|
||||
"updated_at": "2017-08-08T16:53:00.666Z",
|
||||
"system": false,
|
||||
"noteable_id": 124,
|
||||
"noteable_type": "Issue",
|
||||
"noteable_iid": 29,
|
||||
"type": "DiscussionNote",
|
||||
"human_access": "Owner",
|
||||
"note": "Adding a comment",
|
||||
"note_html": "\u003cp dir=\"auto\"\u003eAdding a comment\u003c/p\u003e",
|
||||
"current_user": {
|
||||
"can_edit": true
|
||||
},
|
||||
"discussion_id": "a3ed36e29b1957efb3b68c53e2d7a2b24b1df052",
|
||||
"emoji_awardable": true,
|
||||
"award_emoji": [],
|
||||
"toggle_award_path": "/gitlab-org/gitlab-ce/notes/1471/toggle_award_emoji",
|
||||
"report_abuse_path": "/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F29%23note_1471\u0026user_id=1",
|
||||
"path": "/gitlab-org/gitlab-ce/notes/1471"
|
||||
}],
|
||||
"individual_note": false
|
||||
}],
|
||||
},
|
||||
};
|
||||
|
||||
export function individualNoteInterceptor(request, next) {
|
||||
const body = INDIVIDUAL_NOTE_RESPONSE_MAP[request.method.toUpperCase()][request.url];
|
||||
|
||||
next(request.respondWith(JSON.stringify(body), {
|
||||
status: 200,
|
||||
}));
|
||||
}
|
||||
|
||||
export function discussionNoteInterceptor(request, next) {
|
||||
const body = DISCUSSION_NOTE_RESPONSE_MAP[request.method.toUpperCase()][request.url];
|
||||
|
||||
next(request.respondWith(JSON.stringify(body), {
|
||||
status: 200,
|
||||
}));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,12 @@ Vue.config.warnHandler = (msg, vm, trace) => {
|
|||
fail(`${msg}${trace}`);
|
||||
};
|
||||
|
||||
let hasVueErrors = false;
|
||||
Vue.config.errorHandler = function (err) {
|
||||
hasVueErrors = true;
|
||||
fail(err);
|
||||
};
|
||||
|
||||
Vue.use(VueResource);
|
||||
|
||||
// enable test fixtures
|
||||
|
|
@ -72,7 +78,7 @@ testsContext.keys().forEach(function (path) {
|
|||
|
||||
describe('test errors', () => {
|
||||
beforeAll((done) => {
|
||||
if (hasUnhandledPromiseRejections || hasVueWarnings) {
|
||||
if (hasUnhandledPromiseRejections || hasVueWarnings || hasVueErrors) {
|
||||
setTimeout(done, 1000);
|
||||
} else {
|
||||
done();
|
||||
|
|
@ -86,6 +92,10 @@ describe('test errors', () => {
|
|||
it('has no Vue warnings', () => {
|
||||
expect(hasVueWarnings).toBe(false);
|
||||
});
|
||||
|
||||
it('has no Vue error', () => {
|
||||
expect(hasVueErrors).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
// if we're generating coverage reports, make sure to include all files so
|
||||
|
|
|
|||
Loading…
Reference in New Issue