Last-Modified: Sat, 19 Jul 2025 18:54:26 GMT
Expires: Sat, 19 Jul 2025 18:59:26 GMT

<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nextcloud-server.git/lib/private/Template, branch fix/storage/method-docs-inheritance</title>
<subtitle>Nextcloud server, a safe home for all your data: https://github.com/nextcloud/server</subtitle>
<id>https://source.dussan.org/nextcloud-server.git/atom?h=fix%2Fstorage%2Fmethod-docs-inheritance</id>
<link rel='self' href='https://source.dussan.org/nextcloud-server.git/atom?h=fix%2Fstorage%2Fmethod-docs-inheritance'/>
<link rel='alternate' type='text/html' href='https://source.dussan.org/nextcloud-server.git/'/>
<updated>2024-09-05T19:23:38+00:00</updated>
<entry>
<title>chore: adjust code to adhere to coding standard</title>
<updated>2024-09-05T19:23:38+00:00</updated>
<author>
<name>Anna Larch</name>
<email>anna@nextcloud.com</email>
</author>
<published>2024-09-05T19:23:38+00:00</published>
<link rel='alternate' type='text/html' href='https://source.dussan.org/nextcloud-server.git/commit/?id=8af7ecb2576071f170ecbb0aa2311b26581e40e2'/>
<id>urn:sha1:8af7ecb2576071f170ecbb0aa2311b26581e40e2</id>
<content type='text'>
Signed-off-by: Anna Larch &lt;anna@nextcloud.com&gt;
</content>
</entry>
<entry>
<title>style: update codestyle for coding-standard 1.2.3</title>
<updated>2024-08-25T17:34:58+00:00</updated>
<author>
<name>Daniel Kesselberg</name>
<email>mail@danielkesselberg.de</email>
</author>
<published>2024-08-23T13:10:27+00:00</published>
<link rel='alternate' type='text/html' href='https://source.dussan.org/nextcloud-server.git/commit/?id=af6de04e9e141466dc229e444ff3f146f4a34765'/>
<id>urn:sha1:af6de04e9e141466dc229e444ff3f146f4a34765</id>
<content type='text'>
Signed-off-by: Daniel Kesselberg &lt;mail@danielkesselberg.de&gt;
</content>
</entry>
<entry>
<title>feat: Provide CSP nonce as `&lt;meta&gt;` element</title>
<updated>2024-08-13T08:32:44+00:00</updated>
<author>
<name>Ferdinand Thiessen</name>
<email>opensource@fthiessen.de</email>
</author>
<published>2024-08-01T21:06:55+00:00</published>
<link rel='alternate' type='text/html' href='https://source.dussan.org/nextcloud-server.git/commit/?id=2916e5df7e08fc588e752beaf486d907112a34ee'/>
<id>urn:sha1:2916e5df7e08fc588e752beaf486d907112a34ee</id>
<content type='text'>
This way we use the CSP nonce for dynamically loaded scripts.
Important to notice: The CSP nonce must NOT be injected in `content` as
this can lead to value exfiltration using e.g. side-channel attacts (CSS selectors).

Signed-off-by: Ferdinand Thiessen &lt;opensource@fthiessen.de&gt;
</content>
</entry>
<entry>
<title>feat: let users configure their first day of week</title>
<updated>2024-07-22T20:35:46+00:00</updated>
<author>
<name>Richard Steinmetz</name>
<email>richard@steinmetz.cloud</email>
</author>
<published>2024-07-17T18:15:32+00:00</published>
<link rel='alternate' type='text/html' href='https://source.dussan.org/nextcloud-server.git/commit/?id=b37fb43a32fd8ab91738aeb39a678ddc24f75116'/>
<id>urn:sha1:b37fb43a32fd8ab91738aeb39a678ddc24f75116</id>
<content type='text'>
Signed-off-by: Richard Steinmetz &lt;richard@steinmetz.cloud&gt;
</content>
</entry>
<entry>
<title>feat: Add new forbidden filename options to Capabilities</title>
<updated>2024-07-11T11:31:54+00:00</updated>
<author>
<name>Ferdinand Thiessen</name>
<email>opensource@fthiessen.de</email>
</author>
<published>2024-07-10T14:59:26+00:00</published>
<link rel='alternate' type='text/html' href='https://source.dussan.org/nextcloud-server.git/commit/?id=a229723b8c65183f8cb7b62f24f7b9c41a2b622b'/>
<id>urn:sha1:a229723b8c65183f8cb7b62f24f7b9c41a2b622b</id>
<content type='text'>
Allow clients to access the new filename validation options
and make frontend name validation possible.

Co-authored-by: Ferdinand Thiessen &lt;opensource@fthiessen.de&gt;
Co-authored-by: Kate &lt;26026535+provokateurin@users.noreply.github.com&gt;
Signed-off-by: Ferdinand Thiessen &lt;opensource@fthiessen.de&gt;
</content>
</entry>
<entry>
<title>refactor(Token): introduce scope constants</title>
<updated>2024-06-05T17:01:14+00:00</updated>
<author>
<name>Arthur Schiwon</name>
<email>blizzz@arthur-schiwon.de</email>
</author>
<published>2024-03-15T11:51:31+00:00</published>
<link rel='alternate' type='text/html' href='https://source.dussan.org/nextcloud-server.git/commit/?id=f6d6efef3a26fc5524988cdfba780dce035cd61b'/>
<id>urn:sha1:f6d6efef3a26fc5524988cdfba780dce035cd61b</id>
<content type='text'>
Signed-off-by: Arthur Schiwon &lt;blizzz@arthur-schiwon.de&gt;
</content>
</entry>
<entry>
<title>fix(Session): avoid password confirmation on SSO</title>
<updated>2024-06-05T17:01:13+00:00</updated>
<author>
<name>Arthur Schiwon</name>
<email>blizzz@arthur-schiwon.de</email>
</author>
<published>2024-03-01T17:37:47+00:00</published>
<link rel='alternate' type='text/html' href='https://source.dussan.org/nextcloud-server.git/commit/?id=340939e688fab5c52061bc9e358587fbd8ec9fc8'/>
<id>urn:sha1:340939e688fab5c52061bc9e358587fbd8ec9fc8</id>
<content type='text'>
SSO backends like SAML and OIDC tried a trick to suppress password
confirmations as they are not possible by design. At least for SAML it was
not reliable when existing user backends where used as user repositories.

