1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.shared.release.transform.jdom2;
20
21 import java.io.StringReader;
22
23 import org.apache.maven.model.Model;
24 import org.apache.maven.model.Scm;
25 import org.jdom2.Document;
26 import org.jdom2.Element;
27 import org.jdom2.input.SAXBuilder;
28 import org.junit.Test;
29
30 import static org.junit.Assert.assertEquals;
31 import static org.junit.Assert.assertNotNull;
32 import static org.junit.Assert.assertNull;
33
34 public class JDomModelTest {
35 private SAXBuilder builder = new SAXBuilder();
36
37 @Test
38 public void testGetScm() throws Exception {
39 String content = "<project></project>";
40 Document document = builder.build(new StringReader(content));
41 assertNull(new JDomModel(document).getScm());
42 }
43
44 @Test
45 public void testSetScm() throws Exception {
46 String content = "<project></project>";
47 Document document = builder.build(new StringReader(content));
48 Model model = new JDomModel(document);
49 assertNull(model.getScm());
50
51 model.setScm(new Scm());
52 assertNotNull(model.getScm());
53
54 model.setScm(null);
55 assertNull(model.getScm());
56 }
57
58 @Test
59 public void testSetVersion() throws Exception {
60 String content = "<project></project>";
61 Element projectElm = builder.build(new StringReader(content)).getRootElement();
62 Model model = new JDomModel(projectElm);
63 assertNull(model.getVersion());
64
65 model.setVersion("VERSION");
66 assertEquals("VERSION", getVersion(projectElm));
67
68 model.setVersion(null);
69 assertNull(model.getVersion());
70
71
72
73 content = "<project><parent><version>PARENT_VERSION</version></parent></project>";
74 projectElm = builder.build(new StringReader(content)).getRootElement();
75 model = new JDomModel(projectElm);
76 assertNull(model.getVersion());
77
78 model.setVersion("PARENT_VERSION");
79 assertNull(getVersion(projectElm));
80
81 model.setVersion("VERSION");
82 assertEquals("VERSION", getVersion(projectElm));
83
84 model.setVersion(null);
85 assertNull(model.getVersion());
86 }
87
88 private String getVersion(Element projectElm) {
89 return projectElm.getChildText("version", projectElm.getNamespace());
90 }
91 }