flutter/dev/integration_tests/ios_add2app
2019-08-05 16:51:57 -07:00
..
flutterapp Reland "Integrate dwds into flutter tool for web support (#34252)" (#37649)" (#37650) 2019-08-05 16:51:57 -07:00
ios_add2app Make test back button label deterministic (#36404) 2019-07-19 12:00:19 -07:00
ios_add2app.xcodeproj If xcode_backend.sh script fails or substitute variables are missing, fail the host Xcode build (#37449) 2019-08-02 13:01:25 -07:00
ios_add2app.xcworkspace add2app test (#27712) 2019-02-23 09:56:27 -08:00
ios_add2appTests Remove timeout from add2app test for iOS (#28746) 2019-03-18 21:40:21 -07:00
.gitignore Remove ios_add2app Pods directory and add to gitignore (#33772) 2019-06-03 14:27:10 -07:00
build_and_test.sh Move buildable module test to a module test (#36102) 2019-07-15 18:31:44 -07:00
LICENSE add2app test (#27712) 2019-02-23 09:56:27 -08:00
Podfile Make podhelper.rb a template to avoid passing in the module name (#37276) 2019-07-31 11:34:22 -07:00
README.md Remove timeout from add2app test for iOS (#28746) 2019-03-18 21:40:21 -07:00

iOS Add2App Test

This application demonstrates some basic functionality for Add2App, along with a native iOS ViewController as a baseline and to demonstrate interaction.

The following functionality is currently implemented:

  1. A regular iOS view controller (UIViewController), similar to the default flutter create template (NativeViewController.m).
  2. A FlutterViewController subclass that takes over full screen. Demos showing this both from a cold/fresh engine state and a warm engine state (FullScreenViewController.m).
  3. A demo of pushing a FlutterViewController on as a child view.
  4. A demo of showing both the native and the Flutter views using a platform channel to to interact with each other (HybridViewController.m).
  5. A demo of showing two FlutterViewControllers simultaneously (DualViewController.m).

A few key things are tested here (IntegrationTests.m):

  1. The ability to pre-warm the engine and attach/detatch a ViewController from it.
  2. The ability to use platform channels to communicate between views.
  3. The ability to simultaneously run two instances of the engine.
  4. That a FlutterViewController can be freed when no longer in use (also tested from FlutterViewControllerTests.m).
  5. That a FlutterEngine can be freed when no longer in use.