Now we are setting a special scope with the token, and also make sure that
the scope is taken over when tokens are regenerated.

Signed-off-by: Arthur Schiwon &lt;blizzz@arthur-schiwon.de&gt;
</content>
</entry>
<entry>
<title>chore: Add SPDX header</title>
<updated>2024-05-24T11:11:22+00:00</updated>
<author>
<name>Andy Scherzinger</name>
<email>info@andy-scherzinger.de</email>
</author>
<published>2024-05-23T07:26:56+00:00</published>
<link rel='alternate' type='text/html' href='https://source.dussan.org/nextcloud-server.git/commit/?id=dae7c159f728a90ffa53247d6e033abdae5d2bd6'/>
<id>urn:sha1:dae7c159f728a90ffa53247d6e033abdae5d2bd6</id>
<content type='text'>
Signed-off-by: Andy Scherzinger &lt;info@andy-scherzinger.de&gt;
</content>
</entry>
<entry>
<title>feat: Add `forbidden_filename_characters` to JSConfig for use in frontend libraries</title>
<updated>2024-05-16T14:38:37+00:00</updated>
<author>
<name>Ferdinand Thiessen</name>
<email>opensource@fthiessen.de</email>
</author>
<published>2024-05-16T14:38:12+00:00</published>
<link rel='alternate' type='text/html' href='https://source.dussan.org/nextcloud-server.git/commit/?id=dd4901d68962a3139663e1ce156f9a4e604f9903'/>
<id>urn:sha1:dd4901d68962a3139663e1ce156f9a4e604f9903</id>
<content type='text'>
Add the filename restrictions to our JS config so we can create a common frontend library
function to check filename validity (de-duplicate code).

Signed-off-by: Ferdinand Thiessen &lt;opensource@fthiessen.de&gt;
</content>
</entry>
<entry>
<title>fix: Apply new coding standard to all files</title>
<updated>2024-04-02T12:16:21+00:00</updated>
<author>
<name>Côme Chilliet</name>
<email>come.chilliet@nextcloud.com</email>
</author>
<published>2024-03-28T15:13:19+00:00</published>
<link rel='alternate' type='text/html' href='https://source.dussan.org/nextcloud-server.git/commit/?id=ec5133b739eabc76271789504b4dbb91a534f552'/>
<id>urn:sha1:ec5133b739eabc76271789504b4dbb91a534f552</id>
<content type='text'>
Signed-off-by: Côme Chilliet &lt;come.chilliet@nextcloud.com&gt;
</content>
</entry>
</feed>
abot/gradle/net.bytebuddy-byte-buddy-1.15.11'>dependabot/gradle/net.bytebuddy-byte-buddy-1.15.11</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-1.15.3'>dependabot/gradle/net.bytebuddy-byte-buddy-1.15.3</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-1.15.4'>dependabot/gradle/net.bytebuddy-byte-buddy-1.15.4</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-1.15.5'>dependabot/gradle/net.bytebuddy-byte-buddy-1.15.5</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-1.15.7'>dependabot/gradle/net.bytebuddy-byte-buddy-1.15.7</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-1.17.0'>dependabot/gradle/net.bytebuddy-byte-buddy-1.17.0</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-1.17.1'>dependabot/gradle/net.bytebuddy-byte-buddy-1.17.1</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-1.17.2'>dependabot/gradle/net.bytebuddy-byte-buddy-1.17.2</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-1.17.4'>dependabot/gradle/net.bytebuddy-byte-buddy-1.17.4</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-1.17.5'>dependabot/gradle/net.bytebuddy-byte-buddy-1.17.5</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-1.17.6'>dependabot/gradle/net.bytebuddy-byte-buddy-1.17.6</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.15.10'>dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.15.10</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.15.11'>dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.15.11</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.15.3'>dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.15.3</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.15.4'>dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.15.4</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.15.5'>dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.15.5</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.15.7'>dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.15.7</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.17.0'>dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.17.0</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.17.1'>dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.17.1</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.17.2'>dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.17.2</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.17.4'>dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.17.4</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.17.5'>dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.17.5</option>
<option value='dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.17.6'>dependabot/gradle/net.bytebuddy-byte-buddy-agent-1.17.6</option>
<option value='dependabot/gradle/net.sf.saxon-Saxon-HE-12.6'>dependabot/gradle/net.sf.saxon-Saxon-HE-12.6</option>
<option value='dependabot/gradle/net.sf.saxon-Saxon-HE-12.8'>dependabot/gradle/net.sf.saxon-Saxon-HE-12.8</option>
<option value='dependabot/gradle/org.apache.commons-commons-collections4-4.5.0'>dependabot/gradle/org.apache.commons-commons-collections4-4.5.0</option>
<option value='dependabot/gradle/org.apache.pdfbox-pdfbox-3.0.4'>dependabot/gradle/org.apache.pdfbox-pdfbox-3.0.4</option>
<option value='dependabot/gradle/org.apache.pdfbox-pdfbox-3.0.5'>dependabot/gradle/org.apache.pdfbox-pdfbox-3.0.5</option>
<option value='dependabot/gradle/org.apache.santuario-xmlsec-4.0.3'>dependabot/gradle/org.apache.santuario-xmlsec-4.0.3</option>
<option value='dependabot/gradle/org.apache.santuario-xmlsec-4.0.4'>dependabot/gradle/org.apache.santuario-xmlsec-4.0.4</option>
<option value='dependabot/gradle/org.apache.xmlbeans-xmlbeans-5.2.2'>dependabot/gradle/org.apache.xmlbeans-xmlbeans-5.2.2</option>
<option value='dependabot/gradle/org.cyclonedx.bom-2.0.0'>dependabot/gradle/org.cyclonedx.bom-2.0.0</option>
<option value='dependabot/gradle/org.cyclonedx.bom-2.1.0'>dependabot/gradle/org.cyclonedx.bom-2.1.0</option>
<option value='dependabot/gradle/org.cyclonedx.bom-2.2.0'>dependabot/gradle/org.cyclonedx.bom-2.2.0</option>
<option value='dependabot/gradle/org.cyclonedx.bom-2.3.0'>dependabot/gradle/org.cyclonedx.bom-2.3.0</option>
<option value='dependabot/gradle/org.junit.jupiter-junit-jupiter-5.13.3'>dependabot/gradle/org.junit.jupiter-junit-jupiter-5.13.3</option>
<option value='dependabot/gradle/org.junit.platform-junit-platform-launcher-1.12.1'>dependabot/gradle/org.junit.platform-junit-platform-launcher-1.12.1</option>
<option value='dependabot/gradle/org.junit.platform-junit-platform-launcher-1.12.2'>dependabot/gradle/org.junit.platform-junit-platform-launcher-1.12.2</option>
<option value='dependabot/gradle/org.junit.platform-junit-platform-launcher-1.13.0'>dependabot/gradle/org.junit.platform-junit-platform-launcher-1.13.0</option>
<option value='dependabot/gradle/org.junit.platform-junit-platform-launcher-1.13.1'>dependabot/gradle/org.junit.platform-junit-platform-launcher-1.13.1</option>
<option value='dependabot/gradle/org.mockito-mockito-core-5.14.1'>dependabot/gradle/org.mockito-mockito-core-5.14.1</option>
<option value='dependabot/gradle/org.mockito-mockito-core-5.14.2'>dependabot/gradle/org.mockito-mockito-core-5.14.2</option>
<option value='dependabot/gradle/org.mockito-mockito-core-5.15.2'>dependabot/gradle/org.mockito-mockito-core-5.15.2</option>
<option value='dependabot/gradle/org.mockito-mockito-core-5.16.0'>dependabot/gradle/org.mockito-mockito-core-5.16.0</option>
<option value='dependabot/gradle/org.mockito-mockito-core-5.16.1'>dependabot/gradle/org.mockito-mockito-core-5.16.1</option>
<option value='dependabot/gradle/org.mockito-mockito-core-5.17.0'>dependabot/gradle/org.mockito-mockito-core-5.17.0</option>
<option value='dependabot/gradle/org.mockito-mockito-core-5.18.0'>dependabot/gradle/org.mockito-mockito-core-5.18.0</option>
<option value='dependabot/gradle/org.slf4j-slf4j-api-2.0.17'>dependabot/gradle/org.slf4j-slf4j-api-2.0.17</option>
<option value='dependabot/gradle/org.slf4j-slf4j-simple-2.0.17'>dependabot/gradle/org.slf4j-slf4j-simple-2.0.17</option>
<option value='dependabot/gradle/org.sonarqube-6.0.0.5145'>dependabot/gradle/org.sonarqube-6.0.0.5145</option>
<option value='dependabot/gradle/org.sonarqube-6.1.0.5360'>dependabot/gradle/org.sonarqube-6.1.0.5360</option>
<option value='dependabot/gradle/org.sonarqube-6.2.0.5505'>dependabot/gradle/org.sonarqube-6.2.0.5505</option>
<option value='dependabot/gradle/org.xmlunit-xmlunit-core-2.10.1'>dependabot/gradle/org.xmlunit-xmlunit-core-2.10.1</option>
<option value='dependabot/gradle/org.xmlunit-xmlunit-core-2.10.3'>dependabot/gradle/org.xmlunit-xmlunit-core-2.10.3</option>
<option value='excelant'>excelant</option>
<option value='gsoc2012'>gsoc2012</option>
<option value='hemf'>hemf</option>
<option value='hssf_cryptoapi'>hssf_cryptoapi</option>
<option value='jakarta-poi'>jakarta-poi</option>
<option value='log4j'>log4j</option>
<option value='maven'>maven</option>
<option value='mv'>mv</option>
<option value='ooxml'>ooxml</option>
<option value='performance-branch'>performance-branch</option>
<option value='ss_border_property_template'>ss_border_property_template</option>
<option value='table-borders'>table-borders</option>
<option value='trunk' selected='selected'>trunk</option>
<option value='wmf_render'>wmf_render</option>
<option value='xml_signature'>xml_signature</option>
<option value='xssf_structured_references'>xssf_structured_references</option>
</select> <input type='submit' value='switch'/></form></td></tr>
<tr><td class='sub'>Mirror of Apache POI: https://github.com/apache/poi</td><td class='sub right'>www-data</td></tr></table>
<table class='tabs'><tr><td>
<a href='/poi.git/about/'>about</a><a href='/poi.git/'>summary</a><a href='/poi.git/refs/'>refs</a><a href='/poi.git/log/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestTable.java'>log</a><a class='active' href='/poi.git/tree/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestTable.java'>tree</a><a href='/poi.git/commit/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestTable.java'>commit</a><a href='/poi.git/diff/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestTable.java'>diff</a><a href='/poi.git/stats/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestTable.java'>stats</a></td><td class='form'><form class='right' method='get' action='/poi.git/log/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestTable.java'>
<select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/poi.git/tree/'>root</a>/<a href='/poi.git/tree/poi-scratchpad'>poi-scratchpad</a>/<a href='/poi.git/tree/poi-scratchpad/src'>src</a>/<a href='/poi.git/tree/poi-scratchpad/src/test'>test</a>/<a href='/poi.git/tree/poi-scratchpad/src/test/java'>java</a>/<a href='/poi.git/tree/poi-scratchpad/src/test/java/org'>org</a>/<a href='/poi.git/tree/poi-scratchpad/src/test/java/org/apache'>apache</a>/<a href='/poi.git/tree/poi-scratchpad/src/test/java/org/apache/poi'>poi</a>/<a href='/poi.git/tree/poi-scratchpad/src/test/java/org/apache/poi/hslf'>hslf</a>/<a href='/poi.git/tree/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel'>usermodel</a>/<a href='/poi.git/tree/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestTable.java'>TestTable.java</a></div><div class='content'>blob: b02fd31b32decda22822affe2b92fc26f16a6bdc (<a href='/poi.git/plain/poi-scratchpad/src/test/java/org/apache/poi/hslf/usermodel/TestTable.java'>plain</a>)
<table summary='blob content' class='blob'>
<tr><td class='linenumbers'><pre><a id='n1' href='#n1'>1</a>
<a id='n2' href='#n2'>2</a>
<a id='n3' href='#n3'>3</a>
<a id='n4' href='#n4'>4</a>
<a id='n5' href='#n5'>5</a>
<a id='n6' href='#n6'>6</a>
<a id='n7' href='#n7'>7</a>
<a id='n8' href='#n8'>8</a>
<a id='n9' href='#n9'>9</a>
<a id='n10' href='#n10'>10</a>
<a id='n11' href='#n11'>11</a>
<a id='n12' href='#n12'>12</a>
<a id='n13' href='#n13'>13</a>
<a id='n14' href='#n14'>14</a>
<a id='n15' href='#n15'>15</a>
<a id='n16' href='#n16'>16</a>
<a id='n17' href='#n17'>17</a>
<a id='n18' href='#n18'>18</a>
<a id='n19' href='#n19'>19</a>
<a id='n20' href='#n20'>20</a>
<a id='n21' href='#n21'>21</a>
<a id='n22' href='#n22'>22</a>
<a id='n23' href='#n23'>23</a>
<a id='n24' href='#n24'>24</a>
<a id='n25' href='#n25'>25</a>
<a id='n26' href='#n26'>26</a>
<a id='n27' href='#n27'>27</a>
<a id='n28' href='#n28'>28</a>
<a id='n29' href='#n29'>29</a>
<a id='n30' href='#n30'>30</a>
<a id='n31' href='#n31'>31</a>
<a id='n32' href='#n32'>32</a>
<a id='n33' href='#n33'>33</a>
<a id='n34' href='#n34'>34</a>
<a id='n35' href='#n35'>35</a>
<a id='n36' href='#n36'>36</a>
<a id='n37' href='#n37'>37</a>
<a id='n38' href='#n38'>38</a>
<a id='n39' href='#n39'>39</a>
<a id='n40' href='#n40'>40</a>
<a id='n41' href='#n41'>41</a>
<a id='n42' href='#n42'>42</a>
<a id='n43' href='#n43'>43</a>
<a id='n44' href='#n44'>44</a>
<a id='n45' href='#n45'>45</a>
<a id='n46' href='#n46'>46</a>
<a id='n47' href='#n47'>47</a>
<a id='n48' href='#n48'>48</a>
<a id='n49' href='#n49'>49</a>
<a id='n50' href='#n50'>50</a>
<a id='n51' href='#n51'>51</a>
<a id='n52' href='#n52'>52</a>
<a id='n53' href='#n53'>53</a>
<a id='n54' href='#n54'>54</a>
<a id='n55' href='#n55'>55</a>
<a id='n56' href='#n56'>56</a>
<a id='n57' href='#n57'>57</a>
<a id='n58' href='#n58'>58</a>
<a id='n59' href='#n59'>59</a>
<a id='n60' href='#n60'>60</a>
<a id='n61' href='#n61'>61</a>
<a id='n62' href='#n62'>62</a>
<a id='n63' href='#n63'>63</a>
<a id='n64' href='#n64'>64</a>
<a id='n65' href='#n65'>65</a>
<a id='n66' href='#n66'>66</a>
<a id='n67' href='#n67'>67</a>
<a id='n68' href='#n68'>68</a>
<a id='n69' href='#n69'>69</a>
<a id='n70' href='#n70'>70</a>
<a id='n71' href='#n71'>71</a>
<a id='n72' href='#n72'>72</a>
<a id='n73' href='#n73'>73</a>
<a id='n74' href='#n74'>74</a>
<a id='n75' href='#n75'>75</a>
<a id='n76' href='#n76'>76</a>
<a id='n77' href='#n77'>77</a>
<a id='n78' href='#n78'>78</a>
<a id='n79' href='#n79'>79</a>
<a id='n80' href='#n80'>80</a>
<a id='n81' href='#n81'>81</a>
<a id='n82' href='#n82'>82</a>
<a id='n83' href='#n83'>83</a>
<a id='n84' href='#n84'>84</a>
<a id='n85' href='#n85'>85</a>
<a id='n86' href='#n86'>86</a>
<a id='n87' href='#n87'>87</a>
<a id='n88' href='#n88'>88</a>
<a id='n89' href='#n89'>89</a>
<a id='n90' href='#n90'>90</a>
<a id='n91' href='#n91'>91</a>
<a id='n92' href='#n92'>92</a>
<a id='n93' href='#n93'>93</a>
<a id='n94' href='#n94'>94</a>
<a id='n95' href='#n95'>95</a>
<a id='n96' href='#n96'>96</a>
<a id='n97' href='#n97'>97</a>
<a id='n98' href='#n98'>98</a>
<a id='n99' href='#n99'>99</a>
<a id='n100' href='#n100'>100</a>
<a id='n101' href='#n101'>101</a>
<a id='n102' href='#n102'>102</a>
<a id='n103' href='#n103'>103</a>
<a id='n104' href='#n104'>104</a>
<a id='n105' href='#n105'>105</a>
<a id='n106' href='#n106'>106</a>
<a id='n107' href='#n107'>107</a>
<a id='n108' href='#n108'>108</a>
<a id='n109' href='#n109'>109</a>
<a id='n110' href='#n110'>110</a>
<a id='n111' href='#n111'>111</a>
<a id='n112' href='#n112'>112</a>
<a id='n113' href='#n113'>113</a>
<a id='n114' href='#n114'>114</a>
<a id='n115' href='#n115'>115</a>
<a id='n116' href='#n116'>116</a>
<a id='n117' href='#n117'>117</a>
<a id='n118' href='#n118'>118</a>
<a id='n119' href='#n119'>119</a>
<a id='n120' href='#n120'>120</a>
<a id='n121' href='#n121'>121</a>
<a id='n122' href='#n122'>122</a>
<a id='n123' href='#n123'>123</a>
<a id='n124' href='#n124'>124</a>
<a id='n125' href='#n125'>125</a>
<a id='n126' href='#n126'>126</a>
<a id='n127' href='#n127'>127</a>
<a id='n128' href='#n128'>128</a>
<a id='n129' href='#n129'>129</a>
<a id='n130' href='#n130'>130</a>
<a id='n131' href='#n131'>131</a>
<a id='n132' href='#n132'>132</a>
<a id='n133' href='#n133'>133</a>
<a id='n134' href='#n134'>134</a>
<a id='n135' href='#n135'>135</a>
<a id='n136' href='#n136'>136</a>
<a id='n137' href='#n137'>137</a>
<a id='n138' href='#n138'>138</a>
<a id='n139' href='#n139'>139</a>
<a id='n140' href='#n140'>140</a>
<a id='n141' href='#n141'>141</a>
<a id='n142' href='#n142'>142</a>
<a id='n143' href='#n143'>143</a>
<a id='n144' href='#n144'>144</a>
<a id='n145' href='#n145'>145</a>
<a id='n146' href='#n146'>146</a>
<a id='n147' href='#n147'>147</a>
<a id='n148' href='#n148'>148</a>
<a id='n149' href='#n149'>149</a>
<a id='n150' href='#n150'>150</a>
<a id='n151' href='#n151'>151</a>
<a id='n152' href='#n152'>152</a>
<a id='n153' href='#n153'>153</a>
<a id='n154' href='#n154'>154</a>
<a id='n155' href='#n155'>155</a>
</pre></td>
<td class='lines'><pre><code><style>pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */</style><div class="highlight"><pre><span></span><span class="cm">/*</span>
<span class="cm"> *  ====================================================================</span>
<span class="cm"> *    Licensed to the Apache Software Foundation (ASF) under one or more</span>
<span class="cm"> *    contributor license agreements.  See the NOTICE file distributed with</span>
<span class="cm"> *    this work for additional information regarding copyright ownership.</span>
<span class="cm"> *    The ASF licenses this file to You under the Apache License, Version 2.0</span>
<span class="cm"> *    (the &quot;License&quot;); you may not use this file except in compliance with</span>
<span class="cm"> *    the License.  You may obtain a copy of the License at</span>
<span class="cm"> *</span>
<span class="cm"> *        http://www.apache.org/licenses/LICENSE-2.0</span>
<span class="cm"> *</span>
<span class="cm"> *    Unless required by applicable law or agreed to in writing, software</span>
<span class="cm"> *    distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
<span class="cm"> *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<span class="cm"> *    See the License for the specific language governing permissions and</span>
<span class="cm"> *    limitations under the License.</span>
<span class="cm"> * ====================================================================</span>
<span class="cm"> */</span>

<span class="kn">package</span><span class="w"> </span><span class="nn">org.apache.poi.hslf.usermodel</span><span class="p">;</span>

<span class="kn">import static</span><span class="w"> </span><span class="nn">org.apache.poi.hslf.HSLFTestDataSamples.writeOutAndReadBack</span><span class="p">;</span>
<span class="kn">import static</span><span class="w"> </span><span class="nn">org.junit.jupiter.api.Assertions.assertEquals</span><span class="p">;</span>
<span class="kn">import static</span><span class="w"> </span><span class="nn">org.junit.jupiter.api.Assertions.assertFalse</span><span class="p">;</span>
<span class="kn">import static</span><span class="w"> </span><span class="nn">org.junit.jupiter.api.Assertions.assertNotNull</span><span class="p">;</span>
<span class="kn">import static</span><span class="w"> </span><span class="nn">org.junit.jupiter.api.Assertions.assertTrue</span><span class="p">;</span>

<span class="kn">import</span><span class="w"> </span><span class="nn">java.awt.Color</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">java.awt.geom.Rectangle2D</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">java.io.IOException</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">java.util.List</span><span class="p">;</span>

<span class="kn">import</span><span class="w"> </span><span class="nn">org.apache.poi.hslf.HSLFTestDataSamples</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.apache.poi.sl.draw.DrawTableShape</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.apache.poi.sl.usermodel.StrokeStyle</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.junit.jupiter.api.Test</span><span class="p">;</span>


<span class="cm">/**</span>
<span class="cm"> * Table related tests</span>
<span class="cm"> */</span>
<span class="kd">public</span><span class="w"> </span><span class="kd">class</span> <span class="nc">TestTable</span><span class="w"> </span><span class="p">{</span>
<span class="w">    </span><span class="nd">@Test</span>
<span class="w">    </span><span class="kt">void</span><span class="w"> </span><span class="nf">moveTable</span><span class="p">()</span><span class="w"> </span><span class="kd">throws</span><span class="w"> </span><span class="n">IOException</span><span class="w"> </span><span class="p">{</span>
<span class="w">        </span><span class="n">HSLFSlideShow</span><span class="w"> </span><span class="n">ppt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">HSLFSlideShow</span><span class="p">();</span>
<span class="w">        </span><span class="n">HSLFSlide</span><span class="w"> </span><span class="n">slide</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ppt</span><span class="p">.</span><span class="na">createSlide</span><span class="p">();</span>
<span class="w">        </span><span class="kt">int</span><span class="w"> </span><span class="n">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="n">cols</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">5</span><span class="p">;</span>
<span class="w">        </span><span class="n">HSLFTable</span><span class="w"> </span><span class="n">table</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">slide</span><span class="p">.</span><span class="na">createTable</span><span class="p">(</span><span class="n">rows</span><span class="p">,</span><span class="w"> </span><span class="n">cols</span><span class="p">);</span>
<span class="w">        </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">row</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">row</span><span class="o">&lt;</span><span class="n">rows</span><span class="p">;</span><span class="w"> </span><span class="n">row</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">            </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">col</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">col</span><span class="o">&lt;</span><span class="n">cols</span><span class="p">;</span><span class="w"> </span><span class="n">col</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">                </span><span class="n">HSLFTableCell</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">table</span><span class="p">.</span><span class="na">getCell</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="w"> </span><span class="n">col</span><span class="p">);</span>
<span class="w">                </span><span class="n">assertNotNull</span><span class="p">(</span><span class="n">c</span><span class="p">);</span>
<span class="w">                </span><span class="n">c</span><span class="p">.</span><span class="na">setText</span><span class="p">(</span><span class="s">&quot;r&quot;</span><span class="o">+</span><span class="n">row</span><span class="o">+</span><span class="s">&quot;c&quot;</span><span class="o">+</span><span class="n">col</span><span class="p">);</span>
<span class="w">            </span><span class="p">}</span>
<span class="w">        </span><span class="p">}</span>

