- TempuraTesting: Fix device orientation for Xcode 13.0 also for ViewTestCase and UIViewControllerTestCase. #130
- TempuraTesting: Fix orientation for Xcode 13.0. #129
- Allow to init Navigation with custom
RoutableProvider
. #125
- Fix possible initialization of the ViewModel with an older state.
- Support for Tempura 7. #122
- [BREAKING] Remove deprecated global
test
functions. TheViewTestCase
API should be used instead. #114 - [BREAKING] Remove
UITestCase
typealias.ViewTestCase
should be used instead. No other changes should be necessary. #114 - [BREAKING] Use correct screen size on orientation change. This is a breaking change that makes screenSize of Context and VCContext optional. #110
- Make TempuraTesting build on Xcode 12.5 #111
- Migrate from Xcake to Tuist. #117
- Replace
UIGraphicsBeginImageContextWithOptions
withUIGraphicsImageRenderer
. #108
- [BREAKING] Bump to Katana 6. #112
- [BREAKING] Add Hydra (
>= 2.0.6
) as an explicit dependency. #113 - [BREAKING] Remove deprecated
dispatch
andunsafeDispatch
forNavigationSideEffect
onAnyStore
andAnySideEffectContext
. Katana's normal dispatch acceptingDispatchable
s should be used instead. #114 - [BREAKING] Remove
UIView.universalSafeAreaInsets
in favor ofUIView.safeAreaInsets
. #118 - [BREAKING] Remove deprecated
__unsafeDispatch
and__unsafeAwaitDispatch
forNavigationSideEffect
onViewController
. The base methods acceptingDispatchable
s should be used instead. #114 - Migrate from Xcake to Tuist. #117
- Add validation of UITests keys uniqueness #103
- Fix possible exception when a state update is triggered while a view controller is being dismissed #104
- Add NavigationWitness #99
- Update to Tempura 6
- [BREAKING] bumped minDeploymentTarget from
9.0
to11.0
- Update to Katana 5
- [BREAKING] bumped minDeploymentTarget from
9.0
to11.0
- Add CustomDebugStringConvertible extension to navigation actions
- Reverse
.popToViewController
NavigationInstruction to find the lastRoutable
instead of the first (in case the samerouteIdentifier
is present in the stack)
- Deprecated all dispatch helpers to
AnyStore
andAnySideEffectContext
forNavigationSideEffect
s - Deprecated
__unsafeAwaitDispatch
fromViewController
forNavigationSideEffect
s - Added
__unsafeDispatch
for non-returning sideeffects inViewController
- Update to Katana 4
- Update to Katana 4
- Make the ViewController
dispatch
method returns Void - Add to the ViewController
__unsafe_dispatch
method that returns a promise - Expose a non-generic dispatch for ViewController
- Fix issue with
screenSize
not set on the View being tested.
- Fix issue with
configure(:::)
being called too early forViewControllerTestCase
s with aViewControllerWithLocalState
.
- Add
optionalCustom
toNavigationInstruction
. WithoptionalCustom
you can specify to handle a navigation instruction only if some conditions are matched.
ViewControllerTestCase
will now wait for view to be ready after configureViewControllerTestCase
will now let you testUIViewController
s with aModellableView
other thanViewController
s.- Introduce
UIViewControllerTestCase
to testUIViewController
s withUIView
s.
- Make
CustomRouteInspectables
andRouteInspectable
public
- Add support for rendering Safe Area Insets in UITests
- Add transition method to the Containment API
- Remove defaults from
UITestCase
- Make closure in
installRoot
escaping
- Added
popToRootViewController
andpopToViewController
to Navigation Instructions - Fixed broken UITest filename for a scrollable content's snapshot
- Fixed unresolving promise if calling
hide
on a view that is not in thecurrentRoutables
ViewControllerWithLocalState.init(store:connected:)
is now private
- Add support for Swift 5.0
- Remove
init()
requirement forLocalState
protocol - Force
ViewControllerWithLocalState
to specify aLocalState
in theinit(...)
RootInstaller
'sinstallRoot(identifier:context:completion)
now returns aBool
value- If there are no Routables handing a
Show()
with a specific identifier, theNavigator
will ask theRootInstaller
before raising a fatalError().
- Fix UITests by using the
collatorIdentifier
instead of thelanguageCode
- Use Katana 3.0
- Add support for UITests with ViewController containment
- Add support for ViewController containment
- Add support for Swift 4.2
- Added completion callbacks for
UINavigationController
methods likepushViewController
,popViewController
,popToRootViewController
,popToViewController
- Added ability to create UI tests for scrollViews content
- Fixed issue with UI tests of ViewControllers inside other controllers
- Add support for orientation change in
UITestCase
- UI tests folder structure uses the locale of the app to support multiple language UITests
- Introduces new
UITestCase
API that are easier to use and unify various approaches that used to coexist until now - Deprecates UITest APIs
- UI tests folders are consistent when landscape screenshots are involved. A screenshot from an iPhone X in portrait will be in the same directory of a screenshot of an iPhone X in landscape
- fixed LocalURLProtocol implementation to support DownloadTask and similar approaches
- Implementation of the universalSafeAreaInsets for every UIView and not only for ViewControllerModellableView. In case of a UIView down in the hierarchy, the universalSafeAreaInsets will be the intersection between the main safeArea and the actual frame of the view.
- UITests snapshots are now saved under resolution subdir
- Added failable init for ViewModelWithState and ViewModelWithLocalState
- Added Navigation Helpers
- Removed unused Live Reload feature
- Improve code for connect
- Fix issues with ViewControllerWithLocalState
- Introduce 'shouldConnectWhenVisible' and 'shouldDisconnectWhenInvisible' properties for ViewController
- Prevent the View from loading before it's actually needed
- Fix bug in tempuraDismiss
- Simplified generics for
ViewController
, now it is only generic for theModellableView
- Deprecated
action
label indispatch()
method - Removed forced unwrapping inside
Navigator
- Fixed
willSet
method invocation - Added tests
- Improved the connect inner workings for
ViewController
andViewControllerWithLocalState
- Fixed disconnected ViewControllersWithLocalState that were connecting on localState change
- Fixed ViewController unsubscribing triggering updates
- Improved type safety on ViewController Store and View
- viewModel is now optional in ModellableView and ViewController
- willUpdate and didUpdate methods are now returning new and old viewModels as parameters
- Implemented Style Standardisation. See this pr for more information
- Update to swift 4.0
- Adds
tempuraSafeAreaInsets
andstatusBarHeight
as view's properties. See this pr for more information - Fix Main Thread issue with Hide navigation action