Add audio tests

pull/37/head
Mattia Iavarone 8 years ago
parent 72cd9f8d6d
commit 7b948a62dd
  1. 2
      cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraCallbacksTest.java
  2. 17
      cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraControllerIntegrationTest.java
  3. 9
      cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewTest.java
  4. 1
      cameraview/src/main/java/com/otaliastudios/cameraview/CameraController.java

@ -70,7 +70,7 @@ public class CameraCallbacksTest extends BaseTest {
} }
@Override @Override
protected boolean checkPermissions(SessionType sessionType) { protected boolean checkPermissions(SessionType sessionType, Audio audio) {
return true; return true;
} }
}; };

@ -5,6 +5,8 @@ import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.BitmapFactory; import android.graphics.BitmapFactory;
import android.graphics.PointF; import android.graphics.PointF;
import android.support.test.InstrumentationRegistry;
import android.support.test.espresso.Espresso;
import android.support.test.filters.MediumTest; import android.support.test.filters.MediumTest;
import android.support.test.rule.ActivityTestRule; import android.support.test.rule.ActivityTestRule;
import android.support.test.runner.AndroidJUnit4; import android.support.test.runner.AndroidJUnit4;
@ -30,6 +32,7 @@ import static org.mockito.Mockito.*;
import static org.junit.Assert.*; import static org.junit.Assert.*;
// TODO: won't work well in a 23+ emulator. Permissions will be asked.
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
@MediumTest @MediumTest
public class CameraControllerIntegrationTest extends BaseTest { public class CameraControllerIntegrationTest extends BaseTest {
@ -88,6 +91,7 @@ public class CameraControllerIntegrationTest extends BaseTest {
} else { } else {
assertNull("Should not open", result); assertNull("Should not open", result);
} }
try { Thread.sleep(600); } catch (Exception e) {}
return result; return result;
} }
@ -101,6 +105,7 @@ public class CameraControllerIntegrationTest extends BaseTest {
} else { } else {
assertNull("Should not close", result); assertNull("Should not close", result);
} }
try { Thread.sleep(600); } catch (Exception e) {};
return result; return result;
} }
@ -307,6 +312,18 @@ public class CameraControllerIntegrationTest extends BaseTest {
} }
} }
@Test
public void testSetAudio() {
// TODO: when permissions are managed, check that Audio.ON triggers the audio permission
camera.start();
waitForOpen(true);
Audio[] values = Audio.values();
for (Audio value : values) {
camera.setAudio(value);
assertEquals(camera.getAudio(), value);
}
}
//endregion //endregion
//region testSetVideoQuality //region testSetVideoQuality

@ -86,6 +86,7 @@ public class CameraViewTest extends BaseTest {
assertEquals(cameraView.getWhiteBalance(), WhiteBalance.DEFAULT); assertEquals(cameraView.getWhiteBalance(), WhiteBalance.DEFAULT);
assertEquals(cameraView.getSessionType(), SessionType.DEFAULT); assertEquals(cameraView.getSessionType(), SessionType.DEFAULT);
assertEquals(cameraView.getHdr(), Hdr.DEFAULT); assertEquals(cameraView.getHdr(), Hdr.DEFAULT);
assertEquals(cameraView.getAudio(), Audio.DEFAULT);
assertEquals(cameraView.getVideoQuality(), VideoQuality.DEFAULT); assertEquals(cameraView.getVideoQuality(), VideoQuality.DEFAULT);
assertEquals(cameraView.getLocation(), null); assertEquals(cameraView.getLocation(), null);
@ -521,6 +522,14 @@ public class CameraViewTest extends BaseTest {
assertEquals(cameraView.getHdr(), Hdr.OFF); assertEquals(cameraView.getHdr(), Hdr.OFF);
} }
@Test
public void testAudio() {
cameraView.setAudio(Audio.ON);
assertEquals(cameraView.getAudio(), Audio.ON);
cameraView.setAudio(Audio.OFF);
assertEquals(cameraView.getAudio(), Audio.OFF);
}
@Test @Test
public void testVideoQuality() { public void testVideoQuality() {
cameraView.setVideoQuality(VideoQuality.MAX_1080P); cameraView.setVideoQuality(VideoQuality.MAX_1080P);

@ -205,6 +205,7 @@ abstract class CameraController implements Preview.SurfaceCallback {
// If closed, keep. If opened, check supported and apply. // If closed, keep. If opened, check supported and apply.
abstract void setLocation(Location location); abstract void setLocation(Location location);
// Just set.
abstract void setAudio(Audio audio); abstract void setAudio(Audio audio);
// Throw if capturing. If in video session, recompute capture size, and, if needed, preview size. // Throw if capturing. If in video session, recompute capture size, and, if needed, preview size.

Loading…
Cancel
Save