Fix typos
Change-Id: I3e012ec27be31748afd2486366ede02939ca3cf1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210567 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
This commit is contained in:
committed by
Julien Nabet
parent
eeb4290b30
commit
6e696502fc
@@ -306,7 +306,7 @@ public class MyPersistObject implements XPersistObject, XTypeProvider,
|
|||||||
* Gives a factory for creating the service.
|
* Gives a factory for creating the service.
|
||||||
* This method is called by the <code>JavaLoader</code>
|
* This method is called by the <code>JavaLoader</code>
|
||||||
* <p>
|
* <p>
|
||||||
* @return returns a <code>XSingleServiceFactory</code> for creating the component
|
* @return returns an <code>XSingleServiceFactory</code> for creating the component
|
||||||
* @param implName the name of the implementation for which a service is desired
|
* @param implName the name of the implementation for which a service is desired
|
||||||
* @param multiFactory the service manager to be used if needed
|
* @param multiFactory the service manager to be used if needed
|
||||||
* @param regKey the registryKey
|
* @param regKey the registryKey
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ public class _XAccessibleContext extends MultiMethodTest {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Calls the method and stores the number of children. <p>
|
* Calls the method and stores the number of children. <p>
|
||||||
* Has <b> OK </b> status if non-negative number returned.
|
* Has <b> OK </b> status if a non-negative number is returned.
|
||||||
*/
|
*/
|
||||||
public void _getAccessibleChildCount() {
|
public void _getAccessibleChildCount() {
|
||||||
childCount = oObj.getAccessibleChildCount();
|
childCount = oObj.getAccessibleChildCount();
|
||||||
@@ -70,8 +70,8 @@ public class _XAccessibleContext extends MultiMethodTest {
|
|||||||
/**
|
/**
|
||||||
* Tries to get every child and checks its parent. <p>
|
* Tries to get every child and checks its parent. <p>
|
||||||
*
|
*
|
||||||
* Has <b> OK </b> status if parent of every child
|
* Has <b> OK </b> status if the parent of every child
|
||||||
* and the tested component are the same objects.
|
* and the tested component are the same object.
|
||||||
*
|
*
|
||||||
* The following method tests are to be completed successfully before :
|
* The following method tests are to be completed successfully before :
|
||||||
* <ul>
|
* <ul>
|
||||||
@@ -190,7 +190,7 @@ public class _XAccessibleContext extends MultiMethodTest {
|
|||||||
* it with tested component.<p>
|
* it with tested component.<p>
|
||||||
*
|
*
|
||||||
* Has <b> OK </b> status if the parent's child and the tested
|
* Has <b> OK </b> status if the parent's child and the tested
|
||||||
* component are the same objects.
|
* component are the same object.
|
||||||
*
|
*
|
||||||
* The following method tests are to be completed successfully before :
|
* The following method tests are to be completed successfully before :
|
||||||
* <ul>
|
* <ul>
|
||||||
@@ -238,7 +238,7 @@ public class _XAccessibleContext extends MultiMethodTest {
|
|||||||
/**
|
/**
|
||||||
* Get the accessible role of component. <p>
|
* Get the accessible role of component. <p>
|
||||||
*
|
*
|
||||||
* Has <b> OK </b> status if non-negative number returned.
|
* Has <b> OK </b> status if a non-negative number is returned.
|
||||||
*/
|
*/
|
||||||
public void _getAccessibleRole() {
|
public void _getAccessibleRole() {
|
||||||
short role = oObj.getAccessibleRole();
|
short role = oObj.getAccessibleRole();
|
||||||
@@ -249,7 +249,7 @@ public class _XAccessibleContext extends MultiMethodTest {
|
|||||||
/**
|
/**
|
||||||
* Get the accessible name of the component. <p>
|
* Get the accessible name of the component. <p>
|
||||||
*
|
*
|
||||||
* Has <b> OK </b> status if the name has non-zero length.
|
* Has <b> OK </b> status if the name is not null.
|
||||||
*/
|
*/
|
||||||
public void _getAccessibleName() {
|
public void _getAccessibleName() {
|
||||||
String name = oObj.getAccessibleName();
|
String name = oObj.getAccessibleName();
|
||||||
@@ -260,7 +260,7 @@ public class _XAccessibleContext extends MultiMethodTest {
|
|||||||
/**
|
/**
|
||||||
* Get the accessible description of the component. <p>
|
* Get the accessible description of the component. <p>
|
||||||
*
|
*
|
||||||
* Has <b> OK </b> status if the description has non-zero length.
|
* Has <b> OK </b> status if the description is not null.
|
||||||
*/
|
*/
|
||||||
public void _getAccessibleDescription() {
|
public void _getAccessibleDescription() {
|
||||||
String descr = oObj.getAccessibleDescription();
|
String descr = oObj.getAccessibleDescription();
|
||||||
|
|||||||
@@ -135,7 +135,7 @@ public class _XComboBox extends MultiMethodTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds one two items to the last position and check the number of
|
* Adds two items to the last position and check the number of
|
||||||
* items after addition. <p>
|
* items after addition. <p>
|
||||||
* Has <b>OK</b> status if the number of items increased by 2.<p>
|
* Has <b>OK</b> status if the number of items increased by 2.<p>
|
||||||
* The following method tests are to be executed before :
|
* The following method tests are to be executed before :
|
||||||
@@ -157,7 +157,7 @@ public class _XComboBox extends MultiMethodTest {
|
|||||||
/**
|
/**
|
||||||
* Gets the current number of items and tries to remove them all
|
* Gets the current number of items and tries to remove them all
|
||||||
* then checks number of items. <p>
|
* then checks number of items. <p>
|
||||||
* Has <b>OK</b> status if no items remains. <p>
|
* Has <b>OK</b> status if no items remain. <p>
|
||||||
* The following method tests are to be executed before :
|
* The following method tests are to be executed before :
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li> <code> getItems </code> </li>
|
* <li> <code> getItems </code> </li>
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ public class _XListBox extends MultiMethodTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds one two items to the last position and check the number of
|
* Adds two items to the last position and check the number of
|
||||||
* items after addition. <p>
|
* items after addition. <p>
|
||||||
* Has <b>OK</b> status if the number of items increased by 2.<p>
|
* Has <b>OK</b> status if the number of items increased by 2.<p>
|
||||||
* The following method tests are to be executed before :
|
* The following method tests are to be executed before :
|
||||||
@@ -178,7 +178,7 @@ public class _XListBox extends MultiMethodTest {
|
|||||||
/**
|
/**
|
||||||
* Gets the current number of items and tries to remove them all
|
* Gets the current number of items and tries to remove them all
|
||||||
* then checks number of items. <p>
|
* then checks number of items. <p>
|
||||||
* Has <b>OK</b> status if no items remains. <p>
|
* Has <b>OK</b> status if no items remain. <p>
|
||||||
* The following method tests are to be executed before :
|
* The following method tests are to be executed before :
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li> <code> getItems </code> </li>
|
* <li> <code> getItems </code> </li>
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ import com.sun.star.lang.IndexOutOfBoundsException;
|
|||||||
* This test needs the following object relations :
|
* This test needs the following object relations :
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> : N relations
|
* <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> : N relations
|
||||||
* which represents objects to be inserted. See below
|
* which represent objects to be inserted. See below
|
||||||
* for more information.</li>
|
* for more information.</li>
|
||||||
* <li> <code>'XIndexContainerINDEX'</code> : For internal test
|
* <li> <code>'XIndexContainerINDEX'</code> : For internal test
|
||||||
* usage. Contains current thread number. </li>
|
* usage. Contains current thread number. </li>
|
||||||
@@ -43,21 +43,21 @@ import com.sun.star.lang.IndexOutOfBoundsException;
|
|||||||
* <ul> <p>
|
* <ul> <p>
|
||||||
* XIndexContainer needs n ObjectRelations "INSTANCEn" , where n=1, ...,
|
* XIndexContainer needs n ObjectRelations "INSTANCEn" , where n=1, ...,
|
||||||
* THRCNT.<p>
|
* THRCNT.<p>
|
||||||
* When this interface tested by different threads, it must use different
|
* When this interface is tested by different threads, it must use different
|
||||||
* instances to insert/remove - one for each thread.
|
* instances to insert/remove - one for each thread.
|
||||||
* <p>
|
* <p>
|
||||||
* That's why we use objRelation "XIndexContainerINDEX" to store the number of
|
* That's why we use objRelation "XIndexContainerINDEX" to store the number of
|
||||||
* last taken instance. If there is no such relation, it initialize with 1.
|
* last taken instance. If there is no such relation, it initializes with 1.
|
||||||
* <p>
|
* <p>
|
||||||
* This ObjectRelations should be necessary to create an Object,
|
* These ObjectRelations should be necessary to create an Object,
|
||||||
* which is insertable by insterByIndex()
|
* which is insertable by insertByIndex()
|
||||||
* INSTANCEn are n Objectrelations so that every thread can insert its own
|
* INSTANCEn are n Objectrelations so that every thread can insert its own
|
||||||
* object. n depends on the variable THRCNT which and comes from API.INI
|
* object. n depends on the variable THRCNT and comes from API.INI
|
||||||
* <p>
|
* <p>
|
||||||
* Why that:
|
* Why that:
|
||||||
* If you insert the same Object by insertByIndex() several times you
|
* If you insert the same Object by insertByIndex() several times you
|
||||||
* don't insert the Object several times. The first insertByIndex() inserts
|
* don't insert the Object several times. The first insertByIndex() inserts
|
||||||
* the Object to the Container but all other insertByIndex() changes
|
* the Object into the Container but all other insertByIndex() calls change
|
||||||
* the Index in the Container because it's the same Object. <p>
|
* the Index in the Container because it's the same Object. <p>
|
||||||
* Test is multithread compliant. <p>
|
* Test is multithread compliant. <p>
|
||||||
* @see com.sun.star.container.XIndexContainer
|
* @see com.sun.star.container.XIndexContainer
|
||||||
@@ -72,7 +72,7 @@ public class _XIndexContainer extends MultiMethodTest {
|
|||||||
* First tries to insert proper object. Second tries to insert
|
* First tries to insert proper object. Second tries to insert
|
||||||
* null value. For each test thread different objects are inserted
|
* null value. For each test thread different objects are inserted
|
||||||
* on different indexes. For example for the first started test index
|
* on different indexes. For example for the first started test index
|
||||||
* is 0 and object is get from relation 'INSTANCE1', and so on. <p>
|
* is 0 and object is retrieved from relation 'INSTANCE1', and so on. <p>
|
||||||
* Has <b>OK</b> status if in the first case <code>getByIndex</code>
|
* Has <b>OK</b> status if in the first case <code>getByIndex</code>
|
||||||
* method returns non null value and in the second <code>
|
* method returns non null value and in the second <code>
|
||||||
* IndexOutOfBoundsException</code> was thrown.
|
* IndexOutOfBoundsException</code> was thrown.
|
||||||
|
|||||||
@@ -42,11 +42,11 @@ import com.sun.star.util.XURLTransformer;
|
|||||||
* This test needs the following object relations :
|
* This test needs the following object relations :
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li> <code>'FrameLoader.URL'</code> (of type <code>String</code>):
|
* <li> <code>'FrameLoader.URL'</code> (of type <code>String</code>):
|
||||||
* a url of component to be loaded </li>
|
* a url of the component to be loaded </li>
|
||||||
* <li> <code>'FrameLoader.Frame'</code> <b>(optional)</b>
|
* <li> <code>'FrameLoader.Frame'</code> <b>(optional)</b>
|
||||||
* (of type <code>com.sun.star.frame.XFrame</code>):
|
* (of type <code>com.sun.star.frame.XFrame</code>):
|
||||||
* a target frame where component to be loaded. If this
|
* a target frame where component is to be loaded. If this
|
||||||
* relation is omitted then a text document created and its
|
* relation is omitted then a text document is created and its
|
||||||
* frame is used. </li>
|
* frame is used. </li>
|
||||||
* <ul> <p>
|
* <ul> <p>
|
||||||
*
|
*
|
||||||
@@ -61,7 +61,7 @@ public class _XSynchronousFrameLoader extends MultiMethodTest {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves all relations. If optional relation
|
* Retrieves all relations. If optional relation
|
||||||
* <code>FrameLoader.Frame</code> not found
|
* <code>FrameLoader.Frame</code> is not found,
|
||||||
* creates a new document and obtains its frame for loading. <p>
|
* creates a new document and obtains its frame for loading. <p>
|
||||||
*
|
*
|
||||||
* Also <code>MediaDescriptor</code> is created using
|
* Also <code>MediaDescriptor</code> is created using
|
||||||
@@ -101,7 +101,7 @@ public class _XSynchronousFrameLoader extends MultiMethodTest {
|
|||||||
(XURLTransformer.class, o) ;
|
(XURLTransformer.class, o) ;
|
||||||
|
|
||||||
} catch ( com.sun.star.uno.Exception e ) {
|
} catch ( com.sun.star.uno.Exception e ) {
|
||||||
// Some exception occurs.FAILED
|
// Some exception occurred. FAILED
|
||||||
e.printStackTrace( log );
|
e.printStackTrace( log );
|
||||||
throw new StatusException( "Couldn't create a document.", e );
|
throw new StatusException( "Couldn't create a document.", e );
|
||||||
}
|
}
|
||||||
@@ -122,7 +122,7 @@ public class _XSynchronousFrameLoader extends MultiMethodTest {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tries to load component to a frame. <p>
|
* Tries to load a component into a frame. <p>
|
||||||
* Has <b> OK </b> status if <code>true</code> is returned.
|
* Has <b> OK </b> status if <code>true</code> is returned.
|
||||||
*/
|
*/
|
||||||
public void _load() {
|
public void _load() {
|
||||||
@@ -132,7 +132,7 @@ public class _XSynchronousFrameLoader extends MultiMethodTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tries to load component to a frame in separate thread to
|
* Tries to load component to a frame in a separate thread to
|
||||||
* avoid blocking of the current thread and immediately
|
* avoid blocking of the current thread and immediately
|
||||||
* cancels loading. <p>
|
* cancels loading. <p>
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ public class _XTransliteration extends MultiMethodTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calls the method for load IGNORE_CASE module and checks the name returned
|
* Calls the method to load IGNORE_CASE module and checks the name returned
|
||||||
* by the method <code>getName</code>. <p>
|
* by the method <code>getName</code>. <p>
|
||||||
* Has <b>OK</b> status if the method <code>getName</code> returns the
|
* Has <b>OK</b> status if the method <code>getName</code> returns the
|
||||||
* string "case ignore (generic)".
|
* string "case ignore (generic)".
|
||||||
@@ -91,7 +91,7 @@ public class _XTransliteration extends MultiMethodTest {
|
|||||||
* Loads <code>LOWERCASE_UPPERCASE</code> module and checks the current
|
* Loads <code>LOWERCASE_UPPERCASE</code> module and checks the current
|
||||||
* name of object. <p>
|
* name of object. <p>
|
||||||
*
|
*
|
||||||
* Has <b>OK</b> status if the name of the object is equals to
|
* Has <b>OK</b> status if the name of the object is equal to
|
||||||
* 'lower_to_upper(generic)'
|
* 'lower_to_upper(generic)'
|
||||||
*/
|
*/
|
||||||
public void _loadModuleNew() {
|
public void _loadModuleNew() {
|
||||||
@@ -109,7 +109,7 @@ public class _XTransliteration extends MultiMethodTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calls the method for load LOWERCASE_UPPERCASE module and
|
* Calls the method to load LOWERCASE_UPPERCASE module and
|
||||||
* checks the name returned by the method <code>getName</code>. <p>
|
* checks the name returned by the method <code>getName</code>. <p>
|
||||||
* Has <b>OK</b> status if the method <code>getName</code> returns the
|
* Has <b>OK</b> status if the method <code>getName</code> returns the
|
||||||
* string "lower_to_upper(generic)".
|
* string "lower_to_upper(generic)".
|
||||||
@@ -126,7 +126,7 @@ public class _XTransliteration extends MultiMethodTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calls the method for load UPPERCASE_LOWERCASE module and
|
* Calls the method to load UPPERCASE_LOWERCASE module and
|
||||||
* checks the name returned by the method <code>getName</code>. <p>
|
* checks the name returned by the method <code>getName</code>. <p>
|
||||||
* Has <b>OK</b> status if the method <code>getName</code> returns the
|
* Has <b>OK</b> status if the method <code>getName</code> returns the
|
||||||
* string "upper_to_lower(generic)".
|
* string "upper_to_lower(generic)".
|
||||||
@@ -276,10 +276,10 @@ public class _XTransliteration extends MultiMethodTest {
|
|||||||
* substrings, and without of bounds offset and length
|
* substrings, and without of bounds offset and length
|
||||||
* parameters.<p>
|
* parameters.<p>
|
||||||
*
|
*
|
||||||
* Has <b>OK</b> status if comparings of equal substrings
|
* Has <b>OK</b> status if comparisons of equal substrings
|
||||||
* always return 0, if comparisons of none equal returns
|
* always return 0, if comparisons of non-equal returns
|
||||||
* proper value according to lexicographical order and if
|
* proper value according to lexicographical order and if
|
||||||
* comparisons with invalid parameters return none 0 value.
|
* comparisons with invalid parameters return non-zero value.
|
||||||
*/
|
*/
|
||||||
public void _compareSubstring() {
|
public void _compareSubstring() {
|
||||||
oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
|
oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
|
||||||
@@ -352,9 +352,9 @@ public class _XTransliteration extends MultiMethodTest {
|
|||||||
* Test performed for sets of equal strings and not equal
|
* Test performed for sets of equal strings and not equal
|
||||||
* strings.<p>
|
* strings.<p>
|
||||||
*
|
*
|
||||||
* Has <b>OK</b> status if comparings of equal strings
|
* Has <b>OK</b> status if comparisons of equal strings
|
||||||
* always return 0 and if comparisons of none equal returns
|
* always return 0 and if comparisons of non-equal returns
|
||||||
* proper value according to lexicographical order .
|
* proper value according to lexicographical order.
|
||||||
*/
|
*/
|
||||||
public void _compareString() {
|
public void _compareString() {
|
||||||
oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
|
oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
|
||||||
|
|||||||
@@ -55,11 +55,11 @@ public class Pump extends TestCase {
|
|||||||
/**
|
/**
|
||||||
* Creating a TestEnvironment for the interfaces to be tested.
|
* Creating a TestEnvironment for the interfaces to be tested.
|
||||||
* Creates an instance of the service <code>com.sun.star.io.Pump</code>.
|
* Creates an instance of the service <code>com.sun.star.io.Pump</code>.
|
||||||
* Settings up input and output streams for the created pump.
|
* Setting up input and output streams for the created pump.
|
||||||
* Object relations created :
|
* Object relations created :
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li> <code>'InputStream'</code> for
|
* <li> <code>'InputStream'</code> for
|
||||||
* {@link ifc.io._XActiveDataSource}(an input stream to set) </li>
|
* {@link ifc.io._XActiveDataSink}(an input stream to set) </li>
|
||||||
* <li> <code>'OutputStream'</code> for
|
* <li> <code>'OutputStream'</code> for
|
||||||
* {@link ifc.io._XActiveDataSource}(an output stream to set) </li>
|
* {@link ifc.io._XActiveDataSource}(an output stream to set) </li>
|
||||||
* </ul>
|
* </ul>
|
||||||
|
|||||||
@@ -55,11 +55,11 @@ public class Pump extends TestCase {
|
|||||||
/**
|
/**
|
||||||
* Creating a TestEnvironment for the interfaces to be tested.
|
* Creating a TestEnvironment for the interfaces to be tested.
|
||||||
* Creates an instance of the service <code>com.sun.star.io.Pump</code>.
|
* Creates an instance of the service <code>com.sun.star.io.Pump</code>.
|
||||||
* Settings up input and output streams for the created pump.
|
* Setting up input and output streams for the created pump.
|
||||||
* Object relations created :
|
* Object relations created :
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li> <code>'InputStream'</code> for
|
* <li> <code>'InputStream'</code> for
|
||||||
* {@link ifc.io._XActiveDataSource}(an input stream to set) </li>
|
* {@link ifc.io._XActiveDataSink}(an input stream to set) </li>
|
||||||
* <li> <code>'OutputStream'</code> for
|
* <li> <code>'OutputStream'</code> for
|
||||||
* {@link ifc.io._XActiveDataSource}(an output stream to set) </li>
|
* {@link ifc.io._XActiveDataSource}(an output stream to set) </li>
|
||||||
* </ul>
|
* </ul>
|
||||||
|
|||||||
@@ -746,7 +746,7 @@ namespace
|
|||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
No separate error code if unicode to text conversion or getcwd fails because for the
|
No separate error code if unicode to text conversion or getcwd fails because for the
|
||||||
caller there is no difference why a file could not be found in CDW
|
caller there is no difference why a file could not be found in CWD
|
||||||
*/
|
*/
|
||||||
bool find_in_CWD(const OUString& file_path, OUString& result)
|
bool find_in_CWD(const OUString& file_path, OUString& result)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -54,9 +54,9 @@ extern "C"
|
|||||||
{
|
{
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// common used string resource
|
// commonly used string resources
|
||||||
// these common used string will be used as assist resource in test
|
// these commonly used strings will be used as assistant resources in test
|
||||||
// they are mostly OS independent, some of the resource can be reused
|
// they are mostly OS independent, some of the resources can be reused
|
||||||
// so, a common test data repository will be better since it can be
|
// so, a common test data repository will be better since it can be
|
||||||
// shared among all test code
|
// shared among all test code
|
||||||
|
|
||||||
@@ -124,7 +124,7 @@ OUString aTempDirectoryURL(getTempDirectoryURL_());
|
|||||||
OUString aUserDirectorySys( aTempDirectorySys + "" );
|
OUString aUserDirectorySys( aTempDirectorySys + "" );
|
||||||
OUString aUserDirectoryURL( aTempDirectoryURL + "" );
|
OUString aUserDirectoryURL( aTempDirectoryURL + "" );
|
||||||
|
|
||||||
// common used URL:temp, canonical, root, relative, link,etc
|
// commonly used URLs: temp, canonical, root, relative, link, etc.
|
||||||
|
|
||||||
OUString aCanURL1( aTempDirectoryURL + "/canonical.name" );
|
OUString aCanURL1( aTempDirectoryURL + "/canonical.name" );
|
||||||
OUString aCanURL2(
|
OUString aCanURL2(
|
||||||
@@ -150,7 +150,7 @@ OUString aRelURL5( aTempDirectoryURL + "/./../" );
|
|||||||
OUString aLnkURL1( aTempDirectoryURL + "/link.file" );
|
OUString aLnkURL1( aTempDirectoryURL + "/link.file" );
|
||||||
OUString aHidURL1( u".hiddenfile"_ustr );
|
OUString aHidURL1( u".hiddenfile"_ustr );
|
||||||
|
|
||||||
// common used System Path:temp, root,etc
|
// commonly used System Paths: temp, root, etc.
|
||||||
|
|
||||||
OUString aRootSys( u"" TEST_PLATFORM_ROOT ""_ustr);
|
OUString aRootSys( u"" TEST_PLATFORM_ROOT ""_ustr);
|
||||||
OUString aSysPath1( aTempDirectorySys + "/system.path" );
|
OUString aSysPath1( aTempDirectorySys + "/system.path" );
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ public:
|
|||||||
void create_002()
|
void create_002()
|
||||||
{
|
{
|
||||||
rtlCipher aCipher = rtl_cipher_create(rtl_Cipher_AlgorithmInvalid, rtl_Cipher_ModeECB);
|
rtlCipher aCipher = rtl_cipher_create(rtl_Cipher_AlgorithmInvalid, rtl_Cipher_ModeECB);
|
||||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("create provide wrong object.", static_cast<rtlCipher>(nullptr), aCipher);
|
CPPUNIT_ASSERT_EQUAL_MESSAGE("create provides wrong object.", static_cast<rtlCipher>(nullptr), aCipher);
|
||||||
}
|
}
|
||||||
void create_003()
|
void create_003()
|
||||||
{
|
{
|
||||||
@@ -61,7 +61,7 @@ public:
|
|||||||
void create_004()
|
void create_004()
|
||||||
{
|
{
|
||||||
rtlCipher aCipher = rtl_cipher_create(rtl_Cipher_AlgorithmInvalid, rtl_Cipher_ModeCBC);
|
rtlCipher aCipher = rtl_cipher_create(rtl_Cipher_AlgorithmInvalid, rtl_Cipher_ModeCBC);
|
||||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("create provide wrong object.", static_cast<rtlCipher>(nullptr), aCipher);
|
CPPUNIT_ASSERT_EQUAL_MESSAGE("create provides wrong object.", static_cast<rtlCipher>(nullptr), aCipher);
|
||||||
}
|
}
|
||||||
void create_005()
|
void create_005()
|
||||||
{
|
{
|
||||||
@@ -72,17 +72,17 @@ public:
|
|||||||
void create_006()
|
void create_006()
|
||||||
{
|
{
|
||||||
rtlCipher aCipher = rtl_cipher_create(rtl_Cipher_AlgorithmInvalid, rtl_Cipher_ModeStream);
|
rtlCipher aCipher = rtl_cipher_create(rtl_Cipher_AlgorithmInvalid, rtl_Cipher_ModeStream);
|
||||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("create provide wrong object.", static_cast<rtlCipher>(nullptr), aCipher);
|
CPPUNIT_ASSERT_EQUAL_MESSAGE("create provides wrong object.", static_cast<rtlCipher>(nullptr), aCipher);
|
||||||
}
|
}
|
||||||
void create_007()
|
void create_007()
|
||||||
{
|
{
|
||||||
rtlCipher aCipher = rtl_cipher_create(rtl_Cipher_AlgorithmBF, rtl_Cipher_ModeInvalid);
|
rtlCipher aCipher = rtl_cipher_create(rtl_Cipher_AlgorithmBF, rtl_Cipher_ModeInvalid);
|
||||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("create provide wrong object.", static_cast<rtlCipher>(nullptr), aCipher);
|
CPPUNIT_ASSERT_EQUAL_MESSAGE("create provides wrong object.", static_cast<rtlCipher>(nullptr), aCipher);
|
||||||
}
|
}
|
||||||
void create_008()
|
void create_008()
|
||||||
{
|
{
|
||||||
rtlCipher aCipher = rtl_cipher_create(rtl_Cipher_AlgorithmInvalid, rtl_Cipher_ModeInvalid);
|
rtlCipher aCipher = rtl_cipher_create(rtl_Cipher_AlgorithmInvalid, rtl_Cipher_ModeInvalid);
|
||||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("create provide wrong object.", static_cast<rtlCipher>(nullptr), aCipher);
|
CPPUNIT_ASSERT_EQUAL_MESSAGE("create provides wrong object.", static_cast<rtlCipher>(nullptr), aCipher);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Change the following lines only, if you add, remove or rename
|
// Change the following lines only, if you add, remove or rename
|
||||||
@@ -134,7 +134,7 @@ public:
|
|||||||
void createBF_004()
|
void createBF_004()
|
||||||
{
|
{
|
||||||
rtlCipher aCipher = rtl_cipher_createBF(rtl_Cipher_ModeInvalid);
|
rtlCipher aCipher = rtl_cipher_createBF(rtl_Cipher_ModeInvalid);
|
||||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("create provide wrong object.", static_cast<rtlCipher>(nullptr), aCipher);
|
CPPUNIT_ASSERT_EQUAL_MESSAGE("create provides wrong object.", static_cast<rtlCipher>(nullptr), aCipher);
|
||||||
// rtl_cipher_destroy(aCipher);
|
// rtl_cipher_destroy(aCipher);
|
||||||
}
|
}
|
||||||
// Change the following lines only, if you add, remove or rename
|
// Change the following lines only, if you add, remove or rename
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ public:
|
|||||||
|
|
||||||
nCRC = rtl_crc32(nCRC, buf, num);
|
nCRC = rtl_crc32(nCRC, buf, num);
|
||||||
|
|
||||||
CPPUNIT_ASSERT_MESSAGE("buffer contain 2 empty bytes, crc is zero", nCRC != 0);
|
CPPUNIT_ASSERT_MESSAGE("buffer contains 2 empty bytes, crc is zero", nCRC != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void rtl_crc32_002_1()
|
void rtl_crc32_002_1()
|
||||||
@@ -67,7 +67,7 @@ public:
|
|||||||
|
|
||||||
nCRC = rtl_crc32(nCRC, buf, num);
|
nCRC = rtl_crc32(nCRC, buf, num);
|
||||||
|
|
||||||
CPPUNIT_ASSERT_MESSAGE("buffer contain 3 empty bytes, crc is zero", nCRC != 0);
|
CPPUNIT_ASSERT_MESSAGE("buffer contains 3 empty bytes, crc is zero", nCRC != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -93,7 +93,7 @@ public:
|
|||||||
CPPUNIT_ASSERT_MESSAGE("checksum should differ for buf1 and buf2", nCRC1 != nCRC2);
|
CPPUNIT_ASSERT_MESSAGE("checksum should differ for buf1 and buf2", nCRC1 != nCRC2);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** check if the crc32 only use as much values, as given
|
/** check if the crc32 only uses as many values as given
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void rtl_crc32_003_1()
|
void rtl_crc32_003_1()
|
||||||
@@ -110,10 +110,10 @@ public:
|
|||||||
|
|
||||||
nCRC2 = rtl_crc32(nCRC2, buf2, num2);
|
nCRC2 = rtl_crc32(nCRC2, buf2, num2);
|
||||||
|
|
||||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("checksum leave it's bounds", nCRC2, nCRC1);
|
CPPUNIT_ASSERT_EQUAL_MESSAGE("checksum leaves its bounds", nCRC2, nCRC1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** check if the crc32 differ at same content in reverse order
|
/** check if the crc32 differs with same content in reverse order
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void rtl_crc32_003_2()
|
void rtl_crc32_003_2()
|
||||||
|
|||||||
@@ -238,7 +238,7 @@ public:
|
|||||||
|
|
||||||
if (!bClearSalt)
|
if (!bClearSalt)
|
||||||
{
|
{
|
||||||
// wilful contamination
|
// willful contamination
|
||||||
pSaltData[0] = 1;
|
pSaltData[0] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ public:
|
|||||||
void getDefault_001()
|
void getDefault_001()
|
||||||
{
|
{
|
||||||
rtl_Locale* pData = rtl_locale_getDefault();
|
rtl_Locale* pData = rtl_locale_getDefault();
|
||||||
CPPUNIT_ASSERT_MESSAGE("locale must not null", pData != nullptr);
|
CPPUNIT_ASSERT_MESSAGE("locale must not be null", pData != nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Change the following lines only, if you add, remove or rename
|
// Change the following lines only, if you add, remove or rename
|
||||||
@@ -77,7 +77,7 @@ public:
|
|||||||
{
|
{
|
||||||
rtl_locale_setDefault(u"en", u"US", u"");
|
rtl_locale_setDefault(u"en", u"US", u"");
|
||||||
rtl_Locale* pData = rtl_locale_getDefault();
|
rtl_Locale* pData = rtl_locale_getDefault();
|
||||||
CPPUNIT_ASSERT_MESSAGE("locale must not null", pData != nullptr);
|
CPPUNIT_ASSERT_MESSAGE("locale must not be null", pData != nullptr);
|
||||||
|
|
||||||
// be sure to not GPF
|
// be sure to not GPF
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -237,7 +237,7 @@ public:
|
|||||||
CPPUNIT_ASSERT (is_double_equal(1.0, 1.00000000001) == false);
|
CPPUNIT_ASSERT (is_double_equal(1.0, 1.00000000001) == false);
|
||||||
CPPUNIT_ASSERT (is_double_equal(1.0, 1.000000000001) == false);
|
CPPUNIT_ASSERT (is_double_equal(1.0, 1.000000000001) == false);
|
||||||
CPPUNIT_ASSERT (is_double_equal(1.0, 1.0000000000001) == false);
|
CPPUNIT_ASSERT (is_double_equal(1.0, 1.0000000000001) == false);
|
||||||
// we check til 14 values after comma
|
// we check till 14 values after comma
|
||||||
CPPUNIT_ASSERT (is_double_equal(1.0, 1.00000000000001) == true);
|
CPPUNIT_ASSERT (is_double_equal(1.0, 1.00000000000001) == true);
|
||||||
CPPUNIT_ASSERT (is_double_equal(1.0, 1.000000000000001) == true);
|
CPPUNIT_ASSERT (is_double_equal(1.0, 1.000000000000001) == true);
|
||||||
CPPUNIT_ASSERT (is_double_equal(1.0, 1.0000000000000001) == true);
|
CPPUNIT_ASSERT (is_double_equal(1.0, 1.0000000000000001) == true);
|
||||||
@@ -475,7 +475,7 @@ public:
|
|||||||
|
|
||||||
sal_Bool bRes = check_replaceAt(new OString("Java desktop system"),
|
sal_Bool bRes = check_replaceAt(new OString("Java desktop system"),
|
||||||
new OString("Sun "), new OString("Java desktop system"), -4, 8 );
|
new OString("Sun "), new OString("Java desktop system"), -4, 8 );
|
||||||
CPPUNIT_ASSERT_MESSAGE("navigate index", bRes == sal_True);
|
CPPUNIT_ASSERT_MESSAGE("negative index", bRes == sal_True);
|
||||||
}
|
}
|
||||||
void replaceAt_005()
|
void replaceAt_005()
|
||||||
{
|
{
|
||||||
@@ -501,8 +501,8 @@ CPPUNIT_TEST_SUITE_REGISTRATION(rtl_OString::replaceAt);
|
|||||||
|
|
||||||
} // namespace rtl_OString
|
} // namespace rtl_OString
|
||||||
|
|
||||||
// this macro creates an empty function, which will called by the RegisterAllFunctions()
|
// this macro creates an empty function, which will be called by RegisterAllFunctions()
|
||||||
// to let the user the possibility to also register some functions by hand.
|
// to give the user the possibility to also register some functions by hand.
|
||||||
CPPUNIT_PLUGIN_IMPLEMENT();
|
CPPUNIT_PLUGIN_IMPLEMENT();
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
|||||||
@@ -195,7 +195,7 @@ namespace rtl_str
|
|||||||
CPPUNIT_TEST(compare_003);
|
CPPUNIT_TEST(compare_003);
|
||||||
CPPUNIT_TEST(compare_004);
|
CPPUNIT_TEST(compare_004);
|
||||||
CPPUNIT_TEST_SUITE_END();
|
CPPUNIT_TEST_SUITE_END();
|
||||||
}; // class compare
|
}; // class shortenedCompareIgnoreAsciiCase_WithLength
|
||||||
|
|
||||||
class hashCode : public CppUnit::TestFixture
|
class hashCode : public CppUnit::TestFixture
|
||||||
{
|
{
|
||||||
@@ -238,7 +238,7 @@ namespace rtl_str
|
|||||||
CPPUNIT_TEST(hashCode_002);
|
CPPUNIT_TEST(hashCode_002);
|
||||||
CPPUNIT_TEST(hashCode_003);
|
CPPUNIT_TEST(hashCode_003);
|
||||||
CPPUNIT_TEST_SUITE_END();
|
CPPUNIT_TEST_SUITE_END();
|
||||||
}; // class compare
|
}; // class hashCode
|
||||||
|
|
||||||
class indexOfChar : public CppUnit::TestFixture
|
class indexOfChar : public CppUnit::TestFixture
|
||||||
{
|
{
|
||||||
@@ -283,7 +283,7 @@ namespace rtl_str
|
|||||||
CPPUNIT_TEST(indexOfChar_001);
|
CPPUNIT_TEST(indexOfChar_001);
|
||||||
CPPUNIT_TEST(indexOfChar_002);
|
CPPUNIT_TEST(indexOfChar_002);
|
||||||
CPPUNIT_TEST_SUITE_END();
|
CPPUNIT_TEST_SUITE_END();
|
||||||
}; // class compare
|
}; // class indexOfChar
|
||||||
|
|
||||||
class lastIndexOfChar : public CppUnit::TestFixture
|
class lastIndexOfChar : public CppUnit::TestFixture
|
||||||
{
|
{
|
||||||
@@ -374,7 +374,7 @@ namespace rtl_str
|
|||||||
CPPUNIT_TEST(indexOfStr_001);
|
CPPUNIT_TEST(indexOfStr_001);
|
||||||
CPPUNIT_TEST(indexOfStr_002);
|
CPPUNIT_TEST(indexOfStr_002);
|
||||||
CPPUNIT_TEST_SUITE_END();
|
CPPUNIT_TEST_SUITE_END();
|
||||||
}; // class compare
|
}; // class indexOfStr
|
||||||
|
|
||||||
class lastIndexOfStr : public CppUnit::TestFixture
|
class lastIndexOfStr : public CppUnit::TestFixture
|
||||||
{
|
{
|
||||||
@@ -489,7 +489,7 @@ namespace rtl_str
|
|||||||
CPPUNIT_TEST(replaceChar_WithLength_000);
|
CPPUNIT_TEST(replaceChar_WithLength_000);
|
||||||
CPPUNIT_TEST(replaceChar_WithLength_001);
|
CPPUNIT_TEST(replaceChar_WithLength_001);
|
||||||
CPPUNIT_TEST_SUITE_END();
|
CPPUNIT_TEST_SUITE_END();
|
||||||
}; // class replaceChar
|
}; // class replaceChar_WithLength
|
||||||
|
|
||||||
class toAsciiLowerCase : public CppUnit::TestFixture
|
class toAsciiLowerCase : public CppUnit::TestFixture
|
||||||
{
|
{
|
||||||
@@ -515,7 +515,7 @@ namespace rtl_str
|
|||||||
CPPUNIT_TEST_SUITE(toAsciiLowerCase);
|
CPPUNIT_TEST_SUITE(toAsciiLowerCase);
|
||||||
CPPUNIT_TEST(toAsciiLowerCase_001);
|
CPPUNIT_TEST(toAsciiLowerCase_001);
|
||||||
CPPUNIT_TEST_SUITE_END();
|
CPPUNIT_TEST_SUITE_END();
|
||||||
}; // class replaceChar
|
}; // class toAsciiLowerCase
|
||||||
|
|
||||||
class toAsciiLowerCase_WithLength : public CppUnit::TestFixture
|
class toAsciiLowerCase_WithLength : public CppUnit::TestFixture
|
||||||
{
|
{
|
||||||
@@ -548,7 +548,7 @@ namespace rtl_str
|
|||||||
CPPUNIT_TEST(toAsciiLowerCase_WithLength_000);
|
CPPUNIT_TEST(toAsciiLowerCase_WithLength_000);
|
||||||
CPPUNIT_TEST(toAsciiLowerCase_WithLength_001);
|
CPPUNIT_TEST(toAsciiLowerCase_WithLength_001);
|
||||||
CPPUNIT_TEST_SUITE_END();
|
CPPUNIT_TEST_SUITE_END();
|
||||||
}; // class replaceChar
|
}; // class toAsciiLowerCase_WithLength
|
||||||
|
|
||||||
class toAsciiUpperCase : public CppUnit::TestFixture
|
class toAsciiUpperCase : public CppUnit::TestFixture
|
||||||
{
|
{
|
||||||
@@ -574,7 +574,7 @@ namespace rtl_str
|
|||||||
CPPUNIT_TEST_SUITE(toAsciiUpperCase);
|
CPPUNIT_TEST_SUITE(toAsciiUpperCase);
|
||||||
CPPUNIT_TEST(toAsciiUpperCase_001);
|
CPPUNIT_TEST(toAsciiUpperCase_001);
|
||||||
CPPUNIT_TEST_SUITE_END();
|
CPPUNIT_TEST_SUITE_END();
|
||||||
}; // class replaceChar
|
}; // class toAsciiUpperCase
|
||||||
|
|
||||||
class toAsciiUpperCase_WithLength : public CppUnit::TestFixture
|
class toAsciiUpperCase_WithLength : public CppUnit::TestFixture
|
||||||
{
|
{
|
||||||
@@ -607,7 +607,7 @@ namespace rtl_str
|
|||||||
CPPUNIT_TEST(toAsciiUpperCase_WithLength_000);
|
CPPUNIT_TEST(toAsciiUpperCase_WithLength_000);
|
||||||
CPPUNIT_TEST(toAsciiUpperCase_WithLength_001);
|
CPPUNIT_TEST(toAsciiUpperCase_WithLength_001);
|
||||||
CPPUNIT_TEST_SUITE_END();
|
CPPUNIT_TEST_SUITE_END();
|
||||||
}; // class replaceChar
|
}; // class toAsciiUpperCase_WithLength
|
||||||
|
|
||||||
class trim_WithLength : public CppUnit::TestFixture
|
class trim_WithLength : public CppUnit::TestFixture
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -162,8 +162,8 @@ CPPUNIT_TEST_SUITE_REGISTRATION(rtl_string::getLength);
|
|||||||
CPPUNIT_TEST_SUITE_REGISTRATION(rtl_string::newFromString);
|
CPPUNIT_TEST_SUITE_REGISTRATION(rtl_string::newFromString);
|
||||||
CPPUNIT_TEST_SUITE_REGISTRATION(rtl_string::convertUStringToString);
|
CPPUNIT_TEST_SUITE_REGISTRATION(rtl_string::convertUStringToString);
|
||||||
|
|
||||||
// this macro creates an empty function, which will called by the RegisterAllFunctions()
|
// this macro creates an empty function, which will be called by RegisterAllFunctions()
|
||||||
// to let the user the possibility to also register some functions by hand.
|
// to give the user the possibility to also register some functions by hand.
|
||||||
CPPUNIT_PLUGIN_IMPLEMENT();
|
CPPUNIT_PLUGIN_IMPLEMENT();
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
|||||||
@@ -276,7 +276,7 @@ public:
|
|||||||
CPPUNIT_ASSERT (!is_double_equal(1.0, 1.00000000001));
|
CPPUNIT_ASSERT (!is_double_equal(1.0, 1.00000000001));
|
||||||
CPPUNIT_ASSERT (!is_double_equal(1.0, 1.000000000001));
|
CPPUNIT_ASSERT (!is_double_equal(1.0, 1.000000000001));
|
||||||
CPPUNIT_ASSERT (!is_double_equal(1.0, 1.0000000000001));
|
CPPUNIT_ASSERT (!is_double_equal(1.0, 1.0000000000001));
|
||||||
// we check til 15 values after comma
|
// we check till 15 values after comma
|
||||||
CPPUNIT_ASSERT (is_double_equal(1.0, 1.00000000000001));
|
CPPUNIT_ASSERT (is_double_equal(1.0, 1.00000000000001));
|
||||||
CPPUNIT_ASSERT (is_double_equal(1.0, 1.000000000000001));
|
CPPUNIT_ASSERT (is_double_equal(1.0, 1.000000000000001));
|
||||||
CPPUNIT_ASSERT (is_double_equal(1.0, 1.0000000000000001));
|
CPPUNIT_ASSERT (is_double_equal(1.0, 1.0000000000000001));
|
||||||
@@ -622,7 +622,7 @@ public:
|
|||||||
}
|
}
|
||||||
void lastIndexOf_test_salunicode_offset_002()
|
void lastIndexOf_test_salunicode_offset_002()
|
||||||
{
|
{
|
||||||
// search for 's', start pos is last occur from search behind, found (17)
|
// search for 's', start pos is last occurrence from search behind, found (17)
|
||||||
sal_Unicode cuChar = L's';
|
sal_Unicode cuChar = L's';
|
||||||
lastIndexOf_salunicode_offset(u"the sun sun java system"_ustr, cuChar, 17, 19);
|
lastIndexOf_salunicode_offset(u"the sun sun java system"_ustr, cuChar, 17, 19);
|
||||||
}
|
}
|
||||||
@@ -828,7 +828,7 @@ public:
|
|||||||
|
|
||||||
void intern()
|
void intern()
|
||||||
{
|
{
|
||||||
// The empty string is 'static' a special case ...
|
// The empty string is 'static', a special case ...
|
||||||
OUString().intern();
|
OUString().intern();
|
||||||
OUString::intern( "",strlen(""),RTL_TEXTENCODING_ASCII_US );
|
OUString::intern( "",strlen(""),RTL_TEXTENCODING_ASCII_US );
|
||||||
|
|
||||||
@@ -837,7 +837,7 @@ public:
|
|||||||
CPPUNIT_ASSERT_EQUAL_MESSAGE( "string contents", u"foo"_ustr, aFooIntern);
|
CPPUNIT_ASSERT_EQUAL_MESSAGE( "string contents", u"foo"_ustr, aFooIntern);
|
||||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("string length", static_cast<sal_Int32>(3), aFooIntern.getLength());
|
CPPUNIT_ASSERT_EQUAL_MESSAGE("string length", static_cast<sal_Int32>(3), aFooIntern.getLength());
|
||||||
// We have to dup due to no atomic 'intern' bit-set operation
|
// We have to dup due to no atomic 'intern' bit-set operation
|
||||||
CPPUNIT_ASSERT_MESSAGE("intern dups", aFoo.pData != aFooIntern.pData);
|
CPPUNIT_ASSERT_MESSAGE("intern duplicates", aFoo.pData != aFooIntern.pData);
|
||||||
|
|
||||||
// Test interning lots of things
|
// Test interning lots of things
|
||||||
int i;
|
int i;
|
||||||
|
|||||||
Reference in New Issue
Block a user