From 296d1f5257bb5b0ec69da834d3b4fe96014eb590 Mon Sep 17 00:00:00 2001 From: will Date: Sun, 6 Jan 2019 13:31:46 +0800 Subject: [PATCH] support kotlin --- app/build.gradle | 4 ++ .../java/org/houxg/leamonax/FileUtilsTest.kt | 37 +++++++++++++++++++ build.gradle | 2 + 3 files changed, 43 insertions(+) create mode 100644 app/src/test/java/org/houxg/leamonax/FileUtilsTest.kt diff --git a/app/build.gradle b/app/build.gradle index d2bf32f..67896da 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -13,6 +13,7 @@ repositories { maven { url "http://dl.bintray.com/piasy/maven" } } apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' def dbflow_version = "4.0.0-beta2" def ciName = isEmpty(System.getenv("TRAVIS_TAG")) ? "Staging" : System.getenv("TRAVIS_TAG") @@ -107,4 +108,7 @@ dependencies { implementation 'com.weiwangcn.betterspinner:library-material:1.1.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + + testImplementation "org.mockito:mockito-core:2.+" } diff --git a/app/src/test/java/org/houxg/leamonax/FileUtilsTest.kt b/app/src/test/java/org/houxg/leamonax/FileUtilsTest.kt new file mode 100644 index 0000000..d81b5e0 --- /dev/null +++ b/app/src/test/java/org/houxg/leamonax/FileUtilsTest.kt @@ -0,0 +1,37 @@ +package org.houxg.leamonax + +import junit.framework.Assert +import org.houxg.leamonax.utils.FileUtils +import org.junit.Before +import org.junit.Test +import org.mockito.Mockito.`when` +import org.mockito.Mockito.mock +import java.io.File + +class FileUtilsTest { + + @Before + fun setUp() { + + } + + @Test + fun testIsImageFile() { + Assert.assertEquals(true, FileUtils.isImageFile(getMockFile("a.jpeg", true))) + Assert.assertEquals(true, FileUtils.isImageFile(getMockFile("a.jpg", true))) + Assert.assertEquals(true, FileUtils.isImageFile(getMockFile("a.png", true))) + Assert.assertEquals(true, FileUtils.isImageFile(getMockFile("a.gif", true))) + + Assert.assertEquals(true, FileUtils.isImageFile(getMockFile("a.JPEG", true))) + Assert.assertEquals(true, FileUtils.isImageFile(getMockFile("a.JPG", true))) + Assert.assertEquals(true, FileUtils.isImageFile(getMockFile("a.PNG", true))) + Assert.assertEquals(true, FileUtils.isImageFile(getMockFile("a.GIF", true))) + } + + private fun getMockFile(name: String, isFile: Boolean): File { + val mock = mock(File::class.java) + `when`(mock.isFile).thenReturn(isFile) + `when`(mock.name).thenReturn(name) + return mock + } +} diff --git a/build.gradle b/build.gradle index 3e8e35b..6f13e6c 100644 --- a/build.gradle +++ b/build.gradle @@ -1,12 +1,14 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { + ext.kotlin_version = '1.3.11' repositories { jcenter() google() } dependencies { classpath 'com.android.tools.build:gradle:3.2.1' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files