﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
15539	[PATCH] use awaitility in MinimapDialogTest rather than Thread.sleep()	ris	team	"A few things in these patches.

Firstly, the background changes are some additions & cleanups to `MinimapDialogTest`.

I've had a go at using Awaitility in response to sonar's [https://josm.openstreetmap.de/sonar/project/issues?fileUuids=AVc-bRiRhj6bLq1o1dxP&id=josm&resolved=false nagging] instead of `Thread.sleep()`. As such the topmost patch (6/6) in this series depends on `awaitility-3.0.0.jar` being added to `test/lib/`. Obviously it would be dumb of me to include that in my patches - you can do that yourselves.

To be anything other than a fancy `Thread.sleep()`, Awaitility also needs to be provided with a callback to be able to check whether the expected operation has completed. I had some trouble in doing this for these tests.

In the end I found myself adding a new method, `hasOutstandingTasks()` to JMapViewer's `TileLoader` interface. It may be going a bit far, but tile loading is something that could do with a lot more testing across the suite, and this would give us the mechanism to test that asynchronous task ""safely"". To lessen the impact on any external implementers of `TileLoader`, I included a default implementation (which raises `UnsupportedOperationException`) to remove the immediate need to implement it. I realize this belongs to a separate repository so have kept the patch separate (patch 4/6).

This set of changes is browsable at https://github.com/risicle/josm/compare/ae5f93c3afbbf9e295456047081946af80dea8f3...ris-minimapdialogtest-ext

Patches based on top of r13110"	enhancement	closed	normal	17.11	Unit tests		fixed	jmapviewer tileloader awaitility minimapdialog	
