1
0
mirror of https://github.com/owncloud/android-library.git synced 2025-06-07 16:06:08 +00:00

Use openfortesting for new Kotlin files needed in tests

This commit is contained in:
davigonz 2019-03-01 13:10:37 +01:00
parent 91ffc87014
commit 4e78a5f3e8
3 changed files with 41 additions and 1 deletions

View File

@ -2,12 +2,19 @@ apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-allopen'
dependencies {
api 'com.squareup.okhttp3:okhttp:3.12.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion"
api 'com.gitlab.ownclouders:dav4android:oc_support_1.0.1'
}
allOpen {
// allows mocking for classes w/o directly opening them for release builds
annotation 'com.owncloud.android.lib.testing.OpenClass'
}
android {
compileSdkVersion 28

View File

@ -0,0 +1,31 @@
/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.owncloud.android.lib.testing
/**
* This annotation allows us to open some classes for mocking purposes while they are final in
* release builds.
*/
@Target(AnnotationTarget.ANNOTATION_CLASS)
annotation class OpenClass
/**
* Annotate a class with [OpenForTesting] if you want it to be extendable in debug builds.
*/
@OpenClass
@Target(AnnotationTarget.CLASS)
annotation class OpenForTesting

View File

@ -27,7 +27,9 @@ package com.owncloud.android.lib.resources.status
import android.os.Parcel
import android.os.Parcelable
import com.owncloud.android.lib.testing.OpenForTesting
@OpenForTesting
class OwnCloudVersion(version: String) : Comparable<OwnCloudVersion>, Parcelable {
// format is in version
@ -36,7 +38,7 @@ class OwnCloudVersion(version: String) : Comparable<OwnCloudVersion>, Parcelable
// ie version 2.0.3 will be stored as 0x02000300
private var mVersion: Int = 0
var isVersionValid: Boolean = false
private set
set
val version: String
get() = if (isVersionValid) {