Skip to content

Commit

Permalink
Merge pull request #3671 from Catrobat/release-0.9.71
Browse files Browse the repository at this point in the history
Release 0.9.71
  • Loading branch information
wslany committed Jul 16, 2020
2 parents e2a5386 + 18bc4e2 commit c32f774
Show file tree
Hide file tree
Showing 410 changed files with 11,118 additions and 14,257 deletions.
5 changes: 2 additions & 3 deletions .idea/copyright/Catroid.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 9 additions & 3 deletions catroid/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ plugins {
}

repositories {
mavenLocal()
maven { url "https://jitpack.io" }
maven { url 'https://maven.fabric.io/public' }
}
Expand All @@ -52,7 +53,7 @@ ext {
gdxVersion = "1.9.10"
mockitoVersion = "2.8.47"
espressoVersion = "3.1.0"
paintroidVersion = "2.4.1"
paintroidVersion = "2.5.0"
}

apply plugin: 'com.android.application'
Expand All @@ -67,6 +68,10 @@ apply from: 'gradle/release_crowdin_tasks.gradle'
apply from: 'gradle/release_fastlane_tasks.gradle'
apply from: 'gradle/standalone_apk_tasks.gradle'

if(rootProject.hasProperty('paintroidLocal')) {
paintroidVersion = paintroidVersion + "-LOCAL"
}

