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
Show 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
...
@@ -58,7 +58,7 @@ class ProjectWiki
end
end
def
wiki_base_path
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
end
# Returns the Gitlab::Git::Wiki object.
# 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
...
@@ -258,6 +258,10 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
post
:list_projects
post
:list_projects
end
end
end
end
# The wiki routing contains wildcard characters so
# its preferable to keep it below all other project routes
draw
:wiki
end
end
# End of the /-/ scope.
# End of the /-/ scope.
...
@@ -523,9 +527,8 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
...
@@ -523,9 +527,8 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
post
:web_ide_clientside_preview
post
:web_ide_clientside_preview
end
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
# its preferable to keep it below all other project routes
draw
:wiki
draw
:repository
draw
:repository
# All new routes should go under /-/ scope.
# All new routes should go under /-/ scope.
...
@@ -542,7 +545,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
...
@@ -542,7 +545,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
:forks
,
:group_links
,
:import
,
:avatar
,
:mirror
,
:forks
,
:group_links
,
:import
,
:avatar
,
:mirror
,
:cycle_analytics
,
:mattermost
,
:variables
,
:triggers
,
:cycle_analytics
,
:mattermost
,
:variables
,
:triggers
,
:environments
,
:protected_environments
,
:error_tracking
,
:environments
,
:protected_environments
,
:error_tracking
,
:serverless
,
:clusters
,
:audit_events
)
:serverless
,
:clusters
,
:audit_events
,
:wikis
)
end
end
# rubocop: disable Cop/PutProjectRoutesUnderScope
# rubocop: disable Cop/PutProjectRoutesUnderScope
...
...
doc/user/project/integrations/webhooks.md
View file @
3b6fd112
...
@@ -969,7 +969,7 @@ X-Gitlab-Event: Wiki Page Hook
...
@@ -969,7 +969,7 @@ X-Gitlab-Event: Wiki Page Hook
"http_url"
:
"http://example.com/root/awesome-project.git"
"http_url"
:
"http://example.com/root/awesome-project.git"
},
},
"wiki"
:
{
"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_ssh_url"
:
"git@example.com:root/awesome-project.wiki.git"
,
"git_http_url"
:
"http://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"
,
"path_with_namespace"
:
"root/awesome-project.wiki"
,
...
@@ -981,7 +981,7 @@ X-Gitlab-Event: Wiki Page Hook
...
@@ -981,7 +981,7 @@ X-Gitlab-Event: Wiki Page Hook
"format"
:
"markdown"
,
"format"
:
"markdown"
,
"message"
:
"adding an awesome page to the wiki"
,
"message"
:
"adding an awesome page to the wiki"
,
"slug"
:
"awesome"
,
"slug"
:
"awesome"
,
"url"
:
"http://example.com/root/awesome-project/wikis/awesome"
,
"url"
:
"http://example.com/root/awesome-project/
-/
wikis/awesome"
,
"action"
:
"create"
"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
...
@@ -29,11 +29,11 @@ describe 'Projects > Wiki > User previews markdown changes', :js do
expect
(
page
).
to
have_content
(
"regular link"
)
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/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/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/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/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/title%20with%20spaces
\"
>spaced link</a>"
)
end
end
end
end
...
@@ -43,11 +43,11 @@ describe 'Projects > Wiki > User previews markdown changes', :js do
...
@@ -43,11 +43,11 @@ describe 'Projects > Wiki > User previews markdown changes', :js do
expect
(
page
).
to
have_content
(
"regular link"
)
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/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/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/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/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/title%20with%20spaces
\"
>spaced link</a>"
)
end
end
end
end
...
@@ -57,11 +57,11 @@ describe 'Projects > Wiki > User previews markdown changes', :js do
...
@@ -57,11 +57,11 @@ describe 'Projects > Wiki > User previews markdown changes', :js do
expect
(
page
).
to
have_content
(
"regular link"
)
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/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/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/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/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/title%20with%20spaces
\"
>spaced link</a>"
)
end
end
end
end
end
end
...
@@ -77,11 +77,11 @@ describe 'Projects > Wiki > User previews markdown changes', :js do
...
@@ -77,11 +77,11 @@ describe 'Projects > Wiki > User previews markdown changes', :js do
expect
(
page
).
to
have_content
(
"regular link"
)
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/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/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/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/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/title%20with%20spaces
\"
>spaced link</a>"
)
end
end
end
end
...
@@ -95,11 +95,11 @@ describe 'Projects > Wiki > User previews markdown changes', :js do
...
@@ -95,11 +95,11 @@ describe 'Projects > Wiki > User previews markdown changes', :js do
expect
(
page
).
to
have_content
(
"regular link"
)
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/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/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/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/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/title%20with%20spaces
\"
>spaced link</a>"
)
end
end
end
end
...
@@ -113,11 +113,11 @@ describe 'Projects > Wiki > User previews markdown changes', :js do
...
@@ -113,11 +113,11 @@ describe 'Projects > Wiki > User previews markdown changes', :js do
expect
(
page
).
to
have_content
(
"regular link"
)
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/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/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/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/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/title%20with%20spaces
\"
>spaced link</a>"
)
end
end
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
...
@@ -55,7 +55,7 @@ describe "User creates wiki page" do
end
end
expect
(
current_path
).
to
include
(
"one/two/three-test"
)
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
end
it
"has `Create home` as a commit message"
,
:js
do
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
...
@@ -27,7 +27,7 @@ describe WikiHelper do
let
(
:classes
)
{
"btn btn-default has-tooltip reverse-sort-btn qa-reverse-sort rspec-reverse-sort"
}
let
(
:classes
)
{
"btn btn-default has-tooltip reverse-sort-btn qa-reverse-sort rspec-reverse-sort"
}
def
expected_link
(
sort
,
direction
,
icon_class
)
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
.
link_to
(
path
,
type:
'button'
,
class:
classes
,
title:
'Sort direction'
)
do
helper
.
sprite_icon
(
"sort-
#{
icon_class
}
"
,
size:
16
)
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
...
@@ -72,14 +72,14 @@ describe Banzai::Pipeline::WikiPipeline do
markdown
=
"[Page](./page)"
markdown
=
"[Page](./page)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
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/nested/twice/page
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/nested/twice/page
\"
"
)
end
end
it
"rewrites file links to be at the scope of the current directory"
do
it
"rewrites file links to be at the scope of the current directory"
do
markdown
=
"[Link to Page](./page.md)"
markdown
=
"[Link to Page](./page.md)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
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/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
end
end
...
@@ -88,14 +88,14 @@ describe Banzai::Pipeline::WikiPipeline do
...
@@ -88,14 +88,14 @@ describe Banzai::Pipeline::WikiPipeline do
markdown
=
"[Link to Page](../page)"
markdown
=
"[Link to Page](../page)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
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/nested/page
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/nested/page
\"
"
)
end
end
it
"rewrites file links to be at the scope of the parent directory"
do
it
"rewrites file links to be at the scope of the parent directory"
do
markdown
=
"[Link to Page](../page.md)"
markdown
=
"[Link to Page](../page.md)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
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/nested/page.md
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/nested/page.md
\"
"
)
end
end
end
end
...
@@ -104,14 +104,14 @@ describe Banzai::Pipeline::WikiPipeline do
...
@@ -104,14 +104,14 @@ describe Banzai::Pipeline::WikiPipeline do
markdown
=
"[Link to Page](./subdirectory/page)"
markdown
=
"[Link to Page](./subdirectory/page)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
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/nested/twice/subdirectory/page
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/nested/twice/subdirectory/page
\"
"
)
end
end
it
"rewrites file links to be at the scope of the sub-directory"
do
it
"rewrites file links to be at the scope of the sub-directory"
do
markdown
=
"[Link to Page](./subdirectory/page.md)"
markdown
=
"[Link to Page](./subdirectory/page.md)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
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/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
end
end
...
@@ -120,35 +120,35 @@ describe Banzai::Pipeline::WikiPipeline do
...
@@ -120,35 +120,35 @@ describe Banzai::Pipeline::WikiPipeline do
markdown
=
"[Link to Page](page)"
markdown
=
"[Link to Page](page)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
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
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/page
\"
"
)
end
end
it
'rewrites non-file links (with spaces) to be at the scope of the wiki root'
do
it
'rewrites non-file links (with spaces) to be at the scope of the wiki root'
do
markdown
=
"[Link to Page](page slug)"
markdown
=
"[Link to Page](page slug)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
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
end
it
"rewrites file links to be at the scope of the current directory"
do
it
"rewrites file links to be at the scope of the current directory"
do
markdown
=
"[Link to Page](page.md)"
markdown
=
"[Link to Page](page.md)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
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/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
it
'rewrites links with anchor'
do
it
'rewrites links with anchor'
do
markdown
=
'[Link to Header](start-page#title)'
markdown
=
'[Link to Header](start-page#title)'
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
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/start-page#title
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/start-page#title
\"
"
)
end
end
it
'rewrites links (with spaces) with anchor'
do
it
'rewrites links (with spaces) with anchor'
do
markdown
=
'[Link to Header](start page#title)'
markdown
=
'[Link to Header](start page#title)'
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
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/start%20page#title
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/start%20page#title
\"
"
)
end
end
end
end
...
@@ -157,14 +157,14 @@ describe Banzai::Pipeline::WikiPipeline do
...
@@ -157,14 +157,14 @@ describe Banzai::Pipeline::WikiPipeline do
markdown
=
"[Link to Page](/page)"
markdown
=
"[Link to Page](/page)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
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
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/page
\"
"
)
end
end
it
'rewrites file links to be at the scope of the wiki root'
do
it
'rewrites file links to be at the scope of the wiki root'
do
markdown
=
"[Link to Page](/page.md)"
markdown
=
"[Link to Page](/page.md)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
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.md
\"
"
)
expect
(
output
).
to
include
(
"href=
\"
#{
relative_url_root
}
/wiki_link_ns/wiki_link_project/
-/
wikis/page.md
\"
"
)
end
end
end
end
end
end
...
@@ -270,28 +270,28 @@ describe Banzai::Pipeline::WikiPipeline do
...
@@ -270,28 +270,28 @@ describe Banzai::Pipeline::WikiPipeline do
markdown
=
"![video_file](video_file_name.mp4)"
markdown
=
"![video_file](video_file_name.mp4)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
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
end
it
'rewrites and replaces video links names with white spaces to %20'
do
it
'rewrites and replaces video links names with white spaces to %20'
do
markdown
=
"![video file](video file name.mp4)"
markdown
=
"![video file](video file name.mp4)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
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
end
it
'generates audio html structure'
do
it
'generates audio html structure'
do
markdown
=
"![audio_file](audio_file_name.wav)"
markdown
=
"![audio_file](audio_file_name.wav)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
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
end
it
'rewrites and replaces audio links names with white spaces to %20'
do
it
'rewrites and replaces audio links names with white spaces to %20'
do
markdown
=
"![audio file](audio file name.wav)"
markdown
=
"![audio file](audio file name.wav)"
output
=
described_class
.
to_html
(
markdown
,
project:
project
,
project_wiki:
project_wiki
,
page_slug:
page
.
slug
)
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
end
end
end
spec/models/project_wiki_spec.rb
View file @
3b6fd112
...
@@ -28,7 +28,7 @@ describe ProjectWiki do
...
@@ -28,7 +28,7 @@ describe ProjectWiki do
describe
'#web_url'
do
describe
'#web_url'
do
it
'returns the full web URL to the wiki'
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
end
end
...
@@ -71,7 +71,7 @@ describe ProjectWiki do
...
@@ -71,7 +71,7 @@ describe ProjectWiki do
describe
"#wiki_base_path"
do
describe
"#wiki_base_path"
do
it
"returns the 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
)
expect
(
subject
.
wiki_base_path
).
to
eq
(
wiki_base_path
)
end
end
...
...
spec/routing/project_routing_spec.rb
View file @
3b6fd112
...
@@ -155,17 +155,21 @@ describe 'project routing' do
...
@@ -155,17 +155,21 @@ describe 'project routing' do
# DELETE /:project_id/wikis/:id(.:format) projects/wikis#destroy
# DELETE /:project_id/wikis/:id(.:format) projects/wikis#destroy
describe
Projects
::
WikisController
,
'routing'
do
describe
Projects
::
WikisController
,
'routing'
do
it
'to #pages'
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
end
it
'to #history'
do
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
end
it_behaves_like
'RESTful project resources'
do
it_behaves_like
'RESTful project resources'
do
let
(
:actions
)
{
[
:create
,
:edit
,
:show
,
:destroy
]
}
let
(
:actions
)
{
[
:create
,
:edit
,
:show
,
:destroy
]
}
let
(
:controller
)
{
'wikis'
}
let
(
:controller
)
{
'wikis'
}
let
(
:controller_path
)
{
'/-/wikis'
}
end
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
end
# branches_project_repository GET /:project_id/repository/branches(.:format) projects/repositories#branches
# 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