<span class="w">        </span><span class="k">new</span><span class="w"> </span><span class="n">DrawTableShape</span><span class="p">(</span><span class="n">table</span><span class="p">).</span><span class="na">setAllBorders</span><span class="p">(</span><span class="mf">1.0</span><span class="p">,</span><span class="w"> </span><span class="n">Color</span><span class="p">.</span><span class="na">black</span><span class="p">,</span><span class="w"> </span><span class="n">StrokeStyle</span><span class="p">.</span><span class="na">LineDash</span><span class="p">.</span><span class="na">DASH_DOT</span><span class="p">);</span>

<span class="w">        </span><span class="n">table</span><span class="p">.</span><span class="na">setAnchor</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">Rectangle2D</span><span class="p">.</span><span class="na">Double</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">400</span><span class="p">,</span><span class="w"> </span><span class="mi">400</span><span class="p">));</span>

<span class="w">        </span><span class="n">Rectangle2D</span><span class="w"> </span><span class="n">rectExp</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Rectangle2D</span><span class="p">.</span><span class="na">Double</span><span class="p">(</span><span class="mi">420</span><span class="p">,</span><span class="mf">366.625</span><span class="p">,</span><span class="mi">80</span><span class="p">,</span><span class="mf">133.375</span><span class="p">);</span>
<span class="w">        </span><span class="n">HSLFTableCell</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">table</span><span class="p">.</span><span class="na">getCell</span><span class="p">(</span><span class="n">rows</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">cols</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="w">        </span><span class="n">assertNotNull</span><span class="p">(</span><span class="n">c</span><span class="p">);</span>
<span class="w">        </span><span class="n">Rectangle2D</span><span class="w"> </span><span class="n">rectAct</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="p">.</span><span class="na">getAnchor</span><span class="p">();</span>
<span class="w">        </span><span class="n">assertEquals</span><span class="p">(</span><span class="n">rectExp</span><span class="p">,</span><span class="w"> </span><span class="n">rectAct</span><span class="p">);</span>
<span class="w">        </span><span class="n">ppt</span><span class="p">.</span><span class="na">close</span><span class="p">();</span>
<span class="w">    </span><span class="p">}</span>

<span class="w">    </span><span class="nd">@Test</span>
<span class="w">    </span><span class="kt">void</span><span class="w"> </span><span class="nf">testTable</span><span class="p">()</span><span class="w"> </span><span class="kd">throws</span><span class="w"> </span><span class="n">IOException</span><span class="w"> </span><span class="p">{</span>
<span class="w">        </span><span class="k">try</span><span class="w"> </span><span class="p">(</span><span class="n">HSLFSlideShow</span><span class="w"> </span><span class="n">ppt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">HSLFTestDataSamples</span><span class="p">.</span><span class="na">getSlideShow</span><span class="p">(</span><span class="s">&quot;54111.ppt&quot;</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">            </span><span class="n">List</span><span class="o">&lt;</span><span class="n">HSLFSlide</span><span class="o">&gt;</span><span class="w"> </span><span class="n">slides</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ppt</span><span class="p">.</span><span class="na">getSlides</span><span class="p">();</span>
<span class="w">            </span><span class="n">assertEquals</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">slides</span><span class="p">.</span><span class="na">size</span><span class="p">());</span>
<span class="w">            </span><span class="n">checkSlide</span><span class="p">(</span><span class="n">slides</span><span class="p">.</span><span class="na">get</span><span class="p">(</span><span class="mi">0</span><span class="p">));</span>
<span class="w">        </span><span class="p">}</span>
<span class="w">    </span><span class="p">}</span>

