added tests
This commit is contained in:
parent
e53a009629
commit
c65a8a6e3a
3 changed files with 64 additions and 1 deletions
|
@ -21,4 +21,10 @@ describe 'Raw files', '(JavaScript fixtures)', type: :controller do
|
||||||
|
|
||||||
store_frontend_fixture(blob.data, example.description)
|
store_frontend_fixture(blob.data, example.description)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'blob/notebook/math.json' do |example|
|
||||||
|
blob = project.repository.blob_at('93ee732', 'files/ipython/math.ipynb')
|
||||||
|
|
||||||
|
store_frontend_fixture(blob.data, example.description)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import MarkdownComponent from '~/notebook/cells/markdown.vue';
|
import MarkdownComponent from '~/notebook/cells/markdown.vue';
|
||||||
|
import katex from 'vendor/katex';
|
||||||
|
|
||||||
const Component = Vue.extend(MarkdownComponent);
|
const Component = Vue.extend(MarkdownComponent);
|
||||||
|
|
||||||
|
window.katex = katex;
|
||||||
|
|
||||||
describe('Markdown component', () => {
|
describe('Markdown component', () => {
|
||||||
let vm;
|
let vm;
|
||||||
let cell;
|
let cell;
|
||||||
|
@ -38,4 +41,58 @@ describe('Markdown component', () => {
|
||||||
it('renders the markdown HTML', () => {
|
it('renders the markdown HTML', () => {
|
||||||
expect(vm.$el.querySelector('.markdown h1')).not.toBeNull();
|
expect(vm.$el.querySelector('.markdown h1')).not.toBeNull();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('katex', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
json = getJSONFixture('blob/notebook/math.json');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('renders multi-line katex', (done) => {
|
||||||
|
vm = new Component({
|
||||||
|
propsData: {
|
||||||
|
cell: json.cells[0],
|
||||||
|
},
|
||||||
|
}).$mount();
|
||||||
|
|
||||||
|
Vue.nextTick(() => {
|
||||||
|
expect(
|
||||||
|
vm.$el.querySelector('.katex'),
|
||||||
|
).not.toBeNull();
|
||||||
|
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('renders inline katex', (done) => {
|
||||||
|
vm = new Component({
|
||||||
|
propsData: {
|
||||||
|
cell: json.cells[1],
|
||||||
|
},
|
||||||
|
}).$mount();
|
||||||
|
|
||||||
|
Vue.nextTick(() => {
|
||||||
|
expect(
|
||||||
|
vm.$el.querySelector('p:first-child .katex'),
|
||||||
|
).not.toBeNull();
|
||||||
|
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('renders multiple inline katex', (done) => {
|
||||||
|
vm = new Component({
|
||||||
|
propsData: {
|
||||||
|
cell: json.cells[1],
|
||||||
|
},
|
||||||
|
}).$mount();
|
||||||
|
|
||||||
|
Vue.nextTick(() => {
|
||||||
|
expect(
|
||||||
|
vm.$el.querySelectorAll('p:nth-child(2) .katex').length,
|
||||||
|
).toBe(4);
|
||||||
|
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -40,7 +40,7 @@ module TestEnv
|
||||||
'wip' => 'b9238ee',
|
'wip' => 'b9238ee',
|
||||||
'csv' => '3dd0896',
|
'csv' => '3dd0896',
|
||||||
'v1.1.0' => 'b83d6e3',
|
'v1.1.0' => 'b83d6e3',
|
||||||
'add-ipython-files' => '6d85bb6',
|
'add-ipython-files' => '93ee732',
|
||||||
'add-pdf-file' => 'e774ebd'
|
'add-pdf-file' => 'e774ebd'
|
||||||
}.freeze
|
}.freeze
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue