Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_langtools
提交
7bb3a933
D
dragonwell8_langtools
项目概览
openanolis
/
dragonwell8_langtools
通知
0
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_langtools
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
7bb3a933
编写于
9月 24, 2013
作者:
B
bpatel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8016328: Regression : Javadoc i18n regression caused by fix for 8012375
Reviewed-by: jjg
上级
562e9975
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
73 addition
and
18 deletion
+73
-18
src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java
...s/com/sun/tools/doclets/formats/html/markup/HtmlTree.java
+42
-1
src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java
...com/sun/tools/doclets/formats/html/markup/HtmlWriter.java
+8
-1
test/com/sun/javadoc/testHref/TestHref.java
test/com/sun/javadoc/testHref/TestHref.java
+5
-5
test/com/sun/javadoc/testJavascript/TestJavascript.java
test/com/sun/javadoc/testJavascript/TestJavascript.java
+9
-2
test/com/sun/javadoc/testLinkTaglet/TestLinkTaglet.java
test/com/sun/javadoc/testLinkTaglet/TestLinkTaglet.java
+4
-4
test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java
...om/sun/javadoc/testPrivateClasses/TestPrivateClasses.java
+2
-2
test/com/sun/javadoc/testUseOption/TestUseOption.java
test/com/sun/javadoc/testUseOption/TestUseOption.java
+3
-3
未找到文件。
src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java
浏览文件 @
7bb3a933
...
...
@@ -28,6 +28,7 @@ package com.sun.tools.doclets.formats.html.markup;
import
java.io.IOException
;
import
java.io.Writer
;
import
java.util.*
;
import
java.nio.charset.*
;
import
com.sun.tools.doclets.internal.toolkit.Content
;
import
com.sun.tools.doclets.internal.toolkit.util.*
;
...
...
@@ -163,6 +164,46 @@ public class HtmlTree extends Content {
return
s
;
}
/**
* A set of ASCII URI characters to be left unencoded.
*/
public
static
BitSet
NONENCODING_CHARS
=
new
BitSet
(
256
);
static
{
// alphabetic characters
for
(
int
i
=
'a'
;
i
<=
'z'
;
i
++)
{
NONENCODING_CHARS
.
set
(
i
);
}
for
(
int
i
=
'A'
;
i
<=
'Z'
;
i
++)
{
NONENCODING_CHARS
.
set
(
i
);
}
// numeric characters
for
(
int
i
=
'0'
;
i
<=
'9'
;
i
++)
{
NONENCODING_CHARS
.
set
(
i
);
}
// Reserved characters as per RFC 3986. These are set of delimiting characters.
String
noEnc
=
":/?#[]@!$&'()*+,;="
;
// Unreserved characters as per RFC 3986 which should not be percent encoded.
noEnc
+=
"-._~"
;
for
(
int
i
=
0
;
i
<
noEnc
.
length
();
i
++)
{
NONENCODING_CHARS
.
set
(
noEnc
.
charAt
(
i
));
}
}
private
static
String
encodeURL
(
String
url
)
{
byte
[]
urlBytes
=
url
.
getBytes
(
Charset
.
forName
(
"UTF-8"
));
StringBuilder
sb
=
new
StringBuilder
();
for
(
int
i
=
0
;
i
<
urlBytes
.
length
;
i
++)
{
int
c
=
urlBytes
[
i
];
if
(
NONENCODING_CHARS
.
get
(
c
&
0xFF
))
{
sb
.
append
((
char
)
c
);
}
else
{
sb
.
append
(
String
.
format
(
"%%%02X"
,
c
&
0xFF
));
}
}
return
sb
.
toString
();
}
/**
* Generates an HTML anchor tag.
*
...
...
@@ -172,7 +213,7 @@ public class HtmlTree extends Content {
*/
public
static
HtmlTree
A
(
String
ref
,
Content
body
)
{
HtmlTree
htmltree
=
new
HtmlTree
(
HtmlTag
.
A
,
nullCheck
(
body
));
htmltree
.
addAttr
(
HtmlAttr
.
HREF
,
ref
);
htmltree
.
addAttr
(
HtmlAttr
.
HREF
,
encodeURL
(
ref
)
);
return
htmltree
;
}
...
...
src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java
浏览文件 @
7bb3a933
...
...
@@ -335,6 +335,12 @@ public class HtmlWriter {
" if (targetPage.indexOf(\":\") != -1 || (targetPage != \"\" && !validURL(targetPage)))"
+
DocletConstants
.
NL
+
" targetPage = \"undefined\";"
+
DocletConstants
.
NL
+
" function validURL(url) {"
+
DocletConstants
.
NL
+
" try {"
+
DocletConstants
.
NL
+
" url = decodeURIComponent(url);"
+
DocletConstants
.
NL
+
" }"
+
DocletConstants
.
NL
+
" catch (error) {"
+
DocletConstants
.
NL
+
" return false;"
+
DocletConstants
.
NL
+
" }"
+
DocletConstants
.
NL
+
" var pos = url.indexOf(\".html\");"
+
DocletConstants
.
NL
+
" if (pos == -1 || pos != url.length - 5)"
+
DocletConstants
.
NL
+
" return false;"
+
DocletConstants
.
NL
+
...
...
@@ -346,7 +352,8 @@ public class HtmlWriter {
" if ('a' <= ch && ch <= 'z' ||"
+
DocletConstants
.
NL
+
" 'A' <= ch && ch <= 'Z' ||"
+
DocletConstants
.
NL
+
" ch == '$' ||"
+
DocletConstants
.
NL
+
" ch == '_') {"
+
DocletConstants
.
NL
+
" ch == '_' ||"
+
DocletConstants
.
NL
+
" ch.charCodeAt(0) > 127) {"
+
DocletConstants
.
NL
+
" allowNumber = true;"
+
DocletConstants
.
NL
+
" allowSep = true;"
+
DocletConstants
.
NL
+
" } else if ('0' <= ch && ch <= '9'"
+
DocletConstants
.
NL
+
...
...
test/com/sun/javadoc/testHref/TestHref.java
浏览文件 @
7bb3a933
...
...
@@ -23,7 +23,7 @@
/*
* @test
* @bug 4663254
* @bug 4663254
8016328
* @summary Verify that spaces do not appear in hrefs and anchors.
* @author jamieh
* @library ../lib/
...
...
@@ -46,11 +46,11 @@ public class TestHref extends JavadocTester {
private
static
final
String
[][]
TEST
=
{
//External link.
{
BUG_ID
+
FS
+
"pkg"
+
FS
+
"C1.html"
,
"href=\"http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html?is-external=true#wait(long,
int)\""
"href=\"http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html?is-external=true#wait(long,
%20
int)\""
},
//Member summary table link.
{
BUG_ID
+
FS
+
"pkg"
+
FS
+
"C1.html"
,
"href=\"../pkg/C1.html#method(int,
int,
java.util.ArrayList)\""
"href=\"../pkg/C1.html#method(int,
%20int,%20
java.util.ArrayList)\""
},
//Anchor test.
{
BUG_ID
+
FS
+
"pkg"
+
FS
+
"C1.html"
,
...
...
@@ -66,11 +66,11 @@ public class TestHref extends JavadocTester {
},
//{@link} test.
{
BUG_ID
+
FS
+
"pkg"
+
FS
+
"C2.html"
,
"Link: <a href=\"../pkg/C1.html#method(int,
int,
java.util.ArrayList)\">"
"Link: <a href=\"../pkg/C1.html#method(int,
%20int,%20
java.util.ArrayList)\">"
},
//@see test.
{
BUG_ID
+
FS
+
"pkg"
+
FS
+
"C2.html"
,
"See Also:</span></dt>"
+
NL
+
"<dd><a href=\"../pkg/C1.html#method(int,
int,
java.util.ArrayList)\">"
"See Also:</span></dt>"
+
NL
+
"<dd><a href=\"../pkg/C1.html#method(int,
%20int,%20
java.util.ArrayList)\">"
},
//Header does not link to the page itself.
...
...
test/com/sun/javadoc/testJavascript/TestJavascript.java
浏览文件 @
7bb3a933
...
...
@@ -23,7 +23,7 @@
/*
* @test
* @bug 4665566 4855876 7025314 8012375 8015997
* @bug 4665566 4855876 7025314 8012375 8015997
8016328
* @summary Verify that the output has the right javascript.
* @author jamieh
* @library ../lib/
...
...
@@ -56,6 +56,12 @@ public class TestJavascript extends JavadocTester {
" if (targetPage.indexOf(\":\") != -1 || (targetPage != \"\" && !validURL(targetPage)))"
+
NL
+
" targetPage = \"undefined\";"
+
NL
+
" function validURL(url) {"
+
NL
+
" try {"
+
NL
+
" url = decodeURIComponent(url);"
+
NL
+
" }"
+
NL
+
" catch (error) {"
+
NL
+
" return false;"
+
NL
+
" }"
+
NL
+
" var pos = url.indexOf(\".html\");"
+
NL
+
" if (pos == -1 || pos != url.length - 5)"
+
NL
+
" return false;"
+
NL
+
...
...
@@ -67,7 +73,8 @@ public class TestJavascript extends JavadocTester {
" if ('a' <= ch && ch <= 'z' ||"
+
NL
+
" 'A' <= ch && ch <= 'Z' ||"
+
NL
+
" ch == '$' ||"
+
NL
+
" ch == '_') {"
+
NL
+
" ch == '_' ||"
+
NL
+
" ch.charCodeAt(0) > 127) {"
+
NL
+
" allowNumber = true;"
+
NL
+
" allowSep = true;"
+
NL
+
" } else if ('0' <= ch && ch <= '9'"
+
NL
+
...
...
test/com/sun/javadoc/testLinkTaglet/TestLinkTaglet.java
浏览文件 @
7bb3a933
...
...
@@ -23,7 +23,7 @@
/*
* @test
* @bug 4732864 6280605 7064544 8014636
* @bug 4732864 6280605 7064544 8014636
8016328
* @summary Make sure that you can link from one member to another using
* non-qualified name, furthermore, ensure the right one is linked.
* @author jamieh
...
...
@@ -49,9 +49,9 @@ public class TestLinkTaglet extends JavadocTester {
"Qualified Link: <a href=\"../pkg/C.InnerC.html\" title=\"class in pkg\"><code>C.InnerC</code></a>.<br/>"
+
NL
+
" Unqualified Link1: <a href=\"../pkg/C.InnerC.html\" title=\"class in pkg\"><code>C.InnerC</code></a>.<br/>"
+
NL
+
" Unqualified Link2: <a href=\"../pkg/C.InnerC.html\" title=\"class in pkg\"><code>C.InnerC</code></a>.<br/>"
+
NL
+
" Qualified Link: <a href=\"../pkg/C.html#method(pkg.C.InnerC,
pkg.C.InnerC2)\"><code>method(pkg.C.InnerC, pkg.C.InnerC2)</code></a>.<br/>"
+
NL
+
" Unqualified Link: <a href=\"../pkg/C.html#method(pkg.C.InnerC,
pkg.C.InnerC2)\"><code>method(C.InnerC, C.InnerC2)</code></a>.<br/>"
+
NL
+
" Unqualified Link: <a href=\"../pkg/C.html#method(pkg.C.InnerC,
pkg.C.InnerC2)\"><code>method(InnerC, InnerC2)</code></a>.<br/>"
" Qualified Link: <a href=\"../pkg/C.html#method(pkg.C.InnerC,
%20
pkg.C.InnerC2)\"><code>method(pkg.C.InnerC, pkg.C.InnerC2)</code></a>.<br/>"
+
NL
+
" Unqualified Link: <a href=\"../pkg/C.html#method(pkg.C.InnerC,
%20
pkg.C.InnerC2)\"><code>method(C.InnerC, C.InnerC2)</code></a>.<br/>"
+
NL
+
" Unqualified Link: <a href=\"../pkg/C.html#method(pkg.C.InnerC,
%20
pkg.C.InnerC2)\"><code>method(InnerC, InnerC2)</code></a>.<br/>"
},
{
BUG_ID
+
FS
+
"pkg"
+
FS
+
"C.InnerC.html"
,
"Link to member in outer class: <a href=\"../pkg/C.html#MEMBER\"><code>C.MEMBER</code></a> <br/>"
+
NL
+
...
...
test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java
浏览文件 @
7bb3a933
...
...
@@ -23,7 +23,7 @@
/*
* @test
* @bug 4780441 4874845 4978816 8014017
* @bug 4780441 4874845 4978816 8014017
8016328
* @summary Make sure that when the -private flag is not used, members
* inherited from package private class are documented in the child.
*
...
...
@@ -177,7 +177,7 @@ public class TestPrivateClasses extends JavadocTester {
// Should document that a method overrides method from private class.
{
BUG_ID
+
"-2"
+
FS
+
"pkg"
+
FS
+
"PublicChild.html"
,
"<dt><span class=\"strong\">Overrides:</span></dt>"
+
NL
+
"<dd><code><a href=\"../pkg/PrivateParent.html#methodOverridenFromParent(char[],
int, T, V,
java.util.List)\">"
+
"<dd><code><a href=\"../pkg/PrivateParent.html#methodOverridenFromParent(char[],
%20int,%20T,%20V,%20
java.util.List)\">"
+
"methodOverridenFromParent</a></code> in class <code>"
+
"<a href=\"../pkg/PrivateParent.html\" title=\"class in pkg\">"
+
"PrivateParent</a></code></dd>"
},
...
...
test/com/sun/javadoc/testUseOption/TestUseOption.java
浏览文件 @
7bb3a933
/*
* Copyright (c) 2002, 201
2
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 201
3
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -23,7 +23,7 @@
/*
* @test
* @bug 4496290 4985072 7006178 7068595
* @bug 4496290 4985072 7006178 7068595
8016328
* @summary A simple test to determine if -use works.
* @author jamieh
* @library ../lib/
...
...
@@ -60,7 +60,7 @@ public class TestUseOption extends JavadocTester {
"UsedInC</a> in <a href=\"../package-summary.html\"><Unnamed></a>"
},
{
BUG_ID
+
"-3"
+
FS
+
"package-use.html"
,
"<td class=\"colOne\">"
+
"<a href=\"class-use/UsedInC.html#
<Unnamed>
\">UsedInC</a> </td>"
"<a href=\"class-use/UsedInC.html#
%3CUnnamed%3E
\">UsedInC</a> </td>"
}
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录