text:
Errors after making deal once with wrong params

I by mistake ran the makedealproposal function with a wrong parameter (car size to be particular) and my deal got rejected for same reason as could be seen here -
2023-04-03T13:42:49.363Z        ERROR   boost-storage-deal      logs/log.go:53  deal failed     {"id": "3754d36e-1d84-41b8-927a-c5dfe11328a4", "err": "data-transfer failed: mismatch in dealSize vs received bytes, dealSize=520192, received=406562"}
but the problem was that when I ran the same deal with correct parameters afterwards deal was not successful with following error -
2023-04-03T14:39:00.265Z        INFO    boost-provider  storagemarket/contract_deal_monitor.go:180      received contract deal proposal    {"id": "0x6f63fdaf919cdb57381746972ade549858fd7b5d4ca2ee2d2e768ab4c527c8ad", "uuid": "6b198de0-118e-4860-8e52-10042518dcc4", "client-peer": "f410fg5jcprjlsfc4vfbbnvxteo66wp36nn5dsqifgta", "contract": "0x375227c52b9145ca94216d6f323bdeb3f7e6b7a3", "piece-cid": "baga6ea4seaqj2niowks5hx2jkvpzdolzjcogzwq72r4ysotvc7ipgexfrrcgqaq"} 2023-04-03T14:39:00.265Z        INFO    boost-storage-deal      logs/log.go:40  executing deal proposal received from network      {"id": "6b198de0-118e-4860-8e52-10042518dcc4", "peer": ""} 2023-04-03T14:39:00.294Z        INFO    boost-storage-deal      logs/log.go:40  processing deal acceptance request{"id": "6b198de0-118e-4860-8e52-10042518dcc4"} 2023-04-03T14:39:00.303Z        INFO    boost-storage-deal      logs/log.go:40  deal acceptance request rejected  {"id": "6b198de0-118e-4860-8e52-10042518dcc4", "reason": "deal proposal is identical to deal 3754d36e-1d84-41b8-927a-c5dfe11328a4 (proposed at 2023-04-03 13:42:30.182932482 +0000 UTC)", "error": "deal proposal is identical to deal 3754d36e-1d84-41b8-927a-c5dfe11328a4 (proposed at 2023-04-03 13:42:30.182932482 +0000 UTC)"} 2023-04-03T14:39:00.314Z        INFO    boost-storage-deal      logs/log.go:40  deal rejected by provider       {"id": "6b198de0-118e-4860-8e52-10042518dcc4", "reason": "deal proposal is identical to deal 3754d36e-1d84-41b8-927a-c5dfe11328a4 (proposed at 2023-04-03 13:42:30.182932482 +0000 UTC)"} 2023-04-03T14:39:00.320Z        WARN    boost-provider  storagemarket/contract_deal_monitor.go:191      contract deal proposal rejected    {"id": "0x6f63fdaf919cdb57381746972ade549858fd7b5d4ca2ee2d2e768ab4c527c8ad", "uuid": "6b198de0-118e-4860-8e52-10042518dcc4", "err": null, "reason": "deal proposal is identical to deal 3754d36e-1d84-41b8-927a-c5dfe11328a4 (proposed at 2023-04-03 13:42:30.182932482 +0000 UTC)"}
where it said that deal was identical to the previous deal that was not even successful. Thus this deal could not be placed by me now.
How can this error be resolved.

Hello.... have you get any help regarding your issues ?


text:
Action with multiple states

Description
For some actions, we face a problem. The action can concern the current element or a selected element. For example, the Paste command can apply to the current list or to a sidebar item. The state of the Toolbar's Paste button should always match the state for the list, even if a sidebar context menu is open, and that menu should match the state to the selected item without updating the button.
Here is a simple solution to this problem. We use 2 actions, one for the current element (without needing a selection) and one for the selected element (keyboard or menu). The action on the selected element applies to the current element if no element is selected. The hotkey is applied to the action of the selection.
The only trick is that it will be necessary to add an IsPublic property to the actions (by default true). Thus, for the user, only one action will be visible in the palette, with its hotkey.
We can then add the selected content to IContentPageContext (in the homepage or the sidebar). Actions based on the selection will be able to use it.
Concerned code
IAction
Gains
Show different states for the same action in different places.
Requirements
Add property bool IsPublic
Comments
No response

I think isPrivate is better because developers tend to think the default is false.

Or, it is better to prepare IPrivateAction.

The toolbar button always pastes to the open folder and not the selected folder.

@yaira2 The Paste command on the toolbar is different from that on the context menu. It's bad practice but that's what I was asked to do. Here is the discussion https://github.com/files-community/Files/pull/11753#issuecomment-1474785497.

I still don't understand why the toolbar is clickable while sidebar item's context flyout is open. As I made some other contexts, we should be able to close this issue.

Here is a screenshot to illustrate:

The toolbar isn't actually clickable until the context menu is closed, but it indicates that the option is available.

But then this problem should be fixed if you add SelectedItem.Type == Folder and SelectedItems.Count is 0 or something, and trigger the event to invoke IsExecutable again when selection changed.

source: gharchive/issue

repo: files-community/Files

license: MIT

license_type: permissive

license_source: github-api


text:
Onstartup options should apply to only first instance of the app

Is your feature request related to a problem? Please describe.
The "OnStartup" preferences like opening specific set of pages applies to every instance of the app.
Describe the solution you'd like
The "OnStartup" preferences should only apply to the first instance of the app. This is default behavior from browsers and other multi-window solutions.
Additional question
Also, should the "open where left of" be applied to only first instance??

@soumyamahunt Continue where you left off hasn't been implemented yet.

@soumyamahunt Continue where you left off hasn't been implemented yet.

I know, the question was when it will be implemented whether it should be for one instance or for multiple instance.

@yaichenbaum Can you assign me?

@soumyamahunt Is this still an issue with v0.17?

authors: Jaiganeshkumaran d2dyno1 soumyamahunt yaichenbaum


text:
Decouple SMB from UI

What feature or improvement do you think would benefit Files?
While most of casual users will find Files better that explorer I'm sure there is A LOT of people, including casuals, who uses network shares, and I must say it's basically unusable when there's no high speed connection (and as I see from reports there a lot of smb issues).
From my point of view while you cant do a lot with smb when there's a bad connection it's unacceptable that application basically freezes while loading shares, directories and files (and I'm on adsl r.n. which is not so bad)
So my thought on that is next - is it possible to decouple application layer from presentation layer? Can it work in bg thread? I was thinking about it since explorer itself completely hung system up for timeout seconds when there's not access to file share when file dialog windows opens.
And moreover with multiwindow application, when you can open folder in one tab and switch to other it's even more unacceptable.
Requirements

Fixing bug with application freezing issue
Incomparably better perceived user experience
(Prospect) Remote folders caching
Potentially fixing a lot of bugs regarding slow interactions with remote folders

Files Version
3.6.0.0
Windows Version
Win 11 22631.3880 (Windows Feature Experience Pack 1000.22700.1020.0)
Comments
No response

Thanks for the feedback, We're tracking this in #12704. You can check there or click subscribe in the right sidebar for updates.
Right now if you a lot of network drive you can still use Windows File Explorer along side Files. We're working on improvements to give it the same performance as local drives. Files freezing also happens on local drives but often they load faster so it doesn't show.
Caching the network drive often won't be usable either as it still has to load once and if the contents change outside of Files won't show the correct files/folders and have to reload with the same issues as now.

We're tracking this in #12704
Yes, that's a issue as well, but I'm talking about different thing. Even when explorer open folder when connection is slow it's not a modern EX - nothing visibly loading, nothing showing, empty space or nothing happens at all and then suddenly something opens or error pops (nice to see error when you already moved to different place and folder)

I'm talking about UI/UX here, but to see it something must be changed.
Main claim - to have noticeable, contrast loading indicator on workspace or somewhere it's obvious
And of course app itself must stay interactive, if tab is opened you must be able to navigate other tabs and see when content is ready, situations when you need to do something quickly and in local folder, but have to wait until pinned and favorites locations accessibility complete before you can do anything at all should not happen

Caching the network drive often won't be usable either as it still has to load once and if the contents change outside of Files won't

It's only my vision, not a current suggestion, but it would be very nice if you can open share and last files and folders are grayed or have some marking that they are from cache, while in BG it's loading. Main point is to be able to navigate and see files, not file caching ofc.
And if you navigate through there can be not so complicated logic how to react in the tab when opened.
Imagine how fast and responsive would it be if you can navigate to some folder on remote server and wait only fow loading structure of that last folder and not to wait all of them and is it's gone you just routed to last existing location with it already loaded actual structure


text:
Está dando erro em meu computador ao iniciar o Files!

Description
Está aparecendo um aviso em minha tela que o File está dando erro.
Steps To Reproduce
wdw
Expected behavior
ef
Files Version
ergeg
Windows Version
erge
Relevant Assets/Logs
efw

Thank you for taking the time to report this, in order to investigate the issue we'll need the log files and steps to repro this bug, can you please reopen this issue using the issue template?

authors: JVSmashYT yaichenbaum


text:
Crash when renaming in tile view

Description
Not sure on specifics but I have music folder thats got 1600 files. Renaming a folder "_Playlists" to "Playlists" will consistently crash files.
Steps To Reproduce
No response
Expected behavior
Should rename folder and refresh
Files Version
2.1.3.0
Windows Version
10.0.19043.1466
Relevant Assets/Logs
debug.log
debug_fulltrust.log

Grid or Tiles layout? Any difference in Details layout?
Error from log:
:14:18.0560|ERROR|AppUnhandledException|Object reference not set to an instance of an object. 	System.NullReferenceException: Object reference not set to an instance of an object.    at Files.Views.LayoutModes.GridViewBrowser.EndRename(TextBox) + 0x11b    at Files.Views.LayoutModes.GridViewBrowser.<CommitRename>d__27.MoveNext() + 0x35 --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x21    at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__7_0(Object) + 0x1e    at System.Action1.Invoke(T) + 0x28
at System.Threading.WinRTSynchronizationContext.Invoker.InvokeCore() + 0x33
at System.Runtime.InteropServices.McgMarshal.ThrowOnExternalCallFailed(Int32, RuntimeTypeHandle) + 0x21
at __Interop.ComCallHelpers.Call(__ComObject, RuntimeTypeHandle, Int32) + 0xb8
at __Interop.ForwardComStubs.Stub_10[TThis](__ComObject, Int32) + 0x24
at Microsoft.AppCenter.Utils.ApplicationLifecycleHelper.<.ctor>b__17_1(Object, UnhandledErrorDetectedEventArgs) + 0x3d
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x21
at Microsoft.AppCenter.Utils.ApplicationLifecycleHelper.<.ctor>b__17_1(Object, UnhandledErrorDetectedEventArgs) + 0x75
at System.EventHandler1.Invoke(Object, TEventArgs) + 0x2e    at __Interop.Intrinsics.HasThisCall__23[TArg0](Object, IntPtr, Object, TArg0) + 0x36    at Files!<BaseAddress>+0x13de3c0

I used tiles il try detail view

This issue should be resolved with #8189


text:
Fixed an issue where changing the theme settings wasn't working correctly

Fixes #3291
Sorry, my bad.
I didn't realise that ThemeHelper was setting the theme on elements by capturing a reference to the MainPage. I assumed it was relying on Application.RequestedTheme and changing this.
Balance is restored, and ThemeHelper has had some unused code removed. ThemeHelper.RootTheme has been refactored slightly to make it responsible for reading the value from one place (LocalSettings), and setting ThemeHelper.RootTheme will persist this change back to LocalSettings and call ApplyTheme() to have the current theme applied across the application.

@AndyMDoyle Thank you!

source: gharchive/pull-request

authors: AndyMDoyle yaichenbaum


text:
Added pt-PT language

On this PR i added pt-PT language translations.

Thank you! LGTM

@yaichenbaum in order to not start any development of any feature which will not be applied on Files or is already under development, do you can send me an list of feature to develop (future-work)?

@oleitao Thanks for asking! The items in the ToDo  column are the things that are higher priority, but any issue with the triage approved label should be good to go. If you have any questions, or see an issue you want to work on that wasn't approved, just ping me so I can check it out.

authors: oleitao yaichenbaum


text:
Select next item after deletion and reduce code complexity

Resolved / Related Issues

Closes #8418

Details of Changes

Select the item following the matched item to be deleted

If the item was the last item, choose the item right before it

Reduce code complexity with selecting newly created items by reusing OnSelectionRequestedEvent

(I did this PR awhile back)

Validation

[X] Built and ran the app

Screenshots (optional)

Quick note. This doesn't work when deleting items in the Recycle Bin.
We handle things slightly differently there.
Did we want this feature there as well?

Quick note. This doesn't work when deleting items in the Recycle Bin. We handle things slightly differently there.
Did we want this feature there as well?

It would be best to have the same behavior in recycle bin

Creashed for me when deleting a bunch of files at once:

System.ArgumentOutOfRangeException: 'This collection cannot work with indices larger than Int32.MaxValue - 1 (0x7FFFFFFF - 1).
Arg_ParamName_Name'

Issue could be on main as well, I'll check.

Does not happen always and I don't see how it's related with the changes in this PR, but appears ok on main. Can you reproduce?

I cannot seem to reproduce this issue in my branch nor in main.

Does this occur in the Recycle Bin or any ordinary directory?
How much is a "bunch" of files -- do they include folders?

authors: gave92 jiejasonliu yaichenbaum


text:
Update Russian (ru-RU) translation

Resolved / Related Issues

Improves Russian localization

Details of Changes

Added ru-Ru translations for units with 'new' state
Reviewed ru-Ru translations for units with 'needs-review-translation' state

@xlifr16 thank you for the pr, can you fix the line endings so we can properly review the changes?

@yaichenbaum How exactly can I do that?

i'll re-open the pr later


text:
Select multiple items by clicking and dragging the cursor

Selecting multiple items using the so called 'translucent selection rectangle' is something I've had in a windows file explorer for over 20 years and it's a feature that I'm sorely missing

Really useful functional!

Merging with #94.

authors: joshl8n lionnesquaer yaichenbaum

repo: files-community/files-uwp


text:
App crashed when copy a folder to USB drive

Describe the bug
I'm new to this app. This is a great one!
But 5 munites ago, I tried to copy a folder from C: to a USB drive via the app, it crashed.
I checked the log file, there was nothing useful, just reguler info.
Desktop

OS Version: Windows 10 2004 19041.388
App version: v0.12.0.0

@LinuxWincomn Do you mean USB drive?

@Jaiganeshkumaran Yes! Sorry, my bad.

@LinuxWincomn Could you post the log file so that we can understand your issue better. You can access it from Settings->About->Open log location.

@Jaiganeshkumaran I've already deleted the app. Sorry about that.

@LinuxWincomn We can't fix the problem without knowing where, how and when it occurs. Please install our app again and then try it again. If it crashes, post the log file. If it works the close the issue.

@Jaiganeshkumaran Alright, I will try it today.

@Jaiganeshkumaran Sorry for the delay. I have tried twice, the first time gone nothing and the second time got crashed. Here is the log files.
debug_fulltrust.txt
debug.txt

This issue should be resolved with #1780.


text:
Add Recycle Bin to sidebar

I was wondering if it might be possible to put the Recycle Bin in the left sidebar? That would be a really useful feature, Windows File Explorer gives an option like this by allowing the Recycle Bin to be pinned in Quick Access.

Thank you for opening this issue. Files UWP does not support recycle bin at the moment. If we add support for it in the future, there will definitely be a way to pin it to the sidebar.

Maybe something like this

@jamiehoss The latest version (v0.9.1) added support for recycle bin, make sure to head to the experimental page settings in settings to turn on this feature.

@yaichenbaum trying it now and it works great, thanks a lot for implementing it! Keep up the great work, love the app.

authors: diligamer jamiehoss yaichenbaum


text:
Won't compile... :(

Doesn't want to compile, all dependencies are in place and up to date.
No errors or warnings before this.
Utils.cpp:57:73: error: cannot convert 'GPU_TEXCOLOR' to 'sf2d_texfmt' for argument '3' to 'sf2d_texture* sf2d_create_texture(int, int, sf2d_texfmt, sf2d_place)'
sf2d_texture* tex = sf2d_create_texture(w, h, GPU_RGBA8, SF2D_PLACE_RAM);
make[1]: *** [Utils.o] Error 1
make: *** [build] Error 2

Fixed :)

Not quite. :P Ran into another issue.
uiFont.cpp:22:29: fatal error: 3DS_UI/ttf/Font.h: No such file or directory
Compiles if i comment that out obviously, but i guess it's there for a reason. :) Or is it?...

authors: Shadowtrance filfat

license: mit

license_source: bigquery


text:
refactored list order calls to return empty set rather than 404 error…

… when no orders found

Coverage decreased (-0.2%) to 96.175% when pulling 00b5a96b77f13957080d3991ded0af1b77f6a661 on develop into a2474e8318230711b492c3c86048063a53d934ea on master.

authors: coveralls fillup

repo: fillup/walmart-partner-api-sdk-php


text:
Upgrade to Shapeless 2.2.2

Shapeless 2.2.2 fixes a binary compatibility issue in 2.2.1 and may also help with dependency resolution problems we're seeing.

Current coverage is 94.54%

Merging #325 into master will change coverage by 0% by 43e0867

Powered by Codecov

:+1:

authors: codecov-io travisbrown vkostyukov

repo: finagle/finch


text:
Small enhancement to ReadMe

For those of us who didn't come from a Java background and hence weren't exposed to Mockito, the Readme section when() dependency stubbing is maddeningly tantalizing.  The obvious question one immediately asks  is what if you don't care what the arg values are in the stubbed method? After much web searching and inspection of fflib_ApexMocksTest I realized there was a whole wealth of matchers that can be used not only in the verify() but also in the when()!
A small additional example in the Readme would inspire and direct the reader to the supported matchers in fflib_Match.
This framework is pretty powerful stuff but as

