// Replace only the Finder Apple Events boundary; execute production query code.
functionappleError(number){consterror=newError('fixture native error');error.errorNumber=number;returnerror;}varfixtureURLReads=0;functionfixtureItem(value){return{url:function(){fixtureURLReads+=1;if(value.error)throwappleError(value.error);returnvalue.url;}};}functionfixtureApplication(id){if(id!=='com.apple.finder')thrownewError('unexpected recipient');constwindows=fixture.windows||0;return{running:function(){returntrue;},getfinderWindows(){if(fixture.permission)throwappleError(-1743);returnwindows?[{id:function(){returnfixture.id;},target:function(){returnfixtureItem(fixture.location);}}]:[];},selection:function(){return(fixture.selection||[]).map(fixtureItem);}};}