use of org.javarosa.form.api.FormEntryPrompt in project collect by opendatakit.
the class AudioWidgetTest method afterSetBinaryData_whenPositionOfClipChanges_updatesPosition.
@Test
public void afterSetBinaryData_whenPositionOfClipChanges_updatesPosition() throws Exception {
FormEntryPrompt prompt = promptWithAnswer(null);
File answerFile = questionMediaManager.addAnswerFile(File.createTempFile("blah", ".mp3"));
Clip expectedClip = getExpectedClip(prompt, answerFile.getName());
setupMediaPlayerDataSource(expectedClip.getURI(), 322450);
AudioWidget widget = createWidget(prompt);
widget.setData(answerFile);
AudioControllerView audioController = widget.binding.audioPlayer.audioController;
assertThat(audioController.binding.currentDuration.getText().toString(), is("00:00"));
audioPlayer.setPosition(expectedClip.getClipID(), 42000);
assertThat(audioController.binding.currentDuration.getText().toString(), is("00:42"));
}
use of org.javarosa.form.api.FormEntryPrompt in project collect by opendatakit.
the class AudioWidgetTest method whenRecordingInProgress_updatesDuration.
@Test
public void whenRecordingInProgress_updatesDuration() {
FormEntryPrompt prompt = promptWithAnswer(null);
AudioWidget widget = createWidget(prompt);
recordingRequester.setDuration(prompt.getIndex().toString(), 0);
assertThat(widget.binding.audioPlayer.recordingDuration.getText(), is("00:00"));
recordingRequester.setDuration(prompt.getIndex().toString(), 42000);
assertThat(widget.binding.audioPlayer.recordingDuration.getText(), is("00:42"));
}
use of org.javarosa.form.api.FormEntryPrompt in project collect by opendatakit.
the class AudioWidgetTest method clearAnswer_setsFileAsideForDeleting.
@Test
public void clearAnswer_setsFileAsideForDeleting() throws Exception {
File answerFile = questionMediaManager.addAnswerFile(File.createTempFile("blah", ".mp3"));
FormEntryPrompt prompt = promptWithAnswer(new StringData(answerFile.getName()));
when(prompt.getIndex()).thenReturn(formIndex);
AudioWidget widget = createWidget(prompt);
widget.clearAnswer();
assertThat(questionMediaManager.originalFiles.get("questionIndex"), equalTo(answerFile.getAbsolutePath()));
}
use of org.javarosa.form.api.FormEntryPrompt in project collect by opendatakit.
the class AudioWidgetTest method afterSetBinaryData_clickingPlayAndPause_playsAndPausesAudio.
@Test
public void afterSetBinaryData_clickingPlayAndPause_playsAndPausesAudio() throws Exception {
FormEntryPrompt prompt = promptWithAnswer(null);
AudioWidget widget = createWidget(prompt);
File answerFile = questionMediaManager.addAnswerFile(File.createTempFile("blah", ".mp3"));
Clip expectedClip = getExpectedClip(prompt, answerFile.getName());
widget.setData(answerFile);
AudioControllerView audioController = widget.binding.audioPlayer.audioController;
assertThat(audioController.getVisibility(), is(VISIBLE));
audioController.binding.play.performClick();
assertThat(audioPlayer.getCurrentClip(), is(expectedClip));
audioController.binding.play.performClick();
assertThat(audioPlayer.getCurrentClip(), is(expectedClip));
assertThat(audioPlayer.isPaused(), is(true));
audioController.binding.play.performClick();
assertThat(audioPlayer.getCurrentClip(), is(expectedClip));
assertThat(audioPlayer.isPaused(), is(false));
}
use of org.javarosa.form.api.FormEntryPrompt in project collect by opendatakit.
the class AudioWidgetTest method whenWidgetIsNew_chooseSoundButtonIsNotShown.
@Test
public void whenWidgetIsNew_chooseSoundButtonIsNotShown() {
FormEntryPrompt prompt = promptWithReadOnly();
when(prompt.getAppearanceHint()).thenReturn(Appearances.NEW);
AudioWidget widget = createWidget(prompt);
assertThat(widget.binding.chooseButton.getVisibility(), equalTo(GONE));
}
Aggregations