the related SFDC andyinthecloud pages are out of date (ref to generating Mocks class) and
the second edition book has syntax errors (uses factory() method instead of mock() method) and
the referenced blog posts are sprinkled with pre Stub API ....

Thus, getting the fflib / andyinthecloud online doc up to date / more comprehensive would go a long way towards increased adoption.

Yes, I agree wholeheartedly. I'll try and sort some of these things out and report back after.

Hi cropredy, I finally got round to working on this.
We could definitely be doing a much better job with our docs, and you're right that it's a major barrier to adoption.
I think part of the problem is that the tests inside ApexMocks are a little contrived. So I put together a little SFDX sample app, with more realistic unit tests.
I'm using the Stub API, matchers, answers, and discuss different techniques for generating mocks and patterns for dependency injection - these are all covered in detail in the readme.
https://github.com/dfruddffdc/apex-mocks-sfdx
I'll port over the documentation into this repo's wiki at some point. Until then, hopefully my new sample app will help clarify things.

David - I look forward to diving into this.  After reading it, I may need
to amend my blog posts on ApexMocks
http://cropredysfdc.com/2017/10/11/apex-mocks-and-enterprise-patterns-first-in-a-series/,
written after exploiting the technique a few times in our org :-)
Eric
On Sat, Nov 25, 2017 at 11:53 PM, David Frudd notifications@github.com
wrote:

Hi cropredy, I finally got round to working on this.
We could definitely be doing a much better job with our docs, and you're
right that it's a major barrier to adoption.
I think part of the problem is that the tests inside ApexMocks are a
little contrived. So I put together a little SFDX sample app, with more
realistic unit tests.
I'm using the Stub API, matchers, answers, and discuss different
techniques for generating mocks and patterns for dependency injection -
these are all covered in detail in the readme.
https://github.com/dfruddffdc/apex-mocks-sfdx
I'll port over the documentation into this repo's wiki at some point.
Until then, hopefully my new sample app will help clarify things.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/financialforcedev/fflib-apex-mocks/issues/47#issuecomment-346990942,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACNrckO9bLQuLLn078r4E6j-3tc9HzwTks5s6RkSgaJpZM4Oxe2h
.

@dfruddffdc nice work! 👍

David -- I read the Readme in your ApexMocks project
https://github.com/dfruddffdc/apex-mocks-sfdx and it looks excellent. I
even learned something about fflib_System which was new to me.
Some suggested additional doc that would help new users:

How to mock selectors that return parents and children. I use GitHub
SObjectFabricator https://github.com/mattaddy/SObjectFabricator for this
as I find it has better expressive power and much easier to read than
fflib_ApexMocksUtil.makeRelationship(). Both approaches use the Json
serialize/deserialize trick. Selector mocking allows return of formula
fields and system audit fields - a common testing challenge.
How and why one uses ArgumentCaptors
An example using the sObjectWith matcher (or link to the andyinthecloud
blog post on this)
Troubleshooting why your mocks.verify fail (for me - it is typically
because the matcher is wrong but typical reasons for them being wrong)
Using matchers when the mocked method has multiple arguments
A practical, non-contrived, example of combined matchers (I haven't come
up with one yet in the context of services - domains - selectors)

The unit test vs system test paragraph at the end is an interesting one and
can be further motivated with:

Examples most of us can relate to -- viz. the burden of setting up w/ DML
Accounts - Contacts - Opportunities - Pricebooks - Pricebook Entries -
Product2 - OpportunityLineItem all to test combinations of a handful of
fields to see if the database is updated as per expectation. The Selector
and UnitOfWork pattern fit in nicely here.
The expressive power of mocks.verify to ensure that some service is ONLY
called in an after Update context, not in before/after insert or before
update - the Domain layer is handy here
The expressive power of mocks.verify to ensure your selectors and
services are called only with the expected parameter values. Systems
testing rarely tests to see if the code does more work than it is supposed
to or that contracts between clients and services are adhered to - instead,
systems testing tends to focus on the resultant database updates and not
per se how those were attained

