Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
3b6fd112
Commit
3b6fd112
authored
Dec 04, 2019
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move wiki routing under /-/ scope
Signed-off-by:
Dmitriy Zaporozhets
<
dmitriy.zaporozhets@gmail.com
>
parent
808b8e82
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
71 additions
and
59 deletions
+71
-59
app/models/project_wiki.rb
app/models/project_wiki.rb
+1
-1
changelogs/unreleased/dz-move-wiki-route.yml
changelogs/unreleased/dz-move-wiki-route.yml
+5
-0
config/routes/project.rb
config/routes/project.rb
+6
-3
doc/user/project/integrations/webhooks.md
doc/user/project/integrations/webhooks.md
+2
-2
spec/features/projects/wiki/markdown_preview_spec.rb
spec/features/projects/wiki/markdown_preview_spec.rb
+30
-30
spec/features/projects/wiki/user_creates_wiki_page_spec.rb
spec/features/projects/wiki/user_creates_wiki_page_spec.rb
+1
-1
spec/helpers/wiki_helper_spec.rb
spec/helpers/wiki_helper_spec.rb
+1
-1
spec/lib/banzai/pipeline/wiki_pipeline_spec.rb
spec/lib/banzai/pipeline/wiki_pipeline_spec.rb
+17
-17
spec/models/project_wiki_spec.rb
spec/models/project_wiki_spec.rb
+2
-2
spec/routing/project_routing_spec.rb
spec/routing/project_routing_spec.rb
+6
-2
No files found.
app/models/project_wiki.rb
View file @
3b6fd112
...
...
@@ -58,7 +58,7 @@ class ProjectWiki
end
def
wiki_base_path
[
Gitlab
.
config
.
gitlab
.
relative_url_root
,
'/'
,
@project
.
full_path
,
'/wikis'
].
join
(
''
)
[
Gitlab
.
config
.
gitlab
.
relative_url_root
,
'/'
,
@project
.
full_path
,
'/
-'
,
'/
wikis'
].
join
(
''
)
end
# Returns the Gitlab::Git::Wiki object.
...
...
changelogs/unreleased/dz-move-wiki-route.yml
0 → 100644
View file @
3b6fd112
---
title
:
Move wiki routing under /-/ scope
merge_request
:
21185
author
:
type
:
deprecated
config/routes/project.rb
View file @
3b6fd112
...
...
@@ -258,6 +258,10 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
post
:list_projects
end
end
# The wiki routing contains wildcard characters so
# its preferable to keep it below all other project routes
draw
:wiki
end
# End of the /-/ scope.
...
...
@@ -523,9 +527,8 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
post
:web_ide_clientside_preview
end
#
Since both wiki and repository routing contains wildcard characters
#
The repository routing contains wildcard characters so
# its preferable to keep it below all other project routes
draw
:wiki
draw
:repository
# All new routes should go under /-/ scope.
...
...
@@ -542,7 +545,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
:forks
,
:group_links
,
:import
,
:avatar
,
:mirror
,
:cycle_analytics
,
:mattermost
,
:variables
,
:triggers
,
:environments
,
:protected_environments
,
:error_tracking
,
:serverless
,
:clusters
,
:audit_events
)
:serverless
,
:clusters
,
:audit_events
,
:wikis
)
end
# rubocop: disable Cop/PutProjectRoutesUnderScope
...
...
doc/user/project/integrations/webhooks.md
View file @
3b6fd112
...
...
@@ -969,7 +969,7 @@ X-Gitlab-Event: Wiki Page Hook
"http_url"
:
"http://example.com/root/awesome-project.git"
},
"wiki"
:
{
"web_url"
:
"http://example.com/root/awesome-project/wikis/home"
,
"web_url"
:
"http://example.com/root/awesome-project/
-/
wikis/home"
,
"git_ssh_url"
:
"git@example.com:root/awesome-project.wiki.git"
,
"git_http_url"
:
"http://example.com/root/awesome-project.wiki.git"
,
"path_with_namespace"
:
"root/awesome-project.wiki"
,
...
...
@@ -981,7 +981,7 @@ X-Gitlab-Event: Wiki Page Hook
"format"
:
"markdown"
,
"message"
:
"adding an awesome page to the wiki"
,
"slug"
:
"awesome"
,
"url"
:
"http://example.com/root/awesome-project/wikis/awesome"
,
"url"
:
"http://example.com/root/awesome-project/
-/
wikis/awesome"
,
"action"
:
"create"
}
}
...
...
spec/features/projects/wiki/markdown_preview_spec.rb
View file @
3b6fd112
...
...
@@ -29,11 +29,11 @@ describe 'Projects > Wiki > User previews markdown changes', :js do
expect
(
page
).
to
have_content
(
"regular link"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/regular
\"
>regular link</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/a/b/relative
\"
>relative link 1</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/a/b/c/relative
\"
>relative link 2</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/a/b/c/e/f/relative
\"
>relative link 3</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/title%20with%20spaces
\"
>spaced link</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/regular
\"
>regular link</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/a/b/relative
\"
>relative link 1</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/a/b/c/relative
\"
>relative link 2</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/a/b/c/e/f/relative
\"
>relative link 3</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/title%20with%20spaces
\"
>spaced link</a>"
)
end
end
...
...
@@ -43,11 +43,11 @@ describe 'Projects > Wiki > User previews markdown changes', :js do
expect
(
page
).
to
have_content
(
"regular link"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/regular
\"
>regular link</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/a-page/b-page/relative
\"
>relative link 1</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/a-page/b-page/c-page/relative
\"
>relative link 2</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/a-page/b-page/c-page/e/f/relative
\"
>relative link 3</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/title%20with%20spaces
\"
>spaced link</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/regular
\"
>regular link</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/a-page/b-page/relative
\"
>relative link 1</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/a-page/b-page/c-page/relative
\"
>relative link 2</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/a-page/b-page/c-page/e/f/relative
\"
>relative link 3</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/title%20with%20spaces
\"
>spaced link</a>"
)
end
end
...
...
@@ -57,11 +57,11 @@ describe 'Projects > Wiki > User previews markdown changes', :js do
expect
(
page
).
to
have_content
(
"regular link"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/regular
\"
>regular link</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/a-page/b-page/relative
\"
>relative link 1</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/a-page/b-page/c-page/relative
\"
>relative link 2</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/a-page/b-page/c-page/e/f/relative
\"
>relative link 3</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/title%20with%20spaces
\"
>spaced link</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/regular
\"
>regular link</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/a-page/b-page/relative
\"
>relative link 1</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/a-page/b-page/c-page/relative
\"
>relative link 2</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/a-page/b-page/c-page/e/f/relative
\"
>relative link 3</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/title%20with%20spaces
\"
>spaced link</a>"
)
end
end
end
...
...
@@ -77,11 +77,11 @@ describe 'Projects > Wiki > User previews markdown changes', :js do
expect
(
page
).
to
have_content
(
"regular link"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/regular
\"
>regular link</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/a/b/relative
\"
>relative link 1</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/a/b/c/relative
\"
>relative link 2</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/a/b/c/e/f/relative
\"
>relative link 3</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/title%20with%20spaces
\"
>spaced link</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/regular
\"
>regular link</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/a/b/relative
\"
>relative link 1</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/a/b/c/relative
\"
>relative link 2</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/a/b/c/e/f/relative
\"
>relative link 3</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/title%20with%20spaces
\"
>spaced link</a>"
)
end
end
...
...
@@ -95,11 +95,11 @@ describe 'Projects > Wiki > User previews markdown changes', :js do
expect
(
page
).
to
have_content
(
"regular link"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/regular
\"
>regular link</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/a-page/b-page/relative
\"
>relative link 1</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/a-page/b-page/c-page/relative
\"
>relative link 2</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/a-page/b-page/c-page/e/f/relative
\"
>relative link 3</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/title%20with%20spaces
\"
>spaced link</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/regular
\"
>regular link</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/a-page/b-page/relative
\"
>relative link 1</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/a-page/b-page/c-page/relative
\"
>relative link 2</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/a-page/b-page/c-page/e/f/relative
\"
>relative link 3</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/title%20with%20spaces
\"
>spaced link</a>"
)
end
end
...
...
@@ -113,11 +113,11 @@ describe 'Projects > Wiki > User previews markdown changes', :js do
expect
(
page
).
to
have_content
(
"regular link"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/regular
\"
>regular link</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/a-page/b-page/relative
\"
>relative link 1</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/a-page/b-page/c-page/relative
\"
>relative link 2</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/a-page/b-page/c-page/e/f/relative
\"
>relative link 3</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/wikis/title%20with%20spaces
\"
>spaced link</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/regular
\"
>regular link</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/a-page/b-page/relative
\"
>relative link 1</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/a-page/b-page/c-page/relative
\"
>relative link 2</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/a-page/b-page/c-page/e/f/relative
\"
>relative link 3</a>"
)
expect
(
page
.
html
).
to
include
(
"<a href=
\"
/
#{
project
.
full_path
}
/
-/
wikis/title%20with%20spaces
\"
>spaced link</a>"
)
end
end
...
...
spec/features/projects/wiki/user_creates_wiki_page_spec.rb
View file @
3b6fd112
...
...
@@ -55,7 +55,7 @@ describe "User creates wiki page" do
end
expect
(
current_path
).
to
include
(
"one/two/three-test"
)
expect
(
page
).
to
have_xpath
(
"//a[@href='/
#{
project
.
full_path
}
/wikis/one/two/three-test']"
)
expect
(
page
).
to
have_xpath
(
"//a[@href='/
#{
project
.
full_path
}
/
-/
wikis/one/two/three-test']"
)
end
it
"has `Create home` as a commit message"
,
:js
do
...
...
spec/helpers/wiki_helper_spec.rb
View file @
3b6fd112
...
...
@@ -27,7 +27,7 @@ describe WikiHelper do
let
(
:classes
)
{
"btn btn-default has-tooltip reverse-sort-btn qa-reverse-sort rspec-reverse-sort"
}
def
expected_link
(
sort
,
direction
,
icon_class
)
path
=
"/
#{
project
.
full_path
}
/wikis/pages?direction=
#{
direction
}
&sort=
#{
sort
}
"
path
=
"/
#{
project
.
full_path
}
/
-/
wikis/pages?direction=
#{
direction
}
&sort=
#{
sort
}
"
helper
.
link_to
(
path
,
type:
'button'
,
class:
classes
,
title:
'Sort direction'
)
do
helper
.
sprite_icon
(
"sort-
#{
icon_class
}
"
,
size:
16
)
...
...
spec/lib/banzai/pipeline/wiki_pipeline_spec.rb
View file @
3b6fd112
...
...
@@ -72,14 +72,14 @@ describe Banzai::Pipeline::WikiPipeline do
markdown
=
"[Page](./page)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/wikis/nested/twice/page
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/nested/twice/page
\"
"
)
end
it
"rewrites file links to be at the scope of the current directory"
do
markdown
=
"[Link to Page](./page.md)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/wikis/nested/twice/page.md
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/nested/twice/page.md
\"
"
)
end
end
...
...
@@ -88,14 +88,14 @@ describe Banzai::Pipeline::WikiPipeline do
markdown
=
"[Link to Page](../page)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/wikis/nested/page
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/nested/page
\"
"
)
end
it
"rewrites file links to be at the scope of the parent directory"
do
markdown
=
"[Link to Page](../page.md)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/wikis/nested/page.md
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/nested/page.md
\"
"
)
end
end
...
...
@@ -104,14 +104,14 @@ describe Banzai::Pipeline::WikiPipeline do
markdown
=
"[Link to Page](./subdirectory/page)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/wikis/nested/twice/subdirectory/page
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/nested/twice/subdirectory/page
\"
"
)
end
it
"rewrites file links to be at the scope of the sub-directory"
do
markdown
=
"[Link to Page](./subdirectory/page.md)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/wikis/nested/twice/subdirectory/page.md
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/nested/twice/subdirectory/page.md
\"
"
)
end
end
...
...
@@ -120,35 +120,35 @@ describe Banzai::Pipeline::WikiPipeline do
markdown
=
"[Link to Page](page)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/wikis/page
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/page
\"
"
)
end
it
'rewrites non-file links (with spaces) to be at the scope of the wiki root'
do
markdown
=
"[Link to Page](page slug)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/wikis/page%20slug
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/page%20slug
\"
"
)
end
it
"rewrites file links to be at the scope of the current directory"
do
markdown
=
"[Link to Page](page.md)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/wikis/nested/twice/page.md
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/nested/twice/page.md
\"
"
)
end
it
'rewrites links with anchor'
do
markdown
=
'[Link to Header](start-page#title)'
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/wikis/start-page#title
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/start-page#title
\"
"
)
end
it
'rewrites links (with spaces) with anchor'
do
markdown
=
'[Link to Header](start page#title)'
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/wikis/start%20page#title
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/start%20page#title
\"
"
)
end
end
...
...
@@ -157,14 +157,14 @@ describe Banzai::Pipeline::WikiPipeline do
markdown
=
"[Link to Page](/page)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/wikis/page
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/page
\"
"
)
end
it
'rewrites file links to be at the scope of the wiki root'
do
markdown
=
"[Link to Page](/page.md)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/wikis/page.md
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/page.md
\"
"
)
end
end
end
...
...
@@ -270,28 +270,28 @@ describe Banzai::Pipeline::WikiPipeline do
markdown
=
"![video_file](video_file_name.mp4)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
expect
(
output
).
to
include
(
'<video src="/wiki_link_ns/wiki_link_project/wikis/nested/twice/video_file_name.mp4"'
)
expect
(
output
).
to
include
(
'<video src="/wiki_link_ns/wiki_link_project/
-/
wikis/nested/twice/video_file_name.mp4"'
)
end
it
'rewrites and replaces video links names with white spaces to %20'
do
markdown
=
"![video file](video file name.mp4)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
expect
(
output
).
to
include
(
'<video src="/wiki_link_ns/wiki_link_project/wikis/nested/twice/video%20file%20name.mp4"'
)
expect
(
output
).
to
include
(
'<video src="/wiki_link_ns/wiki_link_project/
-/
wikis/nested/twice/video%20file%20name.mp4"'
)
end
it
'generates audio html structure'
do
markdown
=
"![audio_file](audio_file_name.wav)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
expect
(
output
).
to
include
(
'<audio src="/wiki_link_ns/wiki_link_project/wikis/nested/twice/audio_file_name.wav"'
)
expect
(
output
).
to
include
(
'<audio src="/wiki_link_ns/wiki_link_project/
-/
wikis/nested/twice/audio_file_name.wav"'
)
end
it
'rewrites and replaces audio links names with white spaces to %20'
do
markdown
=
"![audio file](audio file name.wav)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
expect
(
output
).
to
include
(
'<audio src="/wiki_link_ns/wiki_link_project/wikis/nested/twice/audio%20file%20name.wav"'
)
expect
(
output
).
to
include
(
'<audio src="/wiki_link_ns/wiki_link_project/
-/
wikis/nested/twice/audio%20file%20name.wav"'
)
end
end
end
spec/models/project_wiki_spec.rb
View file @
3b6fd112
...
...
@@ -28,7 +28,7 @@ describe ProjectWiki do
describe
'#web_url'
do
it
'returns the full web URL to the wiki'
do
expect
(
subject
.
web_url
).
to
eq
(
"
#{
Gitlab
.
config
.
gitlab
.
url
}
/
#{
project
.
full_path
}
/wikis/home"
)
expect
(
subject
.
web_url
).
to
eq
(
"
#{
Gitlab
.
config
.
gitlab
.
url
}
/
#{
project
.
full_path
}
/
-/
wikis/home"
)
end
end
...
...
@@ -71,7 +71,7 @@ describe ProjectWiki do
describe
"#wiki_base_path"
do
it
"returns the wiki base path"
do
wiki_base_path
=
"
#{
Gitlab
.
config
.
gitlab
.
relative_url_root
}
/
#{
project
.
full_path
}
/wikis"
wiki_base_path
=
"
#{
Gitlab
.
config
.
gitlab
.
relative_url_root
}
/
#{
project
.
full_path
}
/
-/
wikis"
expect
(
subject
.
wiki_base_path
).
to
eq
(
wiki_base_path
)
end
...
...
spec/routing/project_routing_spec.rb
View file @
3b6fd112
...
...
@@ -155,17 +155,21 @@ describe 'project routing' do
# DELETE /:project_id/wikis/:id(.:format) projects/wikis#destroy
describe
Projects
::
WikisController
,
'routing'
do
it
'to #pages'
do
expect
(
get
(
'/gitlab/gitlabhq/wikis/pages'
)).
to
route_to
(
'projects/wikis#pages'
,
namespace_id:
'gitlab'
,
project_id:
'gitlabhq'
)
expect
(
get
(
'/gitlab/gitlabhq/
-/
wikis/pages'
)).
to
route_to
(
'projects/wikis#pages'
,
namespace_id:
'gitlab'
,
project_id:
'gitlabhq'
)
end
it
'to #history'
do
expect
(
get
(
'/gitlab/gitlabhq/wikis/1/history'
)).
to
route_to
(
'projects/wikis#history'
,
namespace_id:
'gitlab'
,
project_id:
'gitlabhq'
,
id:
'1'
)
expect
(
get
(
'/gitlab/gitlabhq/
-/
wikis/1/history'
)).
to
route_to
(
'projects/wikis#history'
,
namespace_id:
'gitlab'
,
project_id:
'gitlabhq'
,
id:
'1'
)
end
it_behaves_like
'RESTful project resources'
do
let
(
:actions
)
{
[
:create
,
:edit
,
:show
,
:destroy
]
}
let
(
:controller
)
{
'wikis'
}
let
(
:controller_path
)
{
'/-/wikis'
}
end
it_behaves_like
'redirecting a legacy project path'
,
"/gitlab/gitlabhq/wikis"
,
"/gitlab/gitlabhq/-/wikis"
it_behaves_like
'redirecting a legacy project path'
,
"/gitlab/gitlabhq/wikis/home/edit"
,
"/gitlab/gitlabhq/-/wikis/home/edit"
end
# branches_project_repository GET /:project_id/repository/branches(.:format) projects/repositories#branches
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment