Home | History | Annotate | Download | only in rules
      1 package org.robolectric.junit.rules;
      2 
      3 import android.util.Log;
      4 import androidx.test.ext.junit.runners.AndroidJUnit4;
      5 import org.junit.Rule;
      6 import org.junit.Test;
      7 import org.junit.rules.ExpectedException;
      8 import org.junit.rules.RuleChain;
      9 import org.junit.runner.RunWith;
     10 
     11 /** Tests for {@link ExpectedLogMessagesRule}. */
     12 @RunWith(AndroidJUnit4.class)
     13 public final class ExpectedLogMessagesRuleTest {
     14 
     15   private ExpectedLogMessagesRule rule = new ExpectedLogMessagesRule();
     16   private ExpectedException expectedException = ExpectedException.none();
     17 
     18   @Rule public RuleChain chain = RuleChain.outerRule(expectedException).around(rule);
     19 
     20   @Test
     21   public void testAndroidExpectedLogMessagesFailsWithMessage() throws Exception {
     22     expectedException.expect(AssertionError.class);
     23     Log.e("Mytag", "What's up");
     24   }
     25 
     26   @Test
     27   public void testAndroidExpectedLogMessagesDoesNotFailWithExpected() throws Exception {
     28     rule.expectErrorsForTag("Mytag");
     29     Log.e("Mytag", "What's up");
     30   }
     31 
     32   @Test
     33   public void testNoExpectedMessageFailsTest() throws Exception {
     34     expectedException.expect(AssertionError.class);
     35     rule.expectLogMessage(Log.ERROR, "Mytag", "What's up");
     36   }
     37 
     38   @Test
     39   public void testNoExpectedTagFailsTest() throws Exception {
     40     expectedException.expect(AssertionError.class);
     41     rule.expectErrorsForTag("Mytag");
     42   }
     43 }
     44