1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 package ifc.util;
28 
29 import com.sun.star.util.XProtectable;
30 import lib.MultiMethodTest;
31 
32 /**
33  * Check the XProtectable interface.
34  */
35 public class _XProtectable extends MultiMethodTest {
36     public XProtectable oObj = null;
37     String sPassWord = "TopSecret";
38 
39     /**
40      * Check, if the sheet is protected.
41      * Has OK status, if this is the case.
42      */
43     public void _isProtected() {
44         requiredMethod("protect()");
45         boolean result = oObj.isProtected();
46         tRes.tested("isProtected()", result);
47     }
48 
49     /**
50      * Protect the sheet
51      */
52     public void _protect() {
53         oObj.protect(sPassWord);
54         tRes.tested("protect()", true);
55     }
56 
57     /**
58      * Unprotect with wrong password, see if it's still protected.
59      * Unprotect with correct password, see if it's unprotected.
60      */
61     public void _unprotect() {
62         requiredMethod("isProtected()");
63         boolean result = true;
64         try {
65             oObj.unprotect("WrongPassword");
66 //            result = false;
67         }
68         catch(com.sun.star.lang.IllegalArgumentException e) {
69             log.println("Correct Exception thrown.");
70         }
71         // just check if it's still protected
72         result &= oObj.isProtected();
73         try {
74             oObj.unprotect(sPassWord);
75         }
76         catch(com.sun.star.lang.IllegalArgumentException e) {
77             log.println("Wrong Exception thrown: password is correct.");
78             result = false;
79         }
80         result &= !oObj.isProtected();
81         tRes.tested("unprotect()", result);
82     }
83 
84 }
85