# frozen_string_literal: true require 'spec_helper' RSpec.describe 'Math rendering', :js do let!(:project) { create(:project, :public) } it 'renders inline and display math correctly' do description = <<~MATH This math is inline $`a^2+b^2=c^2`$. This is on a separate line ```math a^2+b^2=c^2 ``` MATH issue = create(:issue, project: project, description: description) visit project_issue_path(project, issue) expect(page).to have_selector('.katex .mord.mathdefault', text: 'b') expect(page).to have_selector('.katex-display .mord.mathdefault', text: 'b') end it 'only renders non XSS links' do description = <<~MATH This link is valid $`\\href{javascript:alert('xss');}{xss}`$. This link is valid $`\\href{https://gitlab.com}{Gitlab}`$. MATH issue = create(:issue, project: project, description: description) visit project_issue_path(project, issue) page.within '.description > .md' do expect(page).to have_selector('.katex-error') expect(page).to have_selector('.katex-html a', text: 'Gitlab') end end end