{"action":"closed","number":175,"pull_request":{"url":"https://api.github.com/repos/mapbox/ios-sdk-examples/pulls/175","id":185856041,"node_id":"MDExOlB1bGxSZXF1ZXN0MTg1ODU2MDQx","html_url":"https://github.com/mapbox/ios-sdk-examples/pull/175","diff_url":"https://github.com/mapbox/ios-sdk-examples/pull/175.diff","patch_url":"https://github.com/mapbox/ios-sdk-examples/pull/175.patch","issue_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/issues/175","number":175,"state":"closed","locked":false,"title":"Initial XCUITest handling","user":{"login":"julianrex","id":3765757,"node_id":"MDQ6VXNlcjM3NjU3NTc=","avatar_url":"https://avatars0.githubusercontent.com/u/3765757?v=4","gravatar_id":"","url":"https://api.github.com/users/julianrex","html_url":"https://github.com/julianrex","followers_url":"https://api.github.com/users/julianrex/followers","following_url":"https://api.github.com/users/julianrex/following{/other_user}","gists_url":"https://api.github.com/users/julianrex/gists{/gist_id}","starred_url":"https://api.github.com/users/julianrex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julianrex/subscriptions","organizations_url":"https://api.github.com/users/julianrex/orgs","repos_url":"https://api.github.com/users/julianrex/repos","events_url":"https://api.github.com/users/julianrex/events{/privacy}","received_events_url":"https://api.github.com/users/julianrex/received_events","type":"User","site_admin":false},"body":"In the following PR:\r\n- I've tried to leave the examples untouched; any test related code is in an associated category.\r\n- Communication to the host test is via notifications (or existence of UI elements, but non of these tests do that). To handle this, this code inserts a forwarding delegate to manage posting notifications.\r\n- One issue is that this delegate is inserted in `viewWillAppear` implemented in the category - this is fine right now, as NONE of the examples currently implement it. But ideally there would be a better way to manage this. Thoughts?\r\n- This just uses XCUITests, without any 3rd party dependencies. Ideally, we'd keep it like this.\r\n- I rejigged the `testEveryExample` test to use `XCTActivity` so that the test report shows a clean list of tests. It means the implementation is a little convoluted, but results in a cleaner log.\r\n\r\nThoughts?\r\n\r\n/cc @akitchen ","created_at":"2018-05-03T22:37:30Z","updated_at":"2018-06-28T04:01:06Z","closed_at":"2018-06-28T04:01:06Z","merged_at":"2018-06-28T04:01:06Z","merge_commit_sha":"286c8d321bfc47c30f788522872810ef278cffdb","assignee":{"login":"julianrex","id":3765757,"node_id":"MDQ6VXNlcjM3NjU3NTc=","avatar_url":"https://avatars0.githubusercontent.com/u/3765757?v=4","gravatar_id":"","url":"https://api.github.com/users/julianrex","html_url":"https://github.com/julianrex","followers_url":"https://api.github.com/users/julianrex/followers","following_url":"https://api.github.com/users/julianrex/following{/other_user}","gists_url":"https://api.github.com/users/julianrex/gists{/gist_id}","starred_url":"https://api.github.com/users/julianrex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julianrex/subscriptions","organizations_url":"https://api.github.com/users/julianrex/orgs","repos_url":"https://api.github.com/users/julianrex/repos","events_url":"https://api.github.com/users/julianrex/events{/privacy}","received_events_url":"https://api.github.com/users/julianrex/received_events","type":"User","site_admin":false},"assignees":[{"login":"julianrex","id":3765757,"node_id":"MDQ6VXNlcjM3NjU3NTc=","avatar_url":"https://avatars0.githubusercontent.com/u/3765757?v=4","gravatar_id":"","url":"https://api.github.com/users/julianrex","html_url":"https://github.com/julianrex","followers_url":"https://api.github.com/users/julianrex/followers","following_url":"https://api.github.com/users/julianrex/following{/other_user}","gists_url":"https://api.github.com/users/julianrex/gists{/gist_id}","starred_url":"https://api.github.com/users/julianrex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julianrex/subscriptions","organizations_url":"https://api.github.com/users/julianrex/orgs","repos_url":"https://api.github.com/users/julianrex/repos","events_url":"https://api.github.com/users/julianrex/events{/privacy}","received_events_url":"https://api.github.com/users/julianrex/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"friedbunny","id":1198851,"node_id":"MDQ6VXNlcjExOTg4NTE=","avatar_url":"https://avatars3.githubusercontent.com/u/1198851?v=4","gravatar_id":"","url":"https://api.github.com/users/friedbunny","html_url":"https://github.com/friedbunny","followers_url":"https://api.github.com/users/friedbunny/followers","following_url":"https://api.github.com/users/friedbunny/following{/other_user}","gists_url":"https://api.github.com/users/friedbunny/gists{/gist_id}","starred_url":"https://api.github.com/users/friedbunny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/friedbunny/subscriptions","organizations_url":"https://api.github.com/users/friedbunny/orgs","repos_url":"https://api.github.com/users/friedbunny/repos","events_url":"https://api.github.com/users/friedbunny/events{/privacy}","received_events_url":"https://api.github.com/users/friedbunny/received_events","type":"User","site_admin":false},{"login":"captainbarbosa","id":10850812,"node_id":"MDQ6VXNlcjEwODUwODEy","avatar_url":"https://avatars2.githubusercontent.com/u/10850812?v=4","gravatar_id":"","url":"https://api.github.com/users/captainbarbosa","html_url":"https://github.com/captainbarbosa","followers_url":"https://api.github.com/users/captainbarbosa/followers","following_url":"https://api.github.com/users/captainbarbosa/following{/other_user}","gists_url":"https://api.github.com/users/captainbarbosa/gists{/gist_id}","starred_url":"https://api.github.com/users/captainbarbosa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/captainbarbosa/subscriptions","organizations_url":"https://api.github.com/users/captainbarbosa/orgs","repos_url":"https://api.github.com/users/captainbarbosa/repos","events_url":"https://api.github.com/users/captainbarbosa/events{/privacy}","received_events_url":"https://api.github.com/users/captainbarbosa/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":318351635,"node_id":"MDU6TGFiZWwzMTgzNTE2MzU=","url":"https://api.github.com/repos/mapbox/ios-sdk-examples/labels/enhancement","name":"enhancement","color":"84b6eb","default":true},{"id":922074161,"node_id":"MDU6TGFiZWw5MjIwNzQxNjE=","url":"https://api.github.com/repos/mapbox/ios-sdk-examples/labels/tests","name":"tests","color":"fff1cc","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/pulls/175/commits","review_comments_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/pulls/175/comments","review_comment_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/issues/175/comments","statuses_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/statuses/220b844e3d2bc61e48064c9b1c7e5b2284ea7f64","head":{"label":"mapbox:jrex-ui-testing","ref":"jrex-ui-testing","sha":"220b844e3d2bc61e48064c9b1c7e5b2284ea7f64","user":{"login":"mapbox","id":600935,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYwMDkzNQ==","avatar_url":"https://avatars1.githubusercontent.com/u/600935?v=4","gravatar_id":"","url":"https://api.github.com/users/mapbox","html_url":"https://github.com/mapbox","followers_url":"https://api.github.com/users/mapbox/followers","following_url":"https://api.github.com/users/mapbox/following{/other_user}","gists_url":"https://api.github.com/users/mapbox/gists{/gist_id}","starred_url":"https://api.github.com/users/mapbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapbox/subscriptions","organizations_url":"https://api.github.com/users/mapbox/orgs","repos_url":"https://api.github.com/users/mapbox/repos","events_url":"https://api.github.com/users/mapbox/events{/privacy}","received_events_url":"https://api.github.com/users/mapbox/received_events","type":"Organization","site_admin":false},"repo":{"id":50636220,"node_id":"MDEwOlJlcG9zaXRvcnk1MDYzNjIyMA==","name":"ios-sdk-examples","full_name":"mapbox/ios-sdk-examples","owner":{"login":"mapbox","id":600935,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYwMDkzNQ==","avatar_url":"https://avatars1.githubusercontent.com/u/600935?v=4","gravatar_id":"","url":"https://api.github.com/users/mapbox","html_url":"https://github.com/mapbox","followers_url":"https://api.github.com/users/mapbox/followers","following_url":"https://api.github.com/users/mapbox/following{/other_user}","gists_url":"https://api.github.com/users/mapbox/gists{/gist_id}","starred_url":"https://api.github.com/users/mapbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapbox/subscriptions","organizations_url":"https://api.github.com/users/mapbox/orgs","repos_url":"https://api.github.com/users/mapbox/repos","events_url":"https://api.github.com/users/mapbox/events{/privacy}","received_events_url":"https://api.github.com/users/mapbox/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mapbox/ios-sdk-examples","description":"Live example code for the Mapbox iOS SDK","fork":false,"url":"https://api.github.com/repos/mapbox/ios-sdk-examples","forks_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/forks","keys_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/teams","hooks_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/hooks","issue_events_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/issues/events{/number}","events_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/events","assignees_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/assignees{/user}","branches_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/branches{/branch}","tags_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/tags","blobs_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/git/refs{/sha}","trees_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/statuses/{sha}","languages_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/languages","stargazers_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/stargazers","contributors_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/contributors","subscribers_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/subscribers","subscription_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/subscription","commits_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/commits{/sha}","git_commits_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/git/commits{/sha}","comments_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/comments{/number}","issue_comment_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/issues/comments{/number}","contents_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/contents/{+path}","compare_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/merges","archive_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/downloads","issues_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/issues{/number}","pulls_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/pulls{/number}","milestones_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/milestones{/number}","notifications_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/labels{/name}","releases_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/releases{/id}","deployments_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/deployments","created_at":"2016-01-29T03:59:51Z","updated_at":"2018-06-20T22:01:46Z","pushed_at":"2018-06-28T04:01:06Z","git_url":"git://github.com/mapbox/ios-sdk-examples.git","ssh_url":"git@github.com:mapbox/ios-sdk-examples.git","clone_url":"https://github.com/mapbox/ios-sdk-examples.git","svn_url":"https://github.com/mapbox/ios-sdk-examples","homepage":"https://www.mapbox.com/ios-sdk/examples/","size":1143,"stargazers_count":26,"watchers_count":26,"language":"Swift","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":16,"mirror_url":null,"archived":false,"open_issues_count":29,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":16,"open_issues":29,"watchers":26,"default_branch":"master"}},"base":{"label":"mapbox:master","ref":"master","sha":"97e4c86d537b427870d4537ad76489b1d85fb3b5","user":{"login":"mapbox","id":600935,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYwMDkzNQ==","avatar_url":"https://avatars1.githubusercontent.com/u/600935?v=4","gravatar_id":"","url":"https://api.github.com/users/mapbox","html_url":"https://github.com/mapbox","followers_url":"https://api.github.com/users/mapbox/followers","following_url":"https://api.github.com/users/mapbox/following{/other_user}","gists_url":"https://api.github.com/users/mapbox/gists{/gist_id}","starred_url":"https://api.github.com/users/mapbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapbox/subscriptions","organizations_url":"https://api.github.com/users/mapbox/orgs","repos_url":"https://api.github.com/users/mapbox/repos","events_url":"https://api.github.com/users/mapbox/events{/privacy}","received_events_url":"https://api.github.com/users/mapbox/received_events","type":"Organization","site_admin":false},"repo":{"id":50636220,"node_id":"MDEwOlJlcG9zaXRvcnk1MDYzNjIyMA==","name":"ios-sdk-examples","full_name":"mapbox/ios-sdk-examples","owner":{"login":"mapbox","id":600935,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYwMDkzNQ==","avatar_url":"https://avatars1.githubusercontent.com/u/600935?v=4","gravatar_id":"","url":"https://api.github.com/users/mapbox","html_url":"https://github.com/mapbox","followers_url":"https://api.github.com/users/mapbox/followers","following_url":"https://api.github.com/users/mapbox/following{/other_user}","gists_url":"https://api.github.com/users/mapbox/gists{/gist_id}","starred_url":"https://api.github.com/users/mapbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapbox/subscriptions","organizations_url":"https://api.github.com/users/mapbox/orgs","repos_url":"https://api.github.com/users/mapbox/repos","events_url":"https://api.github.com/users/mapbox/events{/privacy}","received_events_url":"https://api.github.com/users/mapbox/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mapbox/ios-sdk-examples","description":"Live example code for the Mapbox iOS SDK","fork":false,"url":"https://api.github.com/repos/mapbox/ios-sdk-examples","forks_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/forks","keys_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/teams","hooks_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/hooks","issue_events_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/issues/events{/number}","events_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/events","assignees_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/assignees{/user}","branches_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/branches{/branch}","tags_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/tags","blobs_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/git/refs{/sha}","trees_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/statuses/{sha}","languages_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/languages","stargazers_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/stargazers","contributors_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/contributors","subscribers_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/subscribers","subscription_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/subscription","commits_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/commits{/sha}","git_commits_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/git/commits{/sha}","comments_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/comments{/number}","issue_comment_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/issues/comments{/number}","contents_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/contents/{+path}","compare_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/merges","archive_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/downloads","issues_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/issues{/number}","pulls_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/pulls{/number}","milestones_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/milestones{/number}","notifications_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/labels{/name}","releases_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/releases{/id}","deployments_url":"https://api.github.com/repos/mapbox/ios-sdk-examples/deployments","created_at":"2016-01-29T03:59:51Z","updated_at":"2018-06-20T22:01:46Z","pushed_at":"2018-06-28T04:01:06Z","git_url":"git://github.com/mapbox/ios-sdk-examples.git","ssh_url":"git@github.com:mapbox/ios-sdk-examples.git","clone_url":"https://github.com/mapbox/ios-sdk-examples.git","svn_url":"https://github.com/mapbox/ios-sdk-examples","homepage":"https://www.mapbox.com/ios-sdk/examples/","size":1143,"stargazers_count":26,"watchers_count":26,"language":"Swift","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":16,"mirror_url":null,"archived":false,"open_issues_count":29,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":16,"open_issues":29,"watchers":26,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mapbox/ios-sdk-examples/pulls/175"},"html":{"href":"https://github.com/mapbox/ios-sdk-examples/pull/175"},"issue":{"href":"https://api.github.com/repos/mapbox/ios-sdk-examples/issues/175"},"comments":{"href":"https://api.github.com/repos/mapbox/ios-sdk-examples/issues/175/comments"},"review_comments":{"href":"https://api.github.com/repos/mapbox/ios-sdk-examples/pulls/175/comments"},"review_comment":{"href":"https://api.github.com/repos/mapbox/ios-sdk-examples/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mapbox/ios-sdk-examples/pulls/175/commits"},"statuses":{"href":"https://api.github.com/repos/mapbox/ios-sdk-examples/statuses/220b844e3d2bc61e48064c9b1c7e5b2284ea7f64"}},"author_association":"COLLABORATOR","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"julianrex","id":3765757,"node_id":"MDQ6VXNlcjM3NjU3NTc=","avatar_url":"https://avatars0.githubusercontent.com/u/3765757?v=4","gravatar_id":"","url":"https://api.github.com/users/julianrex","html_url":"https://github.com/julianrex","followers_url":"https://api.github.com/users/julianrex/followers","following_url":"https://api.github.com/users/julianrex/following{/other_user}","gists_url":"https://api.github.com/users/julianrex/gists{/gist_id}","starred_url":"https://api.github.com/users/julianrex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julianrex/subscriptions","organizations_url":"https://api.github.com/users/julianrex/orgs","repos_url":"https://api.github.com/users/julianrex/repos","events_url":"https://api.github.com/users/julianrex/events{/privacy}","received_events_url":"https://api.github.com/users/julianrex/received_events","type":"User","site_admin":false},"comments":5,"review_comments":0,"maintainer_can_modify":false,"commits":6,"additions":402,"deletions":33,"changed_files":12}}
{"actor":{"display_login":"julianrex"}}