- Sidestep
SourceKit
's off-by-one bug when parsing generic parameter inheritance. - Fix incorrect
where
clause parsing.
- Add tvOS targets and schemes.
- Integrate
tuist
, fixing Carthage issues. - Fix type equality check to rule out whitespace inconsistencies.
- Fix
image not found
error for iOS 13 and beyond.
- Swift Package Manager support
- Added tvOS target (thanks @rodrigoff).
- Fixed accessibility to match enclosing container.
- Restructured README.
- Fix closure generation where explicit return type is required in
withoutActuallyEscaping
since swift 5.1 (XCode 11) - Switch swift_version to 5.0 for Cocoapods
- Objective-C mocking! Mock system classes/protocols as well as dynamic Swift classes. This is an optional subspec
Cuckoo/OCMock
. - Convenience matchers for sequences and dictionaries. No need to use
equal(to:)
anymore, passing theArray
/Set
/Dictionary
itself is enough from now on!
- Fix property, initializer, and function accessibility in public protocols.
- Add a simple type guesser based on assigned value.
- Fix accessibility problems.
- Fix a bug where adding a private name to a function made it generate twice and fail the compilation.
- Fix generic protocol generation and type erasure with multiple methods of same name.
- Fix a bug concerning empty public name methods with no private ones.
- Exit
run
script with error if it fails to get generator download URL.
- The
run
script doesn't userealpath
command anymore because it's not available by default on Mac OS. - Remove redundant stubbing of optional classes.
- Add support for optional read-only properties.
- Fix
where
clause that doesn't work in Swift 4. - Fix some
run
script bugs.
- Fix
any()
not working anymore by itself with optional parameters in functions.
- Generics is now fully supported! This includes generic classes, protocols and methods.
Dictionary
matching out of the box.- Better closure matching. Now allowing up to 7 parameter closures.
rethrows
functions now work properly.- Allow non-optional values to be passed as matchers for
Optional
s just like in normal Swift code. - Add support for inout method parameters.
- Update the
build_generator
script to work with Swift 5. - Fix not being able to put
Optional
into functions acceptingOptional
s. - Accessibility of variables and functions in
public
classes are nowpublic
as well.
- Updated for Xcode 10.2 and Swift 5.
- Add class accessibility support.
- Add support for attributes (e.g.
@available
). - Add support for subimport (e.g.
import struct UICat.Food
). - Add
--clean
option to the run script to always build or download the generator (promptly forget to add its documentation toREADME.md
). - Ignore
final
classes (because we mock by inheritance). - Smaller fixes and improvements in the whole project.
- Add first draft of a new Mock initialization DSL.
- Add
enableDefaultImplementation
to protocolMock
. - Reintroduce support for pre-0.11.0 Cuckoo spies.
- Add regular expression
class
andprotocol
matching. - Add glob switch that parses input paths as globs enabling for easier project scaling.
- Build generator by default. Download using
--download [VERSION]
option. - Modify the
run
bash script to allow the user to build rather than download thecuckoo_generator
. - Add a debug flag that generates general info above methods when used.
- Fix escaping closure (crashing in Xcode 10).
- Added contribution guide.
- BREAKING CHANGE: Spies were reworked. They now use superclasses as their victims if enabled. Please see the Readme for more information.
- BREAKING CHANGE: Verification of properties'
get
is now a method you have to call, instead of a property. This change was made to remove the "unused result" warning. bug #141
- Double the maximum parameters in
call
andcallThrows
methods. bug #145 - Make the generator deterministic by sorting input files.
- Add
equalTo
forArray
andSet
whereElement
isEquatable
.
- Fixed some errors with getters bug #151
- Updated for Swift 4 (Xcode 9 GM)
- Fixed crash when source files were using non-ASCII characters - bug #126
- Added
--exclude
parameter to explicitly exclude some types from mocking - PR #112 - (thanks to nxtstep for the feature) - Fixed compile errors when generating stubs where inner types were returned - bug #118
- Added possibility to reset multiple mocks with different types at once - but #103
- Fixed "too complex to resolve in reasonable time" error in generator
- Fixed directory names for case sensitive file systems - PR #114 - (thanks to sundance2000 for the fix)
- Moved repository from
SwiftKit
toBrightify
organization on GitHub.
- Rewritten Generator to use Stencil
- Use Swift PM for generator binary (results in faster builds)
- This release works with Swift 3.1
- Added support for inheritance mocking.
- Added support for
fileprivate
(thanks to lvdstam for implementation). - Added support for default values (thanks to lvdstam for implementation).
- Fixed wrongly generated code where public class had internal members.
- Show error in generator in build log.
- Fixed crash of generator when instance variable type is not explicitly set.
- Fixed support of closures and unwrapped optionals.
- Set "Reflection Metadata" to "None" to fix #72
- Support for Swift 3
- Added --no-class-mocking parameter to generator
- Added Stub objects
- Updated documentation
- Added more automated tests
- Added --file-prefix parameter to generator
and
andor
methods can now be used withMatchable
(literals)- Using of custom
Matchable
,ParameterMatcher
andCallMatcher
is now easier - Improved fail messages
- Merged generator and runtime repositories, making updating easier.
- Added support for named arguments in methods.
- Added support for classes with custom initializers.
- Changed usage of spies. Instead of
init(spyOn:)
useinit().spy(on:)
.
- Added release notes
- Added stub resetting
- Added
thenCallRealImplementation
- Added argument capturing
- Added
verifyNoMoreInteractions
- Added on going stubbing
- Added
thenDoNothing