<span class="w">    </span><span class="kd">private</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">checkSlide</span><span class="p">(</span><span class="kd">final</span><span class="w"> </span><span class="n">HSLFSlide</span><span class="w"> </span><span class="n">s</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">        </span><span class="n">List</span><span class="o">&lt;</span><span class="n">List</span><span class="o">&lt;</span><span class="n">HSLFTextParagraph</span><span class="o">&gt;&gt;</span><span class="w"> </span><span class="n">textRuns</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">s</span><span class="p">.</span><span class="na">getTextParagraphs</span><span class="p">();</span>
<span class="w">        </span><span class="n">assertEquals</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">textRuns</span><span class="p">.</span><span class="na">size</span><span class="p">());</span>

<span class="w">        </span><span class="n">HSLFTextRun</span><span class="w"> </span><span class="n">textRun</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">textRuns</span><span class="p">.</span><span class="na">get</span><span class="p">(</span><span class="mi">0</span><span class="p">).</span><span class="na">get</span><span class="p">(</span><span class="mi">0</span><span class="p">).</span><span class="na">getTextRuns</span><span class="p">().</span><span class="na">get</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="w">        </span><span class="n">assertEquals</span><span class="p">(</span><span class="s">&quot;Table sample&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">textRun</span><span class="p">.</span><span class="na">getRawText</span><span class="p">().</span><span class="na">trim</span><span class="p">());</span>
<span class="w">        </span><span class="n">assertEquals</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">textRuns</span><span class="p">.</span><span class="na">get</span><span class="p">(</span><span class="mi">0</span><span class="p">).</span><span class="na">get</span><span class="p">(</span><span class="mi">0</span><span class="p">).</span><span class="na">getTextRuns</span><span class="p">().</span><span class="na">size</span><span class="p">());</span>
<span class="w">        </span><span class="n">assertFalse</span><span class="p">(</span><span class="n">textRun</span><span class="p">.</span><span class="na">getTextParagraph</span><span class="p">().</span><span class="na">isBullet</span><span class="p">());</span>

<span class="w">        </span><span class="n">assertEquals</span><span class="p">(</span><span class="s">&quot;Dummy text&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">HSLFTextParagraph</span><span class="p">.</span><span class="na">getRawText</span><span class="p">(</span><span class="n">textRuns</span><span class="p">.</span><span class="na">get</span><span class="p">(</span><span class="mi">1</span><span class="p">)));</span>

<span class="w">        </span><span class="n">List</span><span class="o">&lt;</span><span class="n">HSLFShape</span><span class="o">&gt;</span><span class="w"> </span><span class="n">shapes</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">s</span><span class="p">.</span><span class="na">getShapes</span><span class="p">();</span>
<span class="w">        </span><span class="n">assertNotNull</span><span class="p">(</span><span class="n">shapes</span><span class="p">);</span>
<span class="w">        </span><span class="n">assertEquals</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="n">shapes</span><span class="p">.</span><span class="na">size</span><span class="p">());</span>
<span class="w">        </span><span class="n">assertTrue</span><span class="p">(</span><span class="n">shapes</span><span class="p">.</span><span class="na">get</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="k">instanceof</span><span class="w"> </span><span class="n">HSLFTable</span><span class="p">);</span>
<span class="w">        </span><span class="kd">final</span><span class="w"> </span><span class="n">HSLFTable</span><span class="w"> </span><span class="n">table</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">HSLFTable</span><span class="p">)</span><span class="w"> </span><span class="n">shapes</span><span class="p">.</span><span class="na">get</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span>
<span class="w">        </span><span class="n">assertEquals</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="n">table</span><span class="p">.</span><span class="na">getNumberOfColumns</span><span class="p">());</span>
<span class="w">        </span><span class="n">assertEquals</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="n">table</span><span class="p">.</span><span class="na">getNumberOfRows</span><span class="p">());</span>
<span class="w">        </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">4</span><span class="p">;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">            </span><span class="n">HSLFTableCell</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">table</span><span class="p">.</span><span class="na">getCell</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span>
<span class="w">            </span><span class="n">assertNotNull</span><span class="p">(</span><span class="n">c</span><span class="p">);</span>
<span class="w">            </span><span class="n">assertEquals</span><span class="p">(</span><span class="s">&quot;TH Cell &quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="p">(</span><span class="n">x</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="n">HSLFTextParagraph</span><span class="p">.</span><span class="na">getRawText</span><span class="p">(</span><span class="n">c</span><span class="p">.</span><span class="na">getTextParagraphs</span><span class="p">()));</span>
<span class="w">            </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span><span class="w"> </span><span class="n">y</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">6</span><span class="p">;</span><span class="w"> </span><span class="n">y</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">                </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">table</span><span class="p">.</span><span class="na">getCell</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span>
<span class="w">                </span><span class="n">assertNotNull</span><span class="p">(</span><span class="n">c</span><span class="p">);</span>
<span class="w">                </span><span class="n">assertEquals</span><span class="p">(</span><span class="s">&quot;Row &quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">y</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s">&quot;, Cell &quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="p">(</span><span class="n">x</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="n">c</span><span class="p">.</span><span class="na">getText</span><span class="p">());</span>
<span class="w">            </span><span class="p">}</span>
<span class="w">        </span><span class="p">}</span>
<span class="w">    </span><span class="p">}</span>

