Skip to content
Snippets Groups Projects
Commit 7f32ad70 authored by Nick Thomas's avatar Nick Thomas
Browse files

Fix blob highlighting in search

parent 872b3215
No related branches found
No related tags found
No related merge requests found
---
title: Fix blob highlighting in search
merge_request: 10420
author:
Loading
Loading
@@ -62,7 +62,7 @@ module Gitlab
data << line.sub(ref, '').sub(filename, '').sub(/^:-\d+-/, '').sub(/^::\d+:/, '')
end
 
OpenStruct.new(
FoundBlob.new(
filename: filename,
basename: basename,
ref: ref,
Loading
Loading
module Gitlab
class SearchResults
class FoundBlob
attr_reader :id, :filename, :basename, :ref, :startline, :data
def initialize(opts = {})
@id = opts.fetch(:id, nil)
@filename = opts.fetch(:filename, nil)
@basename = opts.fetch(:basename, nil)
@ref = opts.fetch(:ref, nil)
@startline = opts.fetch(:startline, nil)
@data = opts.fetch(:data, nil)
end
def path
filename
end
def no_highlighting?
false
end
end
attr_reader :current_user, :query
 
# Limit search results by passed projects
Loading
Loading
Loading
Loading
@@ -119,13 +119,15 @@ describe "Search", feature: true do
visit namespace_project_path(project.namespace, project)
 
page.within '.search' do
fill_in 'search', with: 'def'
fill_in 'search', with: 'application.js'
click_button 'Go'
end
 
click_link "Code"
 
expect(page).to have_selector('.file-content .code')
expect(page).to have_selector("span.line[lang='javascript']")
end
end
 
Loading
Loading
Loading
Loading
@@ -41,8 +41,10 @@ describe Gitlab::ProjectSearchResults, lib: true do
 
subject { described_class.parse_search_result(search_result) }
 
it "returns a valid OpenStruct object" do
is_expected.to be_an OpenStruct
it "returns a valid FoundBlob" do
is_expected.to be_an Gitlab::SearchResults::FoundBlob
expect(subject.id).to be_nil
expect(subject.path).to eq('CHANGELOG')
expect(subject.filename).to eq('CHANGELOG')
expect(subject.basename).to eq('CHANGELOG')
expect(subject.ref).to eq('master')
Loading
Loading
@@ -53,6 +55,7 @@ describe Gitlab::ProjectSearchResults, lib: true do
context "when filename has extension" do
let(:search_result) { "master:CONTRIBUTE.md:5:- [Contribute to GitLab](#contribute-to-gitlab)\n" }
 
it { expect(subject.path).to eq('CONTRIBUTE.md') }
it { expect(subject.filename).to eq('CONTRIBUTE.md') }
it { expect(subject.basename).to eq('CONTRIBUTE') }
end
Loading
Loading
@@ -60,6 +63,7 @@ describe Gitlab::ProjectSearchResults, lib: true do
context "when file under directory" do
let(:search_result) { "master:a/b/c.md:5:a b c\n" }
 
it { expect(subject.path).to eq('a/b/c.md') }
it { expect(subject.filename).to eq('a/b/c.md') }
it { expect(subject.basename).to eq('a/b/c') }
end
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment