<!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>TestBaseTestCase xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<pre>

<a name="1" href="#1">1</a>   <strong class="jxr_keyword">package</strong> org.apache.velocity.test;
<a name="2" href="#2">2</a>   
<a name="3" href="#3">3</a>   <em class="jxr_comment">/*</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> *   <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> *</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a name="19" href="#19">19</a>  <em class="jxr_comment"> * under the License.    </em>
<a name="20" href="#20">20</a>  <em class="jxr_comment"> */</em>
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.io.File;
<a name="23" href="#23">23</a>  
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> junit.framework.Test;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> junit.framework.TestSuite;
<a name="26" href="#26">26</a>  
<a name="27" href="#27">27</a>  <em class="jxr_javadoccomment">/**</em>
<a name="28" href="#28">28</a>  <em class="jxr_javadoccomment"> * I keep breaking the getFileName method all the time...</em>
<a name="29" href="#29">29</a>  <em class="jxr_javadoccomment"> */</em>
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/velocity/test/TestBaseTestCase.html">TestBaseTestCase</a>
<a name="31" href="#31">31</a>          <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/velocity/test/BaseTestCase.html">BaseTestCase</a>
<a name="32" href="#32">32</a>  {
<a name="33" href="#33">33</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/velocity/test/TestBaseTestCase.html">TestBaseTestCase</a>(<strong class="jxr_keyword">final</strong> String name)
<a name="34" href="#34">34</a>      {
<a name="35" href="#35">35</a>          <strong class="jxr_keyword">super</strong>(name);
<a name="36" href="#36">36</a>      }
<a name="37" href="#37">37</a>  
<a name="38" href="#38">38</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Test suite()
<a name="39" href="#39">39</a>      {
<a name="40" href="#40">40</a>          <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> TestSuite(TestBaseTestCase.<strong class="jxr_keyword">class</strong>);
<a name="41" href="#41">41</a>      }
<a name="42" href="#42">42</a>  
<a name="43" href="#43">43</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetFileName()
<a name="44" href="#44">44</a>      	<strong class="jxr_keyword">throws</strong> Exception
<a name="45" href="#45">45</a>      {
<a name="46" href="#46">46</a>          String fs = System.getProperty(<span class="jxr_string">"file.separator"</span>);
<a name="47" href="#47">47</a>  	String pwd = System.getProperty(<span class="jxr_string">"user.dir"</span>);
<a name="48" href="#48">48</a>  
<a name="49" href="#49">49</a>          String root = <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"/"</span>).getCanonicalPath();
<a name="50" href="#50">50</a>  
<a name="51" href="#51">51</a>          assertEquals(pwd + fs + <span class="jxr_string">"baz"</span> + fs + <span class="jxr_string">"foo.bar"</span>, getFileName(<span class="jxr_string">"baz"</span>,        <span class="jxr_string">"foo"</span>,  <span class="jxr_string">"bar"</span>));
<a name="52" href="#52">52</a>          assertEquals(root     + <span class="jxr_string">"baz"</span> + fs + <span class="jxr_string">"foo.bar"</span>, getFileName(root + <span class="jxr_string">"baz"</span>, <span class="jxr_string">"foo"</span>,  <span class="jxr_string">"bar"</span>));
<a name="53" href="#53">53</a>          assertEquals(root + <span class="jxr_string">"foo.bar"</span>,                  getFileName(<span class="jxr_string">"baz"</span>,        root + <span class="jxr_string">"foo"</span>, <span class="jxr_string">"bar"</span>));
<a name="54" href="#54">54</a>          assertEquals(root + <span class="jxr_string">"foo.bar"</span>,                  getFileName(root + <span class="jxr_string">"baz"</span>, root + <span class="jxr_string">"foo"</span>, <span class="jxr_string">"bar"</span>));
<a name="55" href="#55">55</a>          assertEquals(<span class="jxr_string">""</span>,                                getFileName(<strong class="jxr_keyword">null</strong>,          <span class="jxr_string">""</span>,     <span class="jxr_string">""</span>));
<a name="56" href="#56">56</a>          assertEquals(root + <span class="jxr_string">""</span>,                         getFileName(<span class="jxr_string">""</span>,            <span class="jxr_string">""</span>,     <span class="jxr_string">""</span>));
<a name="57" href="#57">57</a>          assertEquals(<span class="jxr_string">".x"</span>,                              getFileName(<strong class="jxr_keyword">null</strong>,          <span class="jxr_string">""</span>,     <span class="jxr_string">"x"</span>));
<a name="58" href="#58">58</a>          assertEquals(root + <span class="jxr_string">".x"</span>,                       getFileName(<span class="jxr_string">""</span>,            <span class="jxr_string">""</span>,     <span class="jxr_string">"x"</span>));
<a name="59" href="#59">59</a>          assertEquals(<span class="jxr_string">"foo.bar"</span>,                         getFileName(<strong class="jxr_keyword">null</strong>,         <span class="jxr_string">"foo"</span>,  <span class="jxr_string">"bar"</span>));
<a name="60" href="#60">60</a>          assertEquals(root + <span class="jxr_string">"foo.bar"</span>,                  getFileName(<strong class="jxr_keyword">null</strong>,         root + <span class="jxr_string">"foo"</span>, <span class="jxr_string">"bar"</span>));
<a name="61" href="#61">61</a>          assertEquals(root + <span class="jxr_string">"foo.bar"</span>,                  getFileName(<span class="jxr_string">""</span>,           <span class="jxr_string">"foo"</span>,  <span class="jxr_string">"bar"</span>));
<a name="62" href="#62">62</a>          assertEquals(root + <span class="jxr_string">"foo.bar"</span>,                  getFileName(<span class="jxr_string">""</span>,           root + <span class="jxr_string">"foo"</span>, <span class="jxr_string">"bar"</span>));
<a name="63" href="#63">63</a>      }
<a name="64" href="#64">64</a>  }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