if (rootProject.hasProperty('independent')) {
println "Independent build"
def today = new Date()
Expand Down Expand Up @@ -133,8 +138,8 @@ android {
targetSdkVersion 28
applicationId appId
testInstrumentationRunner 'org.catrobat.catroid.runner.UiTestApplicationRunner'
versionCode 74
versionName "0.9.70"
versionCode 75
versionName "0.9.71"
println "VersionCode is $versionCode"
println "VersionName is $versionName"
multiDexEnabled true
Expand Down Expand Up @@ -433,6 +438,7 @@ dependencies {
testImplementation 'org.robolectric:shadows-multidex:4.2.1'

testImplementation 'org.reflections:reflections:0.9.11'
testImplementation 'org.json:json:20190722'

androidTestImplementation 'com.linkedin.dexmaker:dexmaker-mockito:2.2.0'
androidTestImplementation "org.mockito:mockito-core:$mockitoVersion"
Expand Down
367 changes: 200 additions & 167 deletions catroid/config/lint-baseline.xml

Large diffs are not rendered by default.

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -50,19 +50,28 @@ public void testStringEqual() throws Exception {

@Test
public void testFailMismatchingTypes() throws Exception {
exception.expectMessage("expected:<5.0> but was:<some text>");
exception.expectMessage("AssertEqualsError\n"
+ "expected: <5.0>\n"
+ "actual: <some text>\n"
+ "deviation: ^");
testAsset("testFailMismatchingTypes.catrobat", "catrobatTestRunnerTests/fail");
}

@Test
public void testFailStringNotEqual() throws Exception {
exception.expectMessage("expected:<diff> but was:<text>");
exception.expectMessage("AssertEqualsError\n"
+ "expected: <diff>\n"
+ "actual: <text>\n"
+ "deviation: ^");
testAsset("testFailStringNotEqual.catrobat", "catrobatTestRunnerTests/fail");
}

@Test
public void testFailDoubleNotEqual() throws Exception {
exception.expectMessage("expected:<1.0> but was:<1.1>");
exception.expectMessage("AssertEqualsError\n"
+ "expected: <1.0>\n"
+ "actual: <1.1>\n"
+ "deviation: --^");
testAsset("testFailDoubleNotEqual.catrobat", "catrobatTestRunnerTests/fail");
}

Expand All @@ -78,6 +87,57 @@ public void testTapBrick() throws Exception {
testAsset("testTapBrick.catrobat", "catrobatTestRunnerTests/success");
}

@Test
public void testSuccessListEqual() throws Exception {

testAsset("testSuccessListEqual.catrobat", "catrobatTestRunnerTests/success");
}

@Test
public void testFailListDoubleNotEqual() throws Exception {
exception.expectMessage("AssertUserListError\n"
+ "position: 1\n"
+ "expected: <1.1>\n"
+ "actual: <1.2>\n"
+ "deviation: --^\n"
+ "\n"
+ "position: 2\n"
+ "expected: <5.2>\n"
+ "actual: <5>\n"
+ "deviation: -^\n");
testAsset("testFailListDoubleNotEqual.catrobat", "catrobatTestRunnerTests/fail");
}

@Test
public void testFailListStringNotEqual() throws Exception {
exception.expectMessage("AssertUserListError\n"
+ "position: 0\n"
+ "expected: <first String>\n"
+ "actual: <second String>\n"
+ "deviation: ^\n"
+ "\n"
+ "position: 1\n"
+ "expected: <second String>\n"
+ "actual: <first String>\n"
+ "deviation: ^\n");
testAsset("testFailListStringNotEqual.catrobat", "catrobatTestRunnerTests/fail");
}

@Test
public void testFailListMismatchingTypes() throws Exception {
exception.expectMessage("AssertUserListError\n"
+ "position: 0\n"
+ "expected: <first String>\n"
+ "actual: <125.0>\n"
+ "deviation: ^\n"
+ "\n"
+ "position: 1\n"
+ "expected: <12.3>\n"
+ "actual: <second String>\n"
+ "deviation: ^\n");
testAsset("testFailListMismatchingTypes.catrobat", "catrobatTestRunnerTests/fail");
}

private void testAsset(String assetName, String assetPath) throws Exception {
catrobatTestRunner.assetName = assetName;
catrobatTestRunner.assetPath = assetPath;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
import org.catrobat.catroid.ProjectManager;
import org.catrobat.catroid.content.Project;
import org.catrobat.catroid.content.bricks.Brick;
import org.catrobat.catroid.content.bricks.UserDefinedBrick;
import org.catrobat.catroid.ui.fragment.CategoryBricksFactory;
import org.junit.Before;
import org.junit.Test;
Expand Down Expand Up @@ -105,6 +104,8 @@ public class BricksHelpUrlTest {
"https://wiki.catrobat.org/bin/view/Documentation/Brick%20Documentation/Jumping Sumo%20Bricks/#JumpingSumoTurnBrick");
brickToHelpUrlMapping.put("org.catrobat.catroid.content.bricks.RepeatBrick",
"https://wiki.catrobat.org/bin/view/Documentation/Brick%20Documentation/Control%20Bricks/#RepeatBrick");
brickToHelpUrlMapping.put("org.catrobat.catroid.content.bricks.ForVariableFromToBrick",
"https://wiki.catrobat.org/bin/view/Documentation/Brick%20Documentation/Control%20Bricks/#ForVariableFromToBrick");
brickToHelpUrlMapping.put("org.catrobat.catroid.content.bricks.SayBubbleBrick",
"https://wiki.catrobat.org/bin/view/Documentation/Brick%20Documentation/Looks%20Bricks/#SayBubbleBrick");
brickToHelpUrlMapping.put("org.catrobat.catroid.content.bricks.SetBrightnessBrick",
Expand Down Expand Up @@ -173,6 +174,8 @@ public class BricksHelpUrlTest {
"https://wiki.catrobat.org/bin/view/Documentation/Brick%20Documentation/Event%20Bricks/#BroadcastBrick");
brickToHelpUrlMapping.put("org.catrobat.catroid.content.bricks.FlashBrick",
"https://wiki.catrobat.org/bin/view/Documentation/Brick%20Documentation/Looks%20Bricks/#FlashBrick");
brickToHelpUrlMapping.put("org.catrobat.catroid.content.bricks.StopSoundBrick",
"https://wiki.catrobat.org/bin/view/Documentation/Brick%20Documentation/Sound%20Bricks/#StopSoundBrick");
brickToHelpUrlMapping.put("org.catrobat.catroid.content.bricks.StopAllSoundsBrick",
"https://wiki.catrobat.org/bin/view/Documentation/Brick%20Documentation/Sound%20Bricks/#StopAllSoundsBrick");
brickToHelpUrlMapping.put("org.catrobat.catroid.content.bricks.WriteListOnDeviceBrick",
Expand Down Expand Up @@ -363,6 +366,10 @@ public class BricksHelpUrlTest {
"https://wiki.catrobat.org/bin/view/Documentation/Brick%20Documentation/Motion%20Bricks/#VibrationBrick");
brickToHelpUrlMapping.put("org.catrobat.catroid.content.bricks.WriteVariableOnDeviceBrick",
"https://wiki.catrobat.org/bin/view/Documentation/Brick%20Documentation/Data%20Bricks/#WriteVariableOnDeviceBrick");
brickToHelpUrlMapping.put("org.catrobat.catroid.content.bricks.WriteVariableToFileBrick",
"https://wiki.catrobat.org/bin/view/Documentation/Brick%20Documentation/Data%20Bricks/#WriteVariableToFileBrick");
brickToHelpUrlMapping.put("org.catrobat.catroid.content.bricks.ReadVariableFromFileBrick",
"https://wiki.catrobat.org/bin/view/Documentation/Brick%20Documentation/Data%20Bricks/#ReadVariableFromFileBrick");
brickToHelpUrlMapping.put("org.catrobat.catroid.content.bricks.JumpingSumoAnimationsBrick",
"https://wiki.catrobat.org/bin/view/Documentation/Brick%20Documentation/Jumping Sumo%20Bricks/#JumpingSumoAnimationsBrick");
brickToHelpUrlMapping.put("org.catrobat.catroid.content.bricks.SetPenColorBrick",
Expand Down Expand Up @@ -395,8 +402,12 @@ public class BricksHelpUrlTest {
"https://wiki.catrobat.org/bin/view/Documentation/Brick%20Documentation/Embroidery%20Bricks/#TripleStitchBrick");
brickToHelpUrlMapping.put("org.catrobat.catroid.content.bricks.UserDefinedBrick",
"https://wiki.catrobat.org/bin/view/Documentation/Brick%20Documentation/Your bricks%20Bricks/#UserDefinedBrick");
brickToHelpUrlMapping.put("org.catrobat.catroid.content.bricks.UserDefinedReceiverBrick",
"https://wiki.catrobat.org/bin/view/Documentation/Brick%20Documentation/Your bricks%20Bricks/#UserDefinedReceiverBrick");
brickToHelpUrlMapping.put("org.catrobat.catroid.content.bricks.StoreCSVIntoUserListBrick",
"https://wiki.catrobat.org/bin/view/Documentation/Brick%20Documentation/Data%20Bricks/#StoreCSVIntoUserListBrick");
brickToHelpUrlMapping.put("org.catrobat.catroid.content.bricks.AssertUserListsBrick",
"https://wiki.catrobat.org/bin/view/Documentation/Brick%20Documentation/Testing%20Bricks/#AssertUserListsBrick");
}

@Parameterized.Parameters(name = "{0}")
Expand Down Expand Up @@ -452,9 +463,6 @@ public void testBrickHelpUrl() throws IllegalAccessException,
String category = new CategoryBricksFactory().getBrickCategory(brick, false,
InstrumentationRegistry.getInstrumentation().getTargetContext());
String brickHelpUrl = brick.getHelpUrl(category);
if (brick instanceof UserDefinedBrick) {
brickHelpUrl = brick.getHelpUrl("Your bricks");
}
assertEquals(brickToHelpUrlMapping.get(simpleName), brickHelpUrl);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,15 @@
*/
package org.catrobat.catroid.test.content.actions;

import android.media.MediaPlayer;

import com.badlogic.gdx.scenes.scene2d.Action;

import org.catrobat.catroid.ProjectManager;
import org.catrobat.catroid.common.SoundInfo;
import org.catrobat.catroid.content.ActionFactory;
import org.catrobat.catroid.content.MediaPlayerWithSoundDetails;
import org.catrobat.catroid.content.Project;
import org.catrobat.catroid.content.SingleSprite;
import org.catrobat.catroid.content.Sprite;
import org.catrobat.catroid.io.ResourceImporter;
import org.catrobat.catroid.io.SoundManager;
import org.catrobat.catroid.io.XstreamSerializer;
import org.catrobat.catroid.test.R;
Expand All @@ -48,17 +46,15 @@

import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;

import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;

import static org.catrobat.catroid.common.Constants.SOUND_DIRECTORY_NAME;

@RunWith(AndroidJUnit4.class)
public class PlaySoundActionTest {
private final SoundManager soundManager = SoundManager.getInstance();
private File soundFile;
private Project project;

@Before
public void setUp() throws Exception {
Expand All @@ -83,42 +79,40 @@ public void testPlaySound() {
Action action = factory.createPlaySoundAction(testSprite, soundInfo);
action.act(1.0f);

List<MediaPlayer> mediaPlayers = soundManager.getMediaPlayers();
List<MediaPlayerWithSoundDetails> mediaPlayers = soundManager.getMediaPlayers();
assertEquals(1, mediaPlayers.size());
assertTrue(mediaPlayers.get(0).isPlaying());
}

@Test
public void testPlaySimultaneousSounds() {
public void testPlaySimultaneousSounds() throws IOException {
File soundFile2 = TestUtils.createSoundFile(project, R.raw.testsoundui, "soundTest.mp3");
Sprite testSprite = new SingleSprite("testSprite");
SoundInfo soundInfo = createSoundInfo(soundFile);
SoundInfo soundInfo2 = createSoundInfo(soundFile2);
testSprite.getSoundList().add(soundInfo);
testSprite.getSoundList().add(soundInfo2);

ActionFactory factory = testSprite.getActionFactory();
Action playSoundAction1 = factory.createPlaySoundAction(testSprite, soundInfo);
Action playSoundAction2 = factory.createPlaySoundAction(testSprite, soundInfo);
Action playSoundAction2 = factory.createPlaySoundAction(testSprite, soundInfo2);

playSoundAction1.act(1.0f);
playSoundAction2.act(1.0f);

List<MediaPlayer> mediaPlayers = soundManager.getMediaPlayers();
List<MediaPlayerWithSoundDetails> mediaPlayers = soundManager.getMediaPlayers();
assertEquals(2, mediaPlayers.size());
assertTrue(mediaPlayers.get(0).isPlaying());
assertTrue(mediaPlayers.get(1).isPlaying());
}

private void createTestProject() throws IOException {
String projectName = "testProject";
Project project = new Project(ApplicationProvider.getApplicationContext(), projectName);
project = new Project(ApplicationProvider.getApplicationContext(), projectName);
XstreamSerializer.getInstance().saveProject(project);
ProjectManager.getInstance().setCurrentProject(project);

int soundFileId = R.raw.testsound;
soundFile = ResourceImporter.createSoundFileFromResourcesInDirectory(
InstrumentationRegistry.getInstrumentation().getContext().getResources(),
soundFileId,
new File(project.getDefaultScene().getDirectory(), SOUND_DIRECTORY_NAME),
"soundTest.mp3");
soundFile = TestUtils.createSoundFile(project, R.raw.testsound, "soundTest.mp3");
}

private SoundInfo createSoundInfo(File soundFile) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,15 @@
*/
package org.catrobat.catroid.test.content.actions;

import android.media.MediaPlayer;

import com.badlogic.gdx.scenes.scene2d.Action;

import org.catrobat.catroid.ProjectManager;
import org.catrobat.catroid.common.SoundInfo;
import org.catrobat.catroid.content.ActionFactory;
import org.catrobat.catroid.content.MediaPlayerWithSoundDetails;
import org.catrobat.catroid.content.Project;
import org.catrobat.catroid.content.SingleSprite;
import org.catrobat.catroid.content.Sprite;
import org.catrobat.catroid.io.ResourceImporter;
import org.catrobat.catroid.io.SoundManager;
import org.catrobat.catroid.io.XstreamSerializer;
import org.catrobat.catroid.test.R;
Expand All @@ -48,18 +46,16 @@

import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;

import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertTrue;

import static org.catrobat.catroid.common.Constants.SOUND_DIRECTORY_NAME;

@RunWith(AndroidJUnit4.class)
public class StopAllSoundsActionTest {
private final SoundManager soundManager = SoundManager.getInstance();
private File soundFile;
private Project project;

@Before
public void setUp() throws Exception {
Expand All @@ -75,12 +71,12 @@ public void tearDown() throws Exception {
}

@Test
public void testStopOneSound() throws Exception {
public void testStopOneSound() {
Sprite testSprite = new SingleSprite("testSprite");
SoundInfo soundInfo = createSoundInfo(soundFile);
testSprite.getSoundList().add(soundInfo);

List<MediaPlayer> mediaPlayers = soundManager.getMediaPlayers();
List<MediaPlayerWithSoundDetails> mediaPlayers = soundManager.getMediaPlayers();

ActionFactory factory = testSprite.getActionFactory();
Action playSoundAction = factory.createPlaySoundAction(testSprite, soundInfo);
Expand All @@ -98,18 +94,21 @@ public void testStopOneSound() throws Exception {

@Test
public void testStopSimultaneousPlayingSounds() throws Exception {
File soundFile2 = TestUtils.createSoundFile(project, R.raw.testsoundui, "soundTest.mp3");
Sprite testSprite = new SingleSprite("testSprite");
SoundInfo soundInfo = createSoundInfo(soundFile);
SoundInfo soundInfo2 = createSoundInfo(soundFile2);
testSprite.getSoundList().add(soundInfo);
testSprite.getSoundList().add(soundInfo2);

ActionFactory factory = testSprite.getActionFactory();
Action playSoundAction1 = factory.createPlaySoundAction(testSprite, soundInfo);
Action playSoundAction2 = factory.createPlaySoundAction(testSprite, soundInfo);
Action playSoundAction2 = factory.createPlaySoundAction(testSprite, soundInfo2);

playSoundAction1.act(1.0f);
playSoundAction2.act(1.0f);

List<MediaPlayer> mediaPlayers = soundManager.getMediaPlayers();
List<MediaPlayerWithSoundDetails> mediaPlayers = soundManager.getMediaPlayers();
assertEquals(2, mediaPlayers.size());
assertTrue(mediaPlayers.get(0).isPlaying());
assertTrue(mediaPlayers.get(1).isPlaying());
Expand All @@ -124,16 +123,11 @@ public void testStopSimultaneousPlayingSounds() throws Exception {
private void createTestProject() throws IOException {
final String projectName = TestUtils.DEFAULT_TEST_PROJECT_NAME;

Project project = new Project(ApplicationProvider.getApplicationContext(), projectName);
project = new Project(ApplicationProvider.getApplicationContext(), projectName);
XstreamSerializer.getInstance().saveProject(project);
ProjectManager.getInstance().setCurrentProject(project);

int soundFileId = R.raw.testsound;
soundFile = ResourceImporter.createSoundFileFromResourcesInDirectory(
InstrumentationRegistry.getInstrumentation().getContext().getResources(),
soundFileId,
new File(project.getDefaultScene().getDirectory(), SOUND_DIRECTORY_NAME),
"soundTest.mp3");
soundFile = TestUtils.createSoundFile(project, R.raw.testsound, "soundTest.mp3");
}

private SoundInfo createSoundInfo(File soundFile) {
Expand Down
Loading

0 comments on commit c32f774

Please sign in to comment.