uber-go / mock

GoMock is a mocking framework for the Go programming language.
Apache License 2.0
1.81k stars 103 forks source link

Fix `-imports` handling aliased imports in source mode #165

Open mtoader opened 4 months ago

mtoader commented 4 months ago

In source mode, when generating a mock within the same package that uses names from a package that is imported with an alias, the generated mock should obey -imports properly and generate imports with the provided alias.

If the generated code is not using the same aliases as the main filed in a package the go compiler will still happily run but if you want ot use this package as a source in another package where you want to generate a mock, mock will fail because it will not know what to do with a package that is imported with two different names in a source package.

This patch fixes the generation by making -imports handling do a more correct thing.

It can be argued that the correct behavior is, by default use the the same package aliases as the ones in the source file, however that change looked way more invasive and i didn't see a good coverage of tests that would help me make sure the changes worked well.

This is what i found to be the least invasive fix for #166.

CLAassistant commented 4 months ago

CLA assistant check
All committers have signed the CLA.

mtoader commented 3 months ago

@JacobOaks can you help with #166 and this ?