Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
jenkins
提交
cf9ef4e4
J
jenkins
项目概览
xxadev
/
jenkins
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
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,发现更多精彩内容 >>
提交
cf9ef4e4
编写于
9月 10, 2012
作者:
J
Jesse Glick
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Merging XStreamTest into XStream2Test for clarity.
上级
646154f1
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
42 addition
and
80 deletion
+42
-80
core/src/test/java/hudson/util/XStream2Test.java
core/src/test/java/hudson/util/XStream2Test.java
+40
-5
core/src/test/java/hudson/util/XStreamTest.java
core/src/test/java/hudson/util/XStreamTest.java
+0
-73
core/src/test/resources/hudson/util/old-concurrentHashMap.xml
.../src/test/resources/hudson/util/old-concurrentHashMap.xml
+2
-2
未找到文件。
core/src/test/java/hudson/util/XStream2Test.java
浏览文件 @
cf9ef4e4
...
...
@@ -25,21 +25,22 @@ package hudson.util;
import
com.google.common.collect.ImmutableList
;
import
com.google.common.collect.ImmutableMap
;
import
junit.framework.TestCas
e
;
import
hudson.XmlFil
e
;
import
hudson.matrix.MatrixRun
;
import
hudson.model.Result
;
import
hudson.model.Run
;
import
org.jvnet.hudson.test.Bug
;
import
java.io.File
;
import
java.io.InputStream
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.logging.Level
;
import
java.util.logging.Logger
;
import
jenkins.model.CauseOfInterruption
;
import
jenkins.model.InterruptedBuildAction
;
import
junit.framework.TestCase
;
import
org.apache.commons.io.FileUtils
;
import
org.jvnet.hudson.test.Bug
;
/**
* Tests for XML serialization of java objects.
...
...
@@ -276,4 +277,38 @@ public class XStream2Test extends TestCase {
(
CauseOfInterruption
.
UserInterruption
)
action
.
getCauses
().
get
(
0
);
assertNotNull
(
cause
);
}
public
static
class
Foo2
{
ConcurrentHashMap
<
String
,
String
>
m
=
new
ConcurrentHashMap
<
String
,
String
>();
}
/**
* Tests that ConcurrentHashMap is serialized into a more compact format,
* but still can deserialize to older, verbose format.
*/
public
void
testConcurrentHashMapSerialization
()
throws
Exception
{
Foo2
foo
=
new
Foo2
();
foo
.
m
.
put
(
"abc"
,
"def"
);
foo
.
m
.
put
(
"ghi"
,
"jkl"
);
File
v
=
File
.
createTempFile
(
"hashmap"
,
"xml"
);
try
{
new
XmlFile
(
v
).
write
(
foo
);
// should serialize like map
String
xml
=
FileUtils
.
readFileToString
(
v
);
assertFalse
(
xml
.
contains
(
"java.util.concurrent"
));
//System.out.println(xml);
Foo2
deserialized
=
(
Foo2
)
new
XStream2
().
fromXML
(
xml
);
assertEquals
(
2
,
deserialized
.
m
.
size
());
assertEquals
(
"def"
,
deserialized
.
m
.
get
(
"abc"
));
assertEquals
(
"jkl"
,
deserialized
.
m
.
get
(
"ghi"
));
}
finally
{
v
.
delete
();
}
// should be able to read in old data just fine
Foo2
map
=
(
Foo2
)
new
XStream2
().
fromXML
(
getClass
().
getResourceAsStream
(
"old-concurrentHashMap.xml"
));
assertEquals
(
1
,
map
.
m
.
size
());
assertEquals
(
"def"
,
map
.
m
.
get
(
"abc"
));
}
}
core/src/test/java/hudson/util/XStreamTest.java
已删除
100644 → 0
浏览文件 @
646154f1
/*
* The MIT License
*
* Copyright (c) 2010, InfraDNA, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package
hudson.util
;
import
hudson.XmlFile
;
import
junit.framework.TestCase
;
import
org.apache.commons.io.FileUtils
;
import
java.io.File
;
import
java.util.concurrent.ConcurrentHashMap
;
/**
* @author Kohsuke Kawaguchi
*/
public
class
XStreamTest
extends
TestCase
{
private
XStream2
xstream
=
new
XStream2
();
public
static
class
Foo
{
ConcurrentHashMap
<
String
,
String
>
m
=
new
ConcurrentHashMap
<
String
,
String
>();
}
/**
* Tests that ConcurrentHashMap is serialized into a more compact format,
* but still can deserialize to older, verbose format.
*/
public
void
testConcurrentHashMapSerialization
()
throws
Exception
{
Foo
foo
=
new
Foo
();
foo
.
m
.
put
(
"abc"
,
"def"
);
foo
.
m
.
put
(
"ghi"
,
"jkl"
);
File
v
=
File
.
createTempFile
(
"hashmap"
,
"xml"
);
try
{
new
XmlFile
(
v
).
write
(
foo
);
// should serialize like map
String
xml
=
FileUtils
.
readFileToString
(
v
);
assertFalse
(
xml
.
contains
(
"java.util.concurrent"
));
//System.out.println(xml);
Foo
deserialized
=
(
Foo
)
xstream
.
fromXML
(
xml
);
assertEquals
(
2
,
deserialized
.
m
.
size
());
assertEquals
(
"def"
,
deserialized
.
m
.
get
(
"abc"
));
assertEquals
(
"jkl"
,
deserialized
.
m
.
get
(
"ghi"
));
}
finally
{
v
.
delete
();
}
// should be able to read in old data just fine
Foo
map
=
(
Foo
)
new
XStream2
().
fromXML
(
getClass
().
getResourceAsStream
(
"old-concurrentHashMap.xml"
));
assertEquals
(
1
,
map
.
m
.
size
());
assertEquals
(
"def"
,
map
.
m
.
get
(
"abc"
));
}
}
core/src/test/resources/hudson/util/old-concurrentHashMap.xml
浏览文件 @
cf9ef4e4
<hudson.util.XStream
Test_-Foo
>
<hudson.util.XStream
2Test_-Foo2
>
<m
serialization=
"custom"
>
<unserializable-parents/>
<java.util.concurrent.ConcurrentHashMap>
...
...
@@ -222,4 +222,4 @@
<null/>
</java.util.concurrent.ConcurrentHashMap>
</m>
</hudson.util.XStreamTest_-Foo>
\ No newline at end of file
</hudson.util.XStream2Test_-Foo2>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录