@@ -1,5 +1,7 @@
 package org.fest.assertions.api.android.content;
 
+import android.content.ComponentName;
+import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
 import org.fest.assertions.api.AbstractAssert;
@@ -80,6 +82,23 @@ public IntentAssert hasData(Uri uri) {
     return this;
   }
 
+  public IntentAssert hasComponent(ComponentName expected) {
+    ComponentName componentName = actual.getComponent();
+    assertThat(componentName)
+        .overridingErrorMessage("Expected component name <%s> but was <%s>.",
+            expected.flattenToString(), componentName.flattenToString())
+        .isEqualTo(expected);
+    return this;
+  }
+
+  public IntentAssert hasComponent(Context context, Class<?> cls) {
+    return hasComponent(new ComponentName(context, cls.getName()));
+  }
+
+  public IntentAssert hasComponent(String appPkg, Class<?> cls) {
+    return hasComponent(new ComponentName(appPkg, cls.getName()));
+  }
+
   public static String flagsToString(int flags) {
     return new BitMaskStringBuilder(flags) //
         .flag(FLAG_GRANT_READ_URI_PERMISSION, "grant_read_uri_permission")