org.robolectric.util.Scheduler.areAnyRunnable()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(5.1k)|赞(0)|评价(0)|浏览(125)

本文整理了Java中org.robolectric.util.Scheduler.areAnyRunnable()方法的一些代码示例,展示了Scheduler.areAnyRunnable()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Scheduler.areAnyRunnable()方法的具体详情如下:
包路径:org.robolectric.util.Scheduler
类名称:Scheduler
方法名:areAnyRunnable

Scheduler.areAnyRunnable介绍

[英]Determine if any enqueued runnables are enqueued before the current time.
[中]确定在当前时间之前是否有任何已排队的可运行项已排队。

代码示例

代码示例来源:origin: robolectric/robolectric

  1. @Test
  2. public void shouldResetQueue_whenLooperIsReset() {
  3. HandlerThread ht = getHandlerThread();
  4. Looper looper = ht.getLooper();
  5. Handler h = new Handler(looper);
  6. ShadowLooper sLooper = shadowOf(looper);
  7. sLooper.pause();
  8. h.post(new Runnable() {
  9. @Override
  10. public void run() {
  11. }
  12. });
  13. assertThat(shadowOf(looper.getQueue()).getHead()).named("queue").isNotNull();
  14. sLooper.reset();
  15. assertThat(sLooper.getScheduler().areAnyRunnable()).named("areAnyRunnable").isFalse();
  16. assertThat(shadowOf(looper.getQueue()).getHead()).named("queue").isNull();
  17. }

代码示例来源:origin: robolectric/robolectric

  1. @Test
  2. public void shouldNotQueueMessagesIfLooperIsQuit() throws Exception {
  3. HandlerThread ht = getHandlerThread();
  4. Looper looper = ht.getLooper();
  5. looper.quit();
  6. assertThat(shadowOf(looper).hasQuit()).named("hasQuit").isTrue();
  7. assertThat(shadowOf(looper).post(new Runnable() {
  8. @Override
  9. public void run() {
  10. }
  11. }, 0)).named("post").isFalse();
  12. assertThat(shadowOf(looper).postAtFrontOfQueue(new Runnable() {
  13. @Override
  14. public void run() {
  15. }
  16. })).named("postAtFrontOfQueue").isFalse();
  17. assertThat(shadowOf(looper).getScheduler().areAnyRunnable()).named("areAnyRunnable").isFalse();
  18. }

代码示例来源:origin: robolectric/robolectric

  1. @Test
  2. public void shouldThrowawayRunnableQueueIfLooperQuits() throws Exception {
  3. HandlerThread ht = getHandlerThread();
  4. Looper looper = ht.getLooper();
  5. shadowOf(looper).pause();
  6. shadowOf(looper).post(new Runnable() {
  7. @Override
  8. public void run() {
  9. }
  10. }, 0);
  11. looper.quit();
  12. assertThat(shadowOf(looper).hasQuit()).named("hasQuit").isTrue();
  13. assertThat(shadowOf(looper).getScheduler().areAnyRunnable()).named("areAnyRunnable").isFalse();
  14. assertThat(shadowOf(looper.getQueue()).getHead()).named("queue").isNull();
  15. }

代码示例来源:origin: appnexus/mobile-sdk-android

  1. @Override
  2. public void run() {
  3. counter[0]--;
  4. if (uiScheduler.areAnyRunnable() || bgScheduler.areAnyRunnable() || counter[0] == 0) {
  5. Lock.unpause();
  6. this.cancel();
  7. }
  8. }
  9. }, 0, 100);

代码示例来源:origin: appnexus/mobile-sdk-android

  1. @Override
  2. public void run() {
  3. counter[0]--;
  4. if (uiScheduler.areAnyRunnable() || bgScheduler.areAnyRunnable() || counter[0] == 0) {
  5. Lock.unpause();
  6. this.cancel();
  7. }
  8. }
  9. }, 0, 100);

代码示例来源:origin: appnexus/mobile-sdk-android

  1. if (Robolectric.getBackgroundThreadScheduler().areAnyRunnable()) {
  2. Robolectric.flushBackgroundThreadScheduler();
  3. if (Robolectric.getForegroundThreadScheduler().areAnyRunnable()) {
  4. Robolectric.flushForegroundThreadScheduler();

代码示例来源:origin: appnexus/mobile-sdk-android

  1. @Test
  2. public void test4NoRequestMediationCall() {
  3. // Create an AdRequest which will request a mediated response
  4. // that returns an class which does not make an ad request
  5. // then verify that the correct fail URL request was made
  6. server.enqueue(new MockResponse().setResponseCode(200).setBody(TestResponsesUT.mediatedNoRequestBanner()));
  7. server.enqueue(new MockResponse().setResponseCode(200).setBody(TestResponsesUT.blank())); // This is for response URL
  8. server.enqueue(new MockResponse().setResponseCode(200).setBody(TestResponsesUT.blank())); // This is for no Ad URL
  9. requestManager.execute();
  10. Robolectric.flushBackgroundThreadScheduler();
  11. Robolectric.flushForegroundThreadScheduler();
  12. try {
  13. Thread.sleep(20000);
  14. } catch (InterruptedException e) {
  15. e.toString();
  16. //fail(e.toString());
  17. }
  18. Robolectric.flushBackgroundThreadScheduler();
  19. Robolectric.flushForegroundThreadScheduler();
  20. executeAndAssertResponseURL(2, INTERNAL_ERROR, CHECK_LATENCY_TRUE);
  21. if (Robolectric.getBackgroundThreadScheduler().areAnyRunnable()) {
  22. Robolectric.flushBackgroundThreadScheduler();
  23. }
  24. if (Robolectric.getForegroundThreadScheduler().areAnyRunnable()) {
  25. Robolectric.flushForegroundThreadScheduler();
  26. }
  27. assertCallbacks(false);
  28. assertTrue(MediatedBannerNoRequest.didInstantiate);
  29. assertNoAdURL();
  30. }

代码示例来源:origin: appnexus/mobile-sdk-android

  1. @Test
  2. public void testStop() {
  3. if (adFetcher != null) {
  4. // not needed, but in case AdRequest is run
  5. server.enqueue(new MockResponse().setResponseCode(200).setBody(TestResponsesUT.blank()));
  6. clearAAIDAsyncTasks();
  7. // start an AdFetcher normally, until an AdRequest is queued
  8. adFetcher.start();
  9. Lock.pause(1000); // added this so jenkins can have enough time to process
  10. assertExpectedBGTasksAfterOneAdRequest(1);
  11. assertNotSame(AdFetcher.STATE.STOPPED, adFetcher.getState());
  12. adFetcher.stop();
  13. // pause until a scheduler has a task in queue
  14. waitForTasks();
  15. // Run the cancel command on AdRequest
  16. Robolectric.flushForegroundThreadScheduler();
  17. // Run the pending AdRequest from start() -- should have been canceled
  18. while (Robolectric.getBackgroundThreadScheduler().areAnyRunnable()) {
  19. Robolectric.getBackgroundThreadScheduler().runOneTask();
  20. }
  21. // A normally executed AdRequest will queue onPostExecute call to the UI thread,
  22. // but it should be canceled, and queue nothing
  23. int uiTaskCount = Robolectric.getForegroundThreadScheduler().size();
  24. assertEquals(0, uiTaskCount);
  25. assertEquals(AdFetcher.STATE.STOPPED, adFetcher.getState());
  26. }
  27. }

相关文章