<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>MRUFileListTest xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../../../../../../apidocs/org/apache/log4j/chainsaw/prefs/MRUFileListTest.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <strong>package</strong> org.apache.log4j.chainsaw.prefs;
<a name="2" href="#2">2</a>   
<a name="3" href="#3">3</a>   <strong>import</strong> java.net.URL;
<a name="4" href="#4">4</a>   
<a name="5" href="#5">5</a>   <strong>import</strong> junit.framework.TestCase;
<a name="6" href="#6">6</a>   
<a name="7" href="#7">7</a>   <strong>import</strong> com.thoughtworks.xstream.XStream;
<a name="8" href="#8">8</a>   <strong>import</strong> com.thoughtworks.xstream.io.xml.DomDriver;
<a name="9" href="#9">9</a>   
<a name="10" href="#10">10</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../../org/apache/log4j/chainsaw/prefs/MRUFileListTest.html">MRUFileListTest</a> <strong>extends</strong> TestCase {
<a name="11" href="#11">11</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String[] urls = <strong>new</strong> String[] {
<a name="12" href="#12">12</a>              <span class="string">"file://foo.bar.txt"</span>,
<a name="13" href="#13">13</a>              <span class="string">"http://www.cnn.com"</span>,
<a name="14" href="#14">14</a>              <span class="string">"file://uber.log"</span>,
<a name="15" href="#15">15</a>              <span class="string">"http://logging.apache.org/"</span>,
<a name="16" href="#16">16</a>              <span class="string">"https://something.com"</span>,
<a name="17" href="#17">17</a>              <span class="string">"file:///usr/local/tomcat/logs/catalina.out"</span>,
<a name="18" href="#18">18</a>              
<a name="19" href="#19">19</a>      };
<a name="20" href="#20">20</a>      
<a name="21" href="#21">21</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> String EXAMPLE_XML = <span class="string">"&lt;org.apache.log4j.chainsaw.prefs.MRUFileList>\n"</span> + 
<a name="22" href="#22">22</a>              <span class="string">"  &lt;fileList>\n"</span> + 
<a name="23" href="#23">23</a>              <span class="string">"    &lt;url>file:/usr/local/tomcat/logs/catalina.out&lt;/url>\n"</span> + 
<a name="24" href="#24">24</a>              <span class="string">"    &lt;url>https://something.com&lt;/url>\n"</span> + 
<a name="25" href="#25">25</a>              <span class="string">"    &lt;url>http://logging.apache.org/&lt;/url>\n"</span> + 
<a name="26" href="#26">26</a>              <span class="string">"    &lt;url>file://uber.log&lt;/url>\n"</span> + 
<a name="27" href="#27">27</a>              <span class="string">"    &lt;url>http://www.cnn.com&lt;/url>\n"</span> + 
<a name="28" href="#28">28</a>              <span class="string">"  &lt;/fileList>\n"</span> + 
<a name="29" href="#29">29</a>              <span class="string">"  &lt;size>5&lt;/size>\n"</span> + 
<a name="30" href="#30">30</a>              <span class="string">"&lt;/org.apache.log4j.chainsaw.prefs.MRUFileList>"</span>;
<a name="31" href="#31">31</a>      
<a name="32" href="#32">32</a>      MRUFileList fl =  MRUFileList.log4jMRU();
<a name="33" href="#33">33</a>      
<a name="34" href="#34">34</a>      
<a name="35" href="#35">35</a>      <strong>public</strong> <strong>void</strong> testMRUFileList() throws Exception {
<a name="36" href="#36">36</a>          
<a name="37" href="#37">37</a>          assertEquals(fl.getMRUList().size(), 0);
<a name="38" href="#38">38</a>          
<a name="39" href="#39">39</a>          <strong>for</strong> (<strong>int</strong> i = 0; i &lt; urls.length; i++) {
<a name="40" href="#40">40</a>              String url = urls[i];
<a name="41" href="#41">41</a>              fl.opened(<strong>new</strong> URL(url));
<a name="42" href="#42">42</a>          }
<a name="43" href="#43">43</a>          
<a name="44" href="#44">44</a>          assertEquals(5, fl.getMRUList().size());
<a name="45" href="#45">45</a>          assertEquals(<strong>new</strong> URL(urls[5]), fl.getMRUList().get(0));
<a name="46" href="#46">46</a>          
<a name="47" href="#47">47</a>          assertTrue(!fl.getMRUList().contains(<strong>new</strong> URL(urls[0])));
<a name="48" href="#48">48</a>          
<a name="49" href="#49">49</a>      }
<a name="50" href="#50">50</a>      
<a name="51" href="#51">51</a>      <strong>public</strong> <strong>void</strong> testSerialization() {
<a name="52" href="#52">52</a>          XStream xstream = <strong>new</strong> XStream(<strong>new</strong> DomDriver());
<a name="53" href="#53">53</a>          String string = xstream.toXML(fl);
<a name="54" href="#54">54</a>          System.out.println(<span class="string">"toXML:"</span>);
<a name="55" href="#55">55</a>          System.out.println(string);
<a name="56" href="#56">56</a>          
<a name="57" href="#57">57</a>          MRUFileList newFL =   (MRUFileList) xstream.fromXML(string);
<a name="58" href="#58">58</a>          assertEquals(5, newFL.getMRUList().size());
<a name="59" href="#59">59</a>          
<a name="60" href="#60">60</a>          System.out.println(<span class="string">"After object->xml->object:"</span>);
<a name="61" href="#61">61</a>          String string2 = xstream.toXML(newFL);
<a name="62" href="#62">62</a>          System.out.println(string2);
<a name="63" href="#63">63</a>          assertEquals(string, string2);
<a name="64" href="#64">64</a>          
<a name="65" href="#65">65</a>          
<a name="66" href="#66">66</a>      }
<a name="67" href="#67">67</a>  
<a name="68" href="#68">68</a>  }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

