summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2017-11-28 16:51:37 +0000
committerPhil Hughes <me@iamphill.com>2017-11-28 16:51:37 +0000
commitd22bb0397b04f2870c6fbbeb2912ef6627e4afb7 (patch)
tree4ac97a97232823b10029e59b4ff124299978a062
parent5fceb8d1ecb8b3b682ad0cc73a26b99068864f3f (diff)
downloadgitlab-ce-d22bb0397b04f2870c6fbbeb2912ef6627e4afb7.tar.gz
fixed failing specs
-rw-r--r--app/assets/javascripts/repo/components/repo_editor.vue13
-rw-r--r--package.json6
-rw-r--r--spec/javascripts/repo/components/repo_editor_spec.js10
3 files changed, 19 insertions, 10 deletions
diff --git a/app/assets/javascripts/repo/components/repo_editor.vue b/app/assets/javascripts/repo/components/repo_editor.vue
index f0fc0031e35..f37cbd1e961 100644
--- a/app/assets/javascripts/repo/components/repo_editor.vue
+++ b/app/assets/javascripts/repo/components/repo_editor.vue
@@ -6,11 +6,11 @@ import monacoLoader from '../monaco_loader';
import Editor from '../lib/editor';
export default {
- destroyed() {
+ beforeDestroy() {
this.editor.dispose();
},
mounted() {
- if (this.monaco) {
+ if (this.editor && monaco) {
this.initMonaco();
} else {
monacoLoader(['vs/editor/editor.main'], () => {
@@ -32,7 +32,7 @@ export default {
this.getRawFileData(this.activeFile)
.then(() => {
- this.editor.createInstance(this.$el);
+ this.editor.createInstance(this.$refs.editor);
})
.then(() => this.setupEditor())
.catch(() => flash('Error setting up monaco. Please try again.'));
@@ -76,9 +76,14 @@ export default {
class="blob-viewer-container blob-editor-container"
>
<div
- v-if="shouldHideEditor"
+ v-show="shouldHideEditor"
v-html="activeFile.html"
>
</div>
+ <div
+ v-show="!shouldHideEditor"
+ ref="editor"
+ >
+ </div>
</div>
</template>
diff --git a/package.json b/package.json
index 8f06ffc1b6d..3c860d5e486 100644
--- a/package.json
+++ b/package.json
@@ -75,7 +75,8 @@
"vuex": "^3.0.1",
"webpack": "^3.5.5",
"webpack-bundle-analyzer": "^2.8.2",
- "webpack-stats-plugin": "^0.1.5"
+ "webpack-stats-plugin": "^0.1.5",
+ "worker-loader": "^1.1.0"
},
"devDependencies": {
"@gitlab-org/gitlab-svgs": "^1.1.1",
@@ -98,7 +99,6 @@
"karma-sourcemap-loader": "^0.3.7",
"karma-webpack": "^2.0.4",
"nodemon": "^1.11.0",
- "webpack-dev-server": "^2.6.1",
- "worker-loader": "^1.1.0"
+ "webpack-dev-server": "^2.6.1"
}
}
diff --git a/spec/javascripts/repo/components/repo_editor_spec.js b/spec/javascripts/repo/components/repo_editor_spec.js
index 979d2185076..81158cad639 100644
--- a/spec/javascripts/repo/components/repo_editor_spec.js
+++ b/spec/javascripts/repo/components/repo_editor_spec.js
@@ -1,12 +1,13 @@
import Vue from 'vue';
import store from '~/repo/stores';
import repoEditor from '~/repo/components/repo_editor.vue';
+import monacoLoader from '~/repo/monaco_loader';
import { file, resetStore } from '../helpers';
describe('RepoEditor', () => {
let vm;
- beforeEach(() => {
+ beforeEach((done) => {
const f = file();
const RepoEditor = Vue.extend(repoEditor);
@@ -21,6 +22,10 @@ describe('RepoEditor', () => {
vm.monaco = true;
vm.$mount();
+
+ monacoLoader(['vs/editor/editor.main'], () => {
+ setTimeout(done, 0);
+ });
});
afterEach(() => {
@@ -32,7 +37,6 @@ describe('RepoEditor', () => {
it('renders an ide container', (done) => {
Vue.nextTick(() => {
expect(vm.shouldHideEditor).toBeFalsy();
- expect(vm.$el.textContent.trim()).toBe('');
done();
});
@@ -50,7 +54,7 @@ describe('RepoEditor', () => {
});
it('shows activeFile html', () => {
- expect(vm.$el.textContent.trim()).toBe('testing');
+ expect(vm.$el.textContent).toContain('testing');
});
});
});