• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.apache.velocity.test.issues;
2 
3 /*
4  * Licensed to the Apache Software Foundation (ASF) under one
5  * or more contributor license agreements.  See the NOTICE file
6  * distributed with this work for additional information
7  * regarding copyright ownership.  The ASF licenses this file
8  * to you under the Apache License, Version 2.0 (the
9  * "License"); you may not use this file except in compliance
10  * with the License.  You may obtain a copy of the License at
11  *
12  *   http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17  * KIND, either express or implied.  See the License for the
18  * specific language governing permissions and limitations
19  * under the License.
20  */
21 
22 import org.apache.velocity.test.BaseTestCase;
23 
24 /**
25  * This class tests VELOCITY-736.
26  */
27 public class Velocity736TestCase extends BaseTestCase
28 {
Velocity736TestCase(String name)29     public Velocity736TestCase(String name)
30     {
31        super(name);
32        DEBUG = true;
33     }
34 
testPublicMethodInheritedFromAbstractProtectedClass()35     public void testPublicMethodInheritedFromAbstractProtectedClass() throws Exception
36     {
37         try
38         {
39             toobig(100);
40         }
41         catch (Exception e)
42         {
43             context.put("e", e);
44             assertEvalEquals("100", "$e.permittedSize");
45         }
46     }
47 
toobig(long permitted)48     public void toobig(long permitted) throws Exception
49     {
50         throw new FileSizeLimitExceededException(permitted);
51     }
52 
53     public static class FileUploadException extends Exception {}
54 
55     protected abstract static class SizeException extends FileUploadException
56     {
57         private final long permitted;
SizeException(long permitted)58         protected SizeException(long permitted)
59         {
60             this.permitted = permitted;
61         }
getPermittedSize()62         public long getPermittedSize()
63         {
64             return this.permitted;
65         }
66     }
67 
68     public static class FileSizeLimitExceededException extends SizeException
69     {
FileSizeLimitExceededException(long permitted)70         public FileSizeLimitExceededException(long permitted)
71         {
72             super(permitted);
73         }
74     }
75 
76 }
77