<span class="w">    </span><span class="nd">@Test</span>
<span class="w">    </span><span class="kt">void</span><span class="w"> </span><span class="nf">testAddText</span><span class="p">()</span><span class="w"> </span><span class="kd">throws</span><span class="w"> </span><span class="n">IOException</span><span class="w"> </span><span class="p">{</span>
<span class="w">        </span><span class="k">try</span><span class="w"> </span><span class="p">(</span><span class="n">HSLFSlideShow</span><span class="w"> </span><span class="n">ppt1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">HSLFSlideShow</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
<span class="w">            </span><span class="n">HSLFSlide</span><span class="w"> </span><span class="n">slide</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ppt1</span><span class="p">.</span><span class="na">createSlide</span><span class="p">();</span>
<span class="w">            </span><span class="n">HSLFTable</span><span class="w"> </span><span class="n">tab</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">slide</span><span class="p">.</span><span class="na">createTable</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">);</span>

<span class="w">            </span><span class="kt">int</span><span class="w"> </span><span class="n">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">tab</span><span class="p">.</span><span class="na">getNumberOfRows</span><span class="p">();</span>
<span class="w">            </span><span class="kt">int</span><span class="w"> </span><span class="n">cols</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">tab</span><span class="p">.</span><span class="na">getNumberOfColumns</span><span class="p">();</span>
<span class="w">            </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">row</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">row</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">rows</span><span class="p">;</span><span class="w"> </span><span class="n">row</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">                </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">col</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">col</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">cols</span><span class="p">;</span><span class="w"> </span><span class="n">col</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">                    </span><span class="n">HSLFTableCell</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">tab</span><span class="p">.</span><span class="na">getCell</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="w"> </span><span class="n">col</span><span class="p">);</span>
<span class="w">                    </span><span class="n">assertNotNull</span><span class="p">(</span><span class="n">c</span><span class="p">);</span>
<span class="w">                    </span><span class="n">c</span><span class="p">.</span><span class="na">setText</span><span class="p">(</span><span class="s">&quot;r&quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="p">(</span><span class="n">row</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s">&quot;c&quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="p">(</span><span class="n">col</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">));</span>
<span class="w">                </span><span class="p">}</span>
<span class="w">            </span><span class="p">}</span>

<span class="w">            </span><span class="k">try</span><span class="w"> </span><span class="p">(</span><span class="n">HSLFSlideShow</span><span class="w"> </span><span class="n">ppt2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">writeOutAndReadBack</span><span class="p">(</span><span class="n">ppt1</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">                </span><span class="n">slide</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ppt2</span><span class="p">.</span><span class="na">getSlides</span><span class="p">().</span><span class="na">get</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="w">                </span><span class="n">tab</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">HSLFTable</span><span class="p">)</span><span class="w"> </span><span class="n">slide</span><span class="p">.</span><span class="na">getShapes</span><span class="p">().</span><span class="na">get</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>

<span class="w">                </span><span class="n">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">tab</span><span class="p">.</span><span class="na">getNumberOfRows</span><span class="p">();</span>
<span class="w">                </span><span class="n">cols</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">tab</span><span class="p">.</span><span class="na">getNumberOfColumns</span><span class="p">();</span>
<span class="w">                </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">row</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">row</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">rows</span><span class="p">;</span><span class="w"> </span><span class="n">row</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">                    </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">col</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">col</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">cols</span><span class="p">;</span><span class="w"> </span><span class="n">col</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">                        </span><span class="n">HSLFTableCell</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">tab</span><span class="p">.</span><span class="na">getCell</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="w"> </span><span class="n">col</span><span class="p">);</span>
<span class="w">                        </span><span class="n">assertNotNull</span><span class="p">(</span><span class="n">c</span><span class="p">);</span>
<span class="w">                        </span><span class="n">c</span><span class="p">.</span><span class="na">setText</span><span class="p">(</span><span class="n">c</span><span class="p">.</span><span class="na">getText</span><span class="p">()</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s">&quot;...&quot;</span><span class="p">);</span>
<span class="w">                    </span><span class="p">}</span>
<span class="w">                </span><span class="p">}</span>

<span class="w">                </span><span class="k">try</span><span class="w"> </span><span class="p">(</span><span class="n">HSLFSlideShow</span><span class="w"> </span><span class="n">ppt3</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">writeOutAndReadBack</span><span class="p">(</span><span class="n">ppt2</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">                    </span><span class="n">slide</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ppt3</span><span class="p">.</span><span class="na">getSlides</span><span class="p">().</span><span class="na">get</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="w">                    </span><span class="n">tab</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">HSLFTable</span><span class="p">)</span><span class="w"> </span><span class="n">slide</span><span class="p">.</span><span class="na">getShapes</span><span class="p">().</span><span class="na">get</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>

<span class="w">                    </span><span class="n">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">tab</span><span class="p">.</span><span class="na">getNumberOfRows</span><span class="p">();</span>
<span class="w">                    </span><span class="n">cols</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">tab</span><span class="p">.</span><span class="na">getNumberOfColumns</span><span class="p">();</span>
<span class="w">                    </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">row</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">row</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">rows</span><span class="p">;</span><span class="w"> </span><span class="n">row</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">                        </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">col</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">col</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">cols</span><span class="p">;</span><span class="w"> </span><span class="n">col</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">                            </span><span class="n">HSLFTableCell</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">tab</span><span class="p">.</span><span class="na">getCell</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="w"> </span><span class="n">col</span><span class="p">);</span>
<span class="w">                            </span><span class="n">assertNotNull</span><span class="p">(</span><span class="n">c</span><span class="p">);</span>
<span class="w">                            </span><span class="n">assertEquals</span><span class="p">(</span><span class="s">&quot;r&quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="p">(</span><span class="n">row</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s">&quot;c&quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="p">(</span><span class="n">col</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s">&quot;...&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">c</span><span class="p">.</span><span class="na">getText</span><span class="p">());</span>
<span class="w">                        </span><span class="p">}</span>
<span class="w">                    </span><span class="p">}</span>
<span class="w">                </span><span class="p">}</span>
<span class="w">            </span><span class="p">}</span>
<span class="w">        </span><span class="p">}</span>
<span class="w">    </span><span class="p">}</span>
<span class="p">}</span>
</pre></div>
</code></pre></td></tr></table>
</div> <!-- class=content -->
<div class='footer'>generated by <a href='https://git.zx2c4.com/cgit/about/'>cgit v1.2.3</a> (<a href='https://git-scm.com/'>git 2.39.1</a>) at 2025-07-19 18:54:28 +0000</div>
</div> <!-- id=cgit -->
</body>
</html>
