mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
* TextUtils: add mock textUtils for tests * TextUtils: add more methods to mock for testing * UploadControllerTest: fix the test resulting travis ci to fail
This commit is contained in:
parent
d235e5a85b
commit
803bed43d7
2 changed files with 83 additions and 0 deletions
82
app/src/test/java/android/text/TextUtils.java
Normal file
82
app/src/test/java/android/text/TextUtils.java
Normal file
|
|
@ -0,0 +1,82 @@
|
||||||
|
package android.text;
|
||||||
|
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This Class Mocks TextUtils for the purpose of testing.
|
||||||
|
* NOTE: This class would not change the function of the TextUtils used in app
|
||||||
|
* it onlt mocks it for the unit tests
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class TextUtils {
|
||||||
|
/**
|
||||||
|
* mocks TextUtils.isEmpty
|
||||||
|
*/
|
||||||
|
public static boolean isEmpty(@Nullable CharSequence str) {
|
||||||
|
return str == null || str.length() == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* mocks TextUtils.equals
|
||||||
|
*/
|
||||||
|
public static boolean equals(CharSequence a, CharSequence b) {
|
||||||
|
if (a == b) return true;
|
||||||
|
int length;
|
||||||
|
if (a != null && b != null && (length = a.length()) == b.length()) {
|
||||||
|
if (a instanceof String && b instanceof String) {
|
||||||
|
return a.equals(b);
|
||||||
|
} else {
|
||||||
|
for (int i = 0; i < length; i++) {
|
||||||
|
if (a.charAt(i) != b.charAt(i)) return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* mocks TextUtils.isDigitsOnly
|
||||||
|
*/
|
||||||
|
public static boolean isDigitsOnly(CharSequence str) {
|
||||||
|
final int len = str.length();
|
||||||
|
for (int cp, i = 0; i < len; i += Character.charCount(cp)) {
|
||||||
|
cp = Character.codePointAt(str, i);
|
||||||
|
if (!Character.isDigit(cp)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* mocks TextUtils.isNewline
|
||||||
|
*/
|
||||||
|
private static boolean isNewline(int codePoint) {
|
||||||
|
int type = Character.getType(codePoint);
|
||||||
|
return type == Character.PARAGRAPH_SEPARATOR || type == Character.LINE_SEPARATOR
|
||||||
|
|| codePoint == 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns whether the given CharSequence contains any printable characters.
|
||||||
|
*/
|
||||||
|
public static boolean isGraphic(CharSequence str) {
|
||||||
|
final int len = str.length();
|
||||||
|
for (int cp, i=0; i<len; i+=Character.charCount(cp)) {
|
||||||
|
cp = Character.codePointAt(str, i);
|
||||||
|
int gc = Character.getType(cp);
|
||||||
|
if (gc != Character.CONTROL
|
||||||
|
&& gc != Character.FORMAT
|
||||||
|
&& gc != Character.SURROGATE
|
||||||
|
&& gc != Character.UNASSIGNED
|
||||||
|
&& gc != Character.LINE_SEPARATOR
|
||||||
|
&& gc != Character.PARAGRAPH_SEPARATOR
|
||||||
|
&& gc != Character.SPACE_SEPARATOR) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -49,6 +49,7 @@ class UploadControllerTest {
|
||||||
@Test
|
@Test
|
||||||
fun startUpload() {
|
fun startUpload() {
|
||||||
val contribution = mock(Contribution::class.java)
|
val contribution = mock(Contribution::class.java)
|
||||||
|
`when`(contribution.getCreator()).thenReturn("Creator")
|
||||||
uploadController!!.startUpload(contribution)
|
uploadController!!.startUpload(contribution)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue