Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
FIY695
jenkins
提交
0c2f237b
J
jenkins
项目概览
FIY695
/
jenkins
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jenkins
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0c2f237b
编写于
2月 23, 2015
作者:
F
Felix Belzunce Arcos
提交者:
Oliver Gondža
5月 08, 2015
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
JENKINS-24433 Searchbox doesn't work properly inside a folder
(cherry picked from commit
44db6aef
)
上级
0ce18107
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
125 addition
and
2 deletion
+125
-2
core/src/main/java/hudson/search/Search.java
core/src/main/java/hudson/search/Search.java
+1
-1
core/src/main/java/hudson/search/SuggestedItem.java
core/src/main/java/hudson/search/SuggestedItem.java
+1
-1
test/src/test/java/hudson/search/SearchTest.java
test/src/test/java/hudson/search/SearchTest.java
+123
-0
未找到文件。
core/src/main/java/hudson/search/Search.java
浏览文件 @
0c2f237b
...
...
@@ -76,7 +76,7 @@ public class Search {
SuggestedItem
target
=
find
(
index
,
query
,
smo
);
if
(
target
!=
null
)
{
// found
rsp
.
sendRedirect2
(
a
.
getUrl
()+
target
.
getUrl
());
rsp
.
sendRedirect2
(
req
.
getContextPath
()+
target
.
getUrl
());
return
;
}
}
...
...
core/src/main/java/hudson/search/SuggestedItem.java
浏览文件 @
0c2f237b
...
...
@@ -81,7 +81,7 @@ public class SuggestedItem {
private
static
SuggestedItem
build
(
SearchableModelObject
searchContext
,
Item
top
)
{
ItemGroup
<?
extends
Item
>
parent
=
top
.
getParent
();
if
(
parent
instanceof
Item
&&
parent
!=
searchContext
)
{
if
(
parent
instanceof
Item
)
{
Item
parentItem
=
(
Item
)
parent
;
return
new
SuggestedItem
(
build
(
searchContext
,
parentItem
),
top
);
}
...
...
test/src/test/java/hudson/search/SearchTest.java
浏览文件 @
0c2f237b
...
...
@@ -105,6 +105,40 @@ public class SearchTest {
assertTrue
(
contents
.
contains
(
String
.
format
(
"<title>%s [Jenkins]</title>"
,
projectName
)));
}
@Issue
(
"JENKINS-24433"
)
@Test
public
void
testSearchByProjectNameBehindAFolder
()
throws
Exception
{
final
String
projectName
=
"testSearchByProjectName"
;
j
.
createFreeStyleProject
(
projectName
);
j
.
createFolder
(
"my-folder-1"
).
createProject
(
FreeStyleProject
.
class
,
"my-job-1"
);
Page
result
=
j
.
createWebClient
().
goTo
(
"job/my-folder-1/search?q="
+
projectName
);
assertNotNull
(
result
);
j
.
assertGoodStatus
(
result
);
// make sure we've fetched the testSearchByDisplayName project page
String
contents
=
result
.
getWebResponse
().
getContentAsString
();
assertTrue
(
contents
.
contains
(
String
.
format
(
"<title>%s [Jenkins]</title>"
,
projectName
)));
}
@Issue
(
"JENKINS-24433"
)
@Test
public
void
testSearchByProjectNameInAFolder
()
throws
Exception
{
final
String
projectName
=
"testSearchByProjectName"
;
j
.
createFreeStyleProject
(
projectName
);
j
.
createFolder
(
"my-folder-1"
).
createProject
(
FreeStyleProject
.
class
,
"my-job-1"
);
Page
result
=
j
.
createWebClient
().
goTo
(
"job/my-folder-1/search?q="
+
"my-folder-1/my-job-1"
);
assertNotNull
(
result
);
j
.
assertGoodStatus
(
result
);
// make sure we've fetched the testSearchByDisplayName project page
String
contents
=
result
.
getWebResponse
().
getContentAsString
();
assertTrue
(
contents
.
contains
(
String
.
format
(
"<title>%s [Jenkins]</title>"
,
"my-job-1 [my-folder-1]"
)));
}
@Test
public
void
testSearchByDisplayName
()
throws
Exception
{
final
String
displayName
=
"displayName9999999"
;
...
...
@@ -225,6 +259,95 @@ public class SearchTest {
assertTrue
(
foundDispayName
);
}
@Issue
(
"JENKINS-24433"
)
@Test
public
void
testProjectNameBehindAFolderDisplayName
()
throws
Exception
{
final
String
projectName1
=
"job-1"
;
final
String
displayName1
=
"job-1"
;
final
String
projectName2
=
"job-2"
;
final
String
displayName2
=
"job-2"
;
FreeStyleProject
project1
=
j
.
createFreeStyleProject
(
projectName1
);
project1
.
setDisplayName
(
displayName1
);
FreeStyleProject
project2
=
j
.
createFolder
(
"my-folder-1"
).
createProject
(
FreeStyleProject
.
class
,
projectName2
);
project2
.
setDisplayName
(
displayName2
);
WebClient
wc
=
j
.
createWebClient
();
Page
result
=
wc
.
goTo
(
"job/my-folder-1/search/suggest?query="
+
projectName1
,
"application/json"
);
assertNotNull
(
result
);
j
.
assertGoodStatus
(
result
);
String
content
=
result
.
getWebResponse
().
getContentAsString
();
JSONObject
jsonContent
=
(
JSONObject
)
JSONSerializer
.
toJSON
(
content
);
assertNotNull
(
jsonContent
);
JSONArray
jsonArray
=
jsonContent
.
getJSONArray
(
"suggestions"
);
assertNotNull
(
jsonArray
);
assertEquals
(
1
,
jsonArray
.
size
());
boolean
foundProjectName
=
false
;
boolean
foundDisplayName
=
false
;
for
(
Object
suggestion
:
jsonArray
)
{
JSONObject
jsonSuggestion
=
(
JSONObject
)
suggestion
;
String
name
=
(
String
)
jsonSuggestion
.
get
(
"name"
);
if
(
projectName1
.
equals
(
name
))
{
foundProjectName
=
true
;
}
if
(
displayName1
.
equals
(
name
))
{
foundDisplayName
=
true
;
}
}
assertTrue
(
foundProjectName
);
assertTrue
(
foundDisplayName
);
}
@Issue
(
"JENKINS-24433"
)
@Test
public
void
testProjectNameInAFolderDisplayName
()
throws
Exception
{
final
String
projectName1
=
"job-1"
;
final
String
displayName1
=
"job-1"
;
final
String
projectName2
=
"job-2"
;
final
String
displayName2
=
"my-folder-1 job-2"
;
FreeStyleProject
project1
=
j
.
createFreeStyleProject
(
projectName1
);
project1
.
setDisplayName
(
displayName1
);
FreeStyleProject
project2
=
j
.
createFolder
(
"my-folder-1"
).
createProject
(
FreeStyleProject
.
class
,
projectName2
);
project2
.
setDisplayName
(
displayName2
);
WebClient
wc
=
j
.
createWebClient
();
Page
result
=
wc
.
goTo
(
"job/my-folder-1/search/suggest?query="
+
projectName2
,
"application/json"
);
assertNotNull
(
result
);
j
.
assertGoodStatus
(
result
);
String
content
=
result
.
getWebResponse
().
getContentAsString
();
JSONObject
jsonContent
=
(
JSONObject
)
JSONSerializer
.
toJSON
(
content
);
assertNotNull
(
jsonContent
);
JSONArray
jsonArray
=
jsonContent
.
getJSONArray
(
"suggestions"
);
assertNotNull
(
jsonArray
);
assertEquals
(
1
,
jsonArray
.
size
());
boolean
foundDisplayName
=
false
;
for
(
Object
suggestion
:
jsonArray
)
{
JSONObject
jsonSuggestion
=
(
JSONObject
)
suggestion
;
String
name
=
(
String
)
jsonSuggestion
.
get
(
"name"
);
if
(
displayName2
.
equals
(
name
))
{
foundDisplayName
=
true
;
}
}
assertTrue
(
foundDisplayName
);
}
/**
* Disable/enable status shouldn't affect the search
*/
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录