One must absolutely have systems tests for Selectors as if they are only
mocked, you have no way of proving that the filter criteria was coded right
or that the fields needed by the selector consumer are even fetched!
One must have system tests for classes that update the database as mocking
the Unit Of Work layer won't execute validation rules, fire downstream
triggers, workflows, process builder flows, or exercise sharing rules
Lastly, I've also been making notes in my Packt Publishing "Mockito" book
on which Mockito features (i.e. specific Matchers) are not implemented in
ApexMocks but you might already have a good list and that would merit
inclusion in the  Readme.
Eric
On Sun, Nov 26, 2017 at 11:22 AM, Andrew Fawcett notifications@github.com
wrote:

@dfruddffdc https://github.com/dfruddffdc nice work! 👍
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/financialforcedev/fflib-apex-mocks/issues/47#issuecomment-347031597,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACNrci-bcAzJAr1d7DrJIR8Vh89Ucdeoks5s6bpegaJpZM4Oxe2h
.

@cropredy thats an excellent tip, we should for sure reference that on the readme as being complementary. I also found that i wanted to mock complex selector responses and thus the following method was born, https://github.com/financialforcedev/fflib-apex-mocks/blob/master/src/classes/fflib_ApexMocksUtils.cls#L67.

@cropredy Thanks for the detailed feedback, very useful!

While puzzling over why one of my mocks wasn't working I reread the Readme.md last night and I had two additional thoughts:

There is no link in the related refs to https://github.com/dfruddffdc/apex-mocks-sfdx which explains practical techniques for dependency injection
AFAIK, there is no example in ApexMocks.Test that illustrates dependency injection for the fflib_MyList class that is used for all the testing.

Leading me to suggest that this section of the readme.md be enhanced as follows:
when() dependency stubbing
        // given mocks
	fflib_ApexMocks mocks = new fflib_ApexMocks();
	fflib_MyList.IList mockList = (fflib_MyList.IList)mocks.mock(fflib_MyList.class);

	mocks.startStubbing();
	mocks.when(mockList.get(0)).thenReturn('bob');
	mocks.when(mockList.get(1)).thenReturn('fred');
	mocks.stopStubbing();

        // given mocks injected (see also https://github.com/dfruddffdc/apex-mocks-sfdx)
        Bar b = new Bar(mockList);
        // when Bar invoked
        String result = b.doStuff();
        // then verify
        System.assertEquals(result, 'bob,fred','doStuff assembles a comma-separated list');

where the object under test is:
public class Bar
  private fflib_MyList.IList myList;  // interface so real and mock can be used
  public Bar() {this.myList = new fflib_MyList.IList();} // normal PROD
  public Bar(fflib_MyList.IList mockMyList) {this.myList = mockMyList;} // for unit testing

  String public doStuff() {
  String[] resultVals = new List<String>();
  for (Integer i=0; i < 2; i++) {
    myList.add(i);
    resultVals.add(myList.get(i);
  }
  return String.join(resultVals,',');
}

So - why did I add this bit?

We use fflib patterns throughout our org; we use mock selectors, services, domains, and unitOfWork all the time.  Those mocks get injected via (using selector as an example) Application.Selector.setMock(mocksSelector); and when the code executes a xxxSelector.newInstance().selectByXXX(..), the fflib_Application class returns the mocked selector via a factory rather than the PROD selector. All very neat - and somewhat magical to me and my team members who were introduced to fflib patterns.
But after living under the spell of this magic for months, we wanted to extend the use of apexmocks to classes that weren't services/domains/selectors.  But that means you need to have a way to inject the mocks to the code under test.  And none of the examples in this readme, fflib_ApexMocksTest or the related references show how to do this (at least for the StubApi implementation of apexMocks).
Of course, when writing this comment, I have now all figured this out but as this readme was my first port of call I thought this could help others.

authors: afawcett cropredy cropredyHelix dfruddffdc frup42

repo: financialforcedev/fflib-apex-mocks


text:
Check for comment block before moving text selection

This should fix #3

I am sorry for the long response time. But now I finally got time to test your changes and everything works fine.
Thanks for contributing again.
The changes will be published as version 1.0.7 shortly.

authors: a-lerion fingeg

repo: fingeg/DoxygenComments