return get("/repos/{full_name}").as(nullable Repo)
end
- # List of branches associated with their names.
- fun get_repo_branches(repo: Repo): Array[Branch] do
- message(1, "Get branches for {repo.full_name}")
- var array = get("/repos/{repo.full_name}/branches")
- var res = new Array[Branch]
- if not array isa Array[Object] then return res # empty array
- for branch in array do
- if not branch isa Branch then continue
- res.add branch
- end
- return res
+ # List of repo branches.
+ #
+ # Pagination:
+ # * `page`: page to fetch (default: 1)
+ # * `per_page`: number of branches by page (default: 30)
+ fun get_repo_branches(repo: Repo, page, per_page: nullable Int): Array[Branch] do
+ return new GithubArray[Branch].from(get(
+ "/repos/{repo.full_name}/branches?{pagination(page, per_page)}"))
end
# List of issues associated with their ids.
- fun get_repo_issues(repo: Repo): Array[Issue] do
- message(1, "Get issues for {repo.full_name}")
- var res = new Array[Issue]
- var issue = get_repo_last_issue(repo)
- if issue == null then return res
- res.add issue
- while issue != null and issue.number > 1 do
- issue = get_issue(repo, issue.number - 1)
- if issue == null then continue
- res.add issue
- end
- return res
+ fun get_repo_issues(repo: Repo, page, per_page: nullable Int): Array[Issue] do
+ return new GithubArray[Issue].from(get(
+ "/repos/{repo.full_name}/issues?{pagination(page, per_page)}"))
end
# Search issues in this repo form an advanced query.
end
# List of labels associated with their names.
- fun get_repo_labels(repo: Repo): Array[Label] do
- message(1, "Get labels for {repo.full_name}")
- var array = get("repos/{repo.full_name}/labels")
- if not array isa JsonArray then return new Array[Label]
- return deserialize(array.to_json).as(Array[Label])
+ fun get_repo_labels(repo: Repo, page, per_page: nullable Int): Array[Label] do
+ return new GithubArray[Label].from(get(
+ "/repos/{repo.full_name}/labels?{pagination(page, per_page)}"))
end
# List of milestones associated with their ids.
- fun get_repo_milestones(repo: Repo): Array[Milestone] do
- message(1, "Get milestones for {repo.full_name}")
- var array = get("/repos/{repo.full_name}/milestones")
- if not array isa JsonArray then return new Array[Milestone]
- return deserialize(array.to_json).as(Array[Milestone])
+ fun get_repo_milestones(repo: Repo, page, per_page: nullable Int): Array[Milestone] do
+ return new GithubArray[Milestone].from(get(
+ "/repos/{repo.full_name}/milestones?{pagination(page, per_page)}"))
end
# List of pull-requests associated with their ids.
# Implementation notes: because PR numbers are not consecutive,
# PR are loaded from pages.
# See: https://developer.github.com/v3/pulls/#list-pull-requests
- fun get_repo_pulls(repo: Repo): Array[PullRequest] do
- message(1, "Get pulls for {repo.full_name}")
- var key = "/repos/{repo.full_name}"
- var res = new Array[PullRequest]
- var page = 1
- loop
- var array = get("{key}/pulls?page={page}").as(JsonArray)
- if array.is_empty then break
- for obj in array do
- if not obj isa JsonObject then continue
- var pr = deserialize(array.to_json).as(nullable PullRequest)
- if pr == null then continue
- res.add pr
- end
- page += 1
- end
- return res
+ fun get_repo_pulls(repo: Repo, page, per_page: nullable Int): Array[PullRequest] do
+ return new GithubArray[PullRequest].from(get(
+ "/repos/{repo.full_name}/pulls?{pagination(page, per_page)}"))
end
# List of contributor related statistics.
end
# List of event on this issue.
- fun get_issue_comments(repo: Repo, issue: Issue): Array[IssueComment] do
- var res = new Array[IssueComment]
- var count = issue.comments or else 0
- var page = 1
- loop
- var array = get("/repos/{repo.full_name}/issues/{issue.number}/comments?page={page}")
- if not array isa JsonArray then break
- if array.is_empty then break
- for obj in array do
- if not obj isa JsonObject then continue
- var id = obj["id"].as(Int)
- var comment = get_issue_comment(repo, id)
- if comment == null then continue
- res.add(comment)
- end
- if res.length >= count then break
- page += 1
- end
- return res
+ fun get_issue_comments(repo: Repo, issue: Issue, page, per_page: nullable Int): Array[IssueComment] do
+ return new GithubArray[IssueComment].from(get(
+ "/repos/{repo.full_name}/issues/{issue.number}/comments?{pagination(page, per_page)}"))
end
# List of events on this issue.
- fun get_issue_events(repo: Repo, issue: Issue): Array[IssueEvent] do
- var res = new Array[IssueEvent]
- var key = "/repos/{repo.full_name}/issues/{issue.number}"
- var page = 1
- loop
- var array = get("{key}/events?page={page}")
- if not array isa JsonArray or array.is_empty then break
- for obj in array do
- if not obj isa JsonObject then continue
- var event = deserialize(obj.to_json).as(nullable IssueEvent)
- if event == null then continue
- res.add event
- end
- page += 1
- end
- return res
+ fun get_issue_events(repo: Repo, issue: Issue, page, per_page: nullable Int): Array[IssueEvent] do
+ return new GithubArray[IssueEvent].from(get(
+ "/repos/{repo.full_name}/issues/{issue.number}/events?{pagination(page, per_page)}"))
end
# Get the Github pull request #`number`.
fun get_review_comment(repo: Repo, id: Int): nullable ReviewComment do
return get("/repos/{repo.full_name}/pulls/comments/{id}").as(nullable ReviewComment)
end
+
+ private fun pagination(page, per_page: nullable Int): String do
+ return "page={page or else 1}&per_page={per_page or else 30}"
+ end
+end
+
+# Return deserialization as an array of E
+#
+# Non-subtypes will be ignored.
+private class GithubArray[E]
+ super Array[E]
+
+ # Create `self` from an Array of objects
+ #
+ # Objects non-subtyping E will be ignored.
+ init from(res: nullable Object) do
+ if not res isa Array[Object] then return
+ for obj in res do
+ if obj isa E then add obj
+ end
+ end
end
# An Error returned by GithubAPI
var merge_commit_sha: nullable String is writable
# Count of comments made on the pull request diff.
- var review_comments: Int is writable
+ var review_comments: nullable Int is writable
# Pull request head (can be a commit SHA or a branch name).
var head: PullRef is writable
var base: PullRef is writable
# Is this pull request merged?
- var merged: Bool is writable
+ var merged: nullable Bool is writable
# Is this pull request mergeable?
var mergeable: nullable Bool is writable
# Mergeable state of this pull request.
#
# See <https://developer.github.com/v3/pulls/#list-pull-requests>.
- var mergeable_state: String is writable
+ var mergeable_state: nullable String is writable
# User that merged this pull request (if any).
var merged_by: nullable User is writable
# Count of commits in this pull request.
- var commits: Int is writable
+ var commits: nullable Int is writable
# Added line count.
- var additions: Int is writable
+ var additions: nullable Int is writable
# Deleted line count.
- var deletions: Int is writable
+ var deletions: nullable Int is writable
# Changed files count.
- var changed_files: Int is writable
+ var changed_files: nullable Int is writable
# URL to patch file
var patch_url: nullable String is writable
-[{"name":"master","commit":{"sha":"9248f1c81c08b6c0ec7785678dbb1d7440b885d9","url":"https://api.github.com/repos/nitlang/nit/commits/9248f1c81c08b6c0ec7785678dbb1d7440b885d9"},"protected":true},{"name":"next","commit":{"sha":"9248f1c81c08b6c0ec7785678dbb1d7440b885d9","url":"https://api.github.com/repos/nitlang/nit/commits/9248f1c81c08b6c0ec7785678dbb1d7440b885d9"},"protected":false}]
\ No newline at end of file
+[{"name":"master","commit":{"sha":"8fd264ae263d5418c56671414b9788c5d67621b4","url":"https://api.github.com/repos/nitlang/nit/commits/8fd264ae263d5418c56671414b9788c5d67621b4"},"protected":true},{"name":"next","commit":{"sha":"9248f1c81c08b6c0ec7785678dbb1d7440b885d9","url":"https://api.github.com/repos/nitlang/nit/commits/9248f1c81c08b6c0ec7785678dbb1d7440b885d9"},"protected":false}]
\ No newline at end of file
--- /dev/null
+[{"url":"https://api.github.com/repos/nitlang/nit/issues/comments/66562728","html_url":"https://github.com/nitlang/nit/pull/1000#issuecomment-66562728","issue_url":"https://api.github.com/repos/nitlang/nit/issues/1000","id":66562728,"node_id":"MDEyOklzc3VlQ29tbWVudDY2NTYyNzI4","user":{"login":"R4PaSs","id":1444825,"node_id":"MDQ6VXNlcjE0NDQ4MjU=","avatar_url":"https://avatars3.githubusercontent.com/u/1444825?v=4","gravatar_id":"","url":"https://api.github.com/users/R4PaSs","html_url":"https://github.com/R4PaSs","followers_url":"https://api.github.com/users/R4PaSs/followers","following_url":"https://api.github.com/users/R4PaSs/following{/other_user}","gists_url":"https://api.github.com/users/R4PaSs/gists{/gist_id}","starred_url":"https://api.github.com/users/R4PaSs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/R4PaSs/subscriptions","organizations_url":"https://api.github.com/users/R4PaSs/orgs","repos_url":"https://api.github.com/users/R4PaSs/repos","events_url":"https://api.github.com/users/R4PaSs/events{/privacy}","received_events_url":"https://api.github.com/users/R4PaSs/received_events","type":"User","site_admin":false},"created_at":"2014-12-11T03:05:01Z","updated_at":"2014-12-11T03:05:01Z","author_association":"CONTRIBUTOR","body":"The king is dead, long live the king.\n"},{"url":"https://api.github.com/repos/nitlang/nit/issues/comments/66562735","html_url":"https://github.com/nitlang/nit/pull/1000#issuecomment-66562735","issue_url":"https://api.github.com/repos/nitlang/nit/issues/1000","id":66562735,"node_id":"MDEyOklzc3VlQ29tbWVudDY2NTYyNzM1","user":{"login":"R4PaSs","id":1444825,"node_id":"MDQ6VXNlcjE0NDQ4MjU=","avatar_url":"https://avatars3.githubusercontent.com/u/1444825?v=4","gravatar_id":"","url":"https://api.github.com/users/R4PaSs","html_url":"https://github.com/R4PaSs","followers_url":"https://api.github.com/users/R4PaSs/followers","following_url":"https://api.github.com/users/R4PaSs/following{/other_user}","gists_url":"https://api.github.com/users/R4PaSs/gists{/gist_id}","starred_url":"https://api.github.com/users/R4PaSs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/R4PaSs/subscriptions","organizations_url":"https://api.github.com/users/R4PaSs/orgs","repos_url":"https://api.github.com/users/R4PaSs/repos","events_url":"https://api.github.com/users/R4PaSs/events{/privacy}","received_events_url":"https://api.github.com/users/R4PaSs/received_events","type":"User","site_admin":false},"created_at":"2014-12-11T03:05:07Z","updated_at":"2014-12-11T03:05:07Z","author_association":"CONTRIBUTOR","body":"+1\n"},{"url":"https://api.github.com/repos/nitlang/nit/issues/comments/66563386","html_url":"https://github.com/nitlang/nit/pull/1000#issuecomment-66563386","issue_url":"https://api.github.com/repos/nitlang/nit/issues/1000","id":66563386,"node_id":"MDEyOklzc3VlQ29tbWVudDY2NTYzMzg2","user":{"login":"xymus","id":208057,"node_id":"MDQ6VXNlcjIwODA1Nw==","avatar_url":"https://avatars0.githubusercontent.com/u/208057?v=4","gravatar_id":"","url":"https://api.github.com/users/xymus","html_url":"https://github.com/xymus","followers_url":"https://api.github.com/users/xymus/followers","following_url":"https://api.github.com/users/xymus/following{/other_user}","gists_url":"https://api.github.com/users/xymus/gists{/gist_id}","starred_url":"https://api.github.com/users/xymus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xymus/subscriptions","organizations_url":"https://api.github.com/users/xymus/orgs","repos_url":"https://api.github.com/users/xymus/repos","events_url":"https://api.github.com/users/xymus/events{/privacy}","received_events_url":"https://api.github.com/users/xymus/received_events","type":"User","site_admin":false},"created_at":"2014-12-11T03:15:31Z","updated_at":"2014-12-11T03:15:31Z","author_association":"CONTRIBUTOR","body":"Je seconde Lucas, +1, mais je crains qu'il faudra aussi mettre à jour plusieurs contrib!\n"}]
\ No newline at end of file
--- /dev/null
+[{"id":205931537,"node_id":"MDEyOkxhYmVsZWRFdmVudDIwNTkzMTUzNw==","url":"https://api.github.com/repos/nitlang/nit/issues/events/205931537","actor":{"login":"privat","id":135828,"node_id":"MDQ6VXNlcjEzNTgyOA==","avatar_url":"https://avatars1.githubusercontent.com/u/135828?v=4","gravatar_id":"","url":"https://api.github.com/users/privat","html_url":"https://github.com/privat","followers_url":"https://api.github.com/users/privat/followers","following_url":"https://api.github.com/users/privat/following{/other_user}","gists_url":"https://api.github.com/users/privat/gists{/gist_id}","starred_url":"https://api.github.com/users/privat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privat/subscriptions","organizations_url":"https://api.github.com/users/privat/orgs","repos_url":"https://api.github.com/users/privat/repos","events_url":"https://api.github.com/users/privat/events{/privacy}","received_events_url":"https://api.github.com/users/privat/received_events","type":"User","site_admin":false},"event":"labeled","commit_id":null,"commit_url":null,"created_at":"2014-12-11T02:55:15Z","label":{"name":"need_review","color":"fbca04"}},{"id":205944886,"node_id":"MDIzOkhlYWRSZWZGb3JjZVB1c2hlZEV2ZW50MjA1OTQ0ODg2","url":"https://api.github.com/repos/nitlang/nit/issues/events/205944886","actor":{"login":"privat","id":135828,"node_id":"MDQ6VXNlcjEzNTgyOA==","avatar_url":"https://avatars1.githubusercontent.com/u/135828?v=4","gravatar_id":"","url":"https://api.github.com/users/privat","html_url":"https://github.com/privat","followers_url":"https://api.github.com/users/privat/followers","following_url":"https://api.github.com/users/privat/following{/other_user}","gists_url":"https://api.github.com/users/privat/gists{/gist_id}","starred_url":"https://api.github.com/users/privat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privat/subscriptions","organizations_url":"https://api.github.com/users/privat/orgs","repos_url":"https://api.github.com/users/privat/repos","events_url":"https://api.github.com/users/privat/events{/privacy}","received_events_url":"https://api.github.com/users/privat/received_events","type":"User","site_admin":false},"event":"head_ref_force_pushed","commit_id":null,"commit_url":null,"created_at":"2014-12-11T03:49:46Z"},{"id":205946351,"node_id":"MDE0Ok1lbnRpb25lZEV2ZW50MjA1OTQ2MzUx","url":"https://api.github.com/repos/nitlang/nit/issues/events/205946351","actor":{"login":"xymus","id":208057,"node_id":"MDQ6VXNlcjIwODA1Nw==","avatar_url":"https://avatars0.githubusercontent.com/u/208057?v=4","gravatar_id":"","url":"https://api.github.com/users/xymus","html_url":"https://github.com/xymus","followers_url":"https://api.github.com/users/xymus/followers","following_url":"https://api.github.com/users/xymus/following{/other_user}","gists_url":"https://api.github.com/users/xymus/gists{/gist_id}","starred_url":"https://api.github.com/users/xymus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xymus/subscriptions","organizations_url":"https://api.github.com/users/xymus/orgs","repos_url":"https://api.github.com/users/xymus/repos","events_url":"https://api.github.com/users/xymus/events{/privacy}","received_events_url":"https://api.github.com/users/xymus/received_events","type":"User","site_admin":false},"event":"mentioned","commit_id":null,"commit_url":null,"created_at":"2014-12-11T03:55:37Z"}]
\ No newline at end of file
--- /dev/null
+[{"url":"https://api.github.com/repos/nitlang/nit/issues/2755","repository_url":"https://api.github.com/repos/nitlang/nit","labels_url":"https://api.github.com/repos/nitlang/nit/issues/2755/labels{/name}","comments_url":"https://api.github.com/repos/nitlang/nit/issues/2755/comments","events_url":"https://api.github.com/repos/nitlang/nit/issues/2755/events","html_url":"https://github.com/nitlang/nit/pull/2755","id":458934924,"node_id":"MDExOlB1bGxSZXF1ZXN0MjkwNDEzOTAw","number":2755,"title":"nitrpg: Move `nitrpg` to its own repository","user":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"labels":[{"id":1252784180,"node_id":"MDU6TGFiZWwxMjUyNzg0MTgw","url":"https://api.github.com/repos/nitlang/nit/labels/ok_to_test","name":"ok_to_test","color":"1e179e","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-06-20T23:34:44Z","updated_at":"2019-06-21T00:45:47Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/nitlang/nit/pulls/2755","html_url":"https://github.com/nitlang/nit/pull/2755","diff_url":"https://github.com/nitlang/nit/pull/2755.diff","patch_url":"https://github.com/nitlang/nit/pull/2755.patch"},"body":"`nitrpg` is broken since a long time. I think https:/api.github.com actually changed twice since it broke. I don't plan on killing it yet but I moved it to its own repository until I worked again on it (or never).\r\n\r\nSee https://github.com/Morriar/nitrpg.\r\n\r\nSigned-off-by: Alexandre Terrasa <alexandre@moz-code.org>"},{"url":"https://api.github.com/repos/nitlang/nit/issues/2754","repository_url":"https://api.github.com/repos/nitlang/nit","labels_url":"https://api.github.com/repos/nitlang/nit/issues/2754/labels{/name}","comments_url":"https://api.github.com/repos/nitlang/nit/issues/2754/comments","events_url":"https://api.github.com/repos/nitlang/nit/issues/2754/events","html_url":"https://github.com/nitlang/nit/pull/2754","id":458805732,"node_id":"MDExOlB1bGxSZXF1ZXN0MjkwMzI2MTEw","number":2754,"title":"First (and small) integration of the ICU library in Nit : locale and case modification","user":{"login":"anadaouda","id":36400538,"node_id":"MDQ6VXNlcjM2NDAwNTM4","avatar_url":"https://avatars1.githubusercontent.com/u/36400538?v=4","gravatar_id":"","url":"https://api.github.com/users/anadaouda","html_url":"https://github.com/anadaouda","followers_url":"https://api.github.com/users/anadaouda/followers","following_url":"https://api.github.com/users/anadaouda/following{/other_user}","gists_url":"https://api.github.com/users/anadaouda/gists{/gist_id}","starred_url":"https://api.github.com/users/anadaouda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anadaouda/subscriptions","organizations_url":"https://api.github.com/users/anadaouda/orgs","repos_url":"https://api.github.com/users/anadaouda/repos","events_url":"https://api.github.com/users/anadaouda/events{/privacy}","received_events_url":"https://api.github.com/users/anadaouda/received_events","type":"User","site_admin":false},"labels":[{"id":1252784180,"node_id":"MDU6TGFiZWwxMjUyNzg0MTgw","url":"https://api.github.com/repos/nitlang/nit/labels/ok_to_test","name":"ok_to_test","color":"1e179e","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-06-20T18:28:52Z","updated_at":"2019-06-20T18:48:05Z","closed_at":null,"author_association":"FIRST_TIMER","pull_request":{"url":"https://api.github.com/repos/nitlang/nit/pulls/2754","html_url":"https://github.com/nitlang/nit/pull/2754","diff_url":"https://github.com/nitlang/nit/pull/2754.diff","patch_url":"https://github.com/nitlang/nit/pull/2754.patch"},"body":"## ICU\r\nICU (International Components for Unicode) is an API which implements algorithms provided by the Unicode Consortium in C.\r\n\r\n## locale.nit\r\nLocale object which makes sure that the name of the locale is valid and handled by the ICU library\r\n\r\n## caseModification.nit\r\nAddition of `uppercase`, `lowercase` and `title` in the `String` and `CString` classes using a `CaseModification` object."},{"url":"https://api.github.com/repos/nitlang/nit/issues/2753","repository_url":"https://api.github.com/repos/nitlang/nit","labels_url":"https://api.github.com/repos/nitlang/nit/issues/2753/labels{/name}","comments_url":"https://api.github.com/repos/nitlang/nit/issues/2753/comments","events_url":"https://api.github.com/repos/nitlang/nit/issues/2753/events","html_url":"https://github.com/nitlang/nit/pull/2753","id":457781476,"node_id":"MDExOlB1bGxSZXF1ZXN0Mjg5NTE5NzM0","number":2753,"title":"Mock Github API tests","user":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"labels":[{"id":1252784180,"node_id":"MDU6TGFiZWwxMjUyNzg0MTgw","url":"https://api.github.com/repos/nitlang/nit/labels/ok_to_test","name":"ok_to_test","color":"1e179e","default":false},{"id":225254102,"node_id":"MDU6TGFiZWwyMjUyNTQxMDI=","url":"https://api.github.com/repos/nitlang/nit/labels/tests_are_ok","name":"tests_are_ok","color":"00b800","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2019-06-19T02:53:50Z","updated_at":"2019-06-20T18:27:49Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/nitlang/nit/pulls/2753","html_url":"https://github.com/nitlang/nit/pull/2753","diff_url":"https://github.com/nitlang/nit/pull/2753.diff","patch_url":"https://github.com/nitlang/nit/pull/2753.patch"},"body":"This PR adds a mock to GithubAPI so we can avoid sending requests to the API on CI.\r\n\r\nFor each API call we save the actual Github response body from the API and reuse it during the tests.\r\nThe attribute `update_responses_cache` can be set to `true` so the cache files are updated from the API when `nitunit` is called."}]
\ No newline at end of file
--- /dev/null
+[{"id":87474920,"node_id":"MDU6TGFiZWw4NzQ3NDkyMA==","url":"https://api.github.com/repos/nitlang/nit/labels/API","name":"API","color":"006b75","default":false},{"id":243644303,"node_id":"MDU6TGFiZWwyNDM2NDQzMDM=","url":"https://api.github.com/repos/nitlang/nit/labels/Feature%20Request","name":"Feature Request","color":"d4c5f9","default":false},{"id":250684857,"node_id":"MDU6TGFiZWwyNTA2ODQ4NTc=","url":"https://api.github.com/repos/nitlang/nit/labels/NEP","name":"NEP","color":"50a0ff","default":false}]
\ No newline at end of file
--- /dev/null
+[{"url":"https://api.github.com/repos/nitlang/nit/milestones/4","html_url":"https://github.com/nitlang/nit/milestone/4","labels_url":"https://api.github.com/repos/nitlang/nit/milestones/4/labels","id":795157,"node_id":"MDk6TWlsZXN0b25lNzk1MTU3","number":4,"title":"v1.0prealpha","description":"The first public version that we are proud off and can be used sanely by non Nit people.","creator":{"login":"privat","id":135828,"node_id":"MDQ6VXNlcjEzNTgyOA==","avatar_url":"https://avatars1.githubusercontent.com/u/135828?v=4","gravatar_id":"","url":"https://api.github.com/users/privat","html_url":"https://github.com/privat","followers_url":"https://api.github.com/users/privat/followers","following_url":"https://api.github.com/users/privat/following{/other_user}","gists_url":"https://api.github.com/users/privat/gists{/gist_id}","starred_url":"https://api.github.com/users/privat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privat/subscriptions","organizations_url":"https://api.github.com/users/privat/orgs","repos_url":"https://api.github.com/users/privat/repos","events_url":"https://api.github.com/users/privat/events{/privacy}","received_events_url":"https://api.github.com/users/privat/received_events","type":"User","site_admin":false},"open_issues":22,"closed_issues":22,"state":"open","created_at":"2014-09-19T00:16:45Z","updated_at":"2017-06-02T12:43:15Z","due_on":null,"closed_at":null},{"url":"https://api.github.com/repos/nitlang/nit/milestones/5","html_url":"https://github.com/nitlang/nit/milestone/5","labels_url":"https://api.github.com/repos/nitlang/nit/milestones/5/labels","id":904285,"node_id":"MDk6TWlsZXN0b25lOTA0Mjg1","number":5,"title":"nitdoc - Structured Documentation","description":"Display the documentation as a user manual and with reading suggestions.","creator":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"open_issues":6,"closed_issues":7,"state":"open","created_at":"2014-12-15T13:49:19Z","updated_at":"2018-06-21T12:50:02Z","due_on":null,"closed_at":null},{"url":"https://api.github.com/repos/nitlang/nit/milestones/6","html_url":"https://github.com/nitlang/nit/milestone/6","labels_url":"https://api.github.com/repos/nitlang/nit/milestones/6/labels","id":904291,"node_id":"MDk6TWlsZXN0b25lOTA0Mjkx","number":6,"title":"nitdoc - Abstraction levels","description":"Provide abstraction mecanisms for lists and tress, diagrams and figures, source code presentation.","creator":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":0,"state":"open","created_at":"2014-12-15T13:52:04Z","updated_at":"2014-12-15T15:37:50Z","due_on":null,"closed_at":null}]
\ No newline at end of file
--- /dev/null
+[{"url":"https://api.github.com/repos/nitlang/nit/pulls/2755","id":290413900,"node_id":"MDExOlB1bGxSZXF1ZXN0MjkwNDEzOTAw","html_url":"https://github.com/nitlang/nit/pull/2755","diff_url":"https://github.com/nitlang/nit/pull/2755.diff","patch_url":"https://github.com/nitlang/nit/pull/2755.patch","issue_url":"https://api.github.com/repos/nitlang/nit/issues/2755","number":2755,"state":"open","locked":false,"title":"nitrpg: Move `nitrpg` to its own repository","user":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"body":"`nitrpg` is broken since a long time. I think https:/api.github.com actually changed twice since it broke. I don't plan on killing it yet but I moved it to its own repository until I worked again on it (or never).\r\n\r\nSee https://github.com/Morriar/nitrpg.\r\n\r\nSigned-off-by: Alexandre Terrasa <alexandre@moz-code.org>","created_at":"2019-06-20T23:34:44Z","updated_at":"2019-06-21T00:45:47Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1acf6cf46daaebea63410ee86a365ecf4eb291f3","assignee":null,"assignees":[],"requested_reviewers":[{"login":"privat","id":135828,"node_id":"MDQ6VXNlcjEzNTgyOA==","avatar_url":"https://avatars1.githubusercontent.com/u/135828?v=4","gravatar_id":"","url":"https://api.github.com/users/privat","html_url":"https://github.com/privat","followers_url":"https://api.github.com/users/privat/followers","following_url":"https://api.github.com/users/privat/following{/other_user}","gists_url":"https://api.github.com/users/privat/gists{/gist_id}","starred_url":"https://api.github.com/users/privat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privat/subscriptions","organizations_url":"https://api.github.com/users/privat/orgs","repos_url":"https://api.github.com/users/privat/repos","events_url":"https://api.github.com/users/privat/events{/privacy}","received_events_url":"https://api.github.com/users/privat/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":1252784180,"node_id":"MDU6TGFiZWwxMjUyNzg0MTgw","url":"https://api.github.com/repos/nitlang/nit/labels/ok_to_test","name":"ok_to_test","color":"1e179e","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/nitlang/nit/pulls/2755/commits","review_comments_url":"https://api.github.com/repos/nitlang/nit/pulls/2755/comments","review_comment_url":"https://api.github.com/repos/nitlang/nit/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nitlang/nit/issues/2755/comments","statuses_url":"https://api.github.com/repos/nitlang/nit/statuses/5dbab8fac6905d57abf78076c58916b0b34b35ce","head":{"label":"Morriar:at-move-nitrpg","ref":"at-move-nitrpg","sha":"5dbab8fac6905d57abf78076c58916b0b34b35ce","user":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"repo":{"id":1456691,"node_id":"MDEwOlJlcG9zaXRvcnkxNDU2Njkx","name":"nit","full_name":"Morriar/nit","private":false,"owner":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"html_url":"https://github.com/Morriar/nit","description":"Nit language","fork":true,"url":"https://api.github.com/repos/Morriar/nit","forks_url":"https://api.github.com/repos/Morriar/nit/forks","keys_url":"https://api.github.com/repos/Morriar/nit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Morriar/nit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Morriar/nit/teams","hooks_url":"https://api.github.com/repos/Morriar/nit/hooks","issue_events_url":"https://api.github.com/repos/Morriar/nit/issues/events{/number}","events_url":"https://api.github.com/repos/Morriar/nit/events","assignees_url":"https://api.github.com/repos/Morriar/nit/assignees{/user}","branches_url":"https://api.github.com/repos/Morriar/nit/branches{/branch}","tags_url":"https://api.github.com/repos/Morriar/nit/tags","blobs_url":"https://api.github.com/repos/Morriar/nit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Morriar/nit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Morriar/nit/git/refs{/sha}","trees_url":"https://api.github.com/repos/Morriar/nit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Morriar/nit/statuses/{sha}","languages_url":"https://api.github.com/repos/Morriar/nit/languages","stargazers_url":"https://api.github.com/repos/Morriar/nit/stargazers","contributors_url":"https://api.github.com/repos/Morriar/nit/contributors","subscribers_url":"https://api.github.com/repos/Morriar/nit/subscribers","subscription_url":"https://api.github.com/repos/Morriar/nit/subscription","commits_url":"https://api.github.com/repos/Morriar/nit/commits{/sha}","git_commits_url":"https://api.github.com/repos/Morriar/nit/git/commits{/sha}","comments_url":"https://api.github.com/repos/Morriar/nit/comments{/number}","issue_comment_url":"https://api.github.com/repos/Morriar/nit/issues/comments{/number}","contents_url":"https://api.github.com/repos/Morriar/nit/contents/{+path}","compare_url":"https://api.github.com/repos/Morriar/nit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Morriar/nit/merges","archive_url":"https://api.github.com/repos/Morriar/nit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Morriar/nit/downloads","issues_url":"https://api.github.com/repos/Morriar/nit/issues{/number}","pulls_url":"https://api.github.com/repos/Morriar/nit/pulls{/number}","milestones_url":"https://api.github.com/repos/Morriar/nit/milestones{/number}","notifications_url":"https://api.github.com/repos/Morriar/nit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Morriar/nit/labels{/name}","releases_url":"https://api.github.com/repos/Morriar/nit/releases{/id}","deployments_url":"https://api.github.com/repos/Morriar/nit/deployments","created_at":"2011-03-08T22:16:33Z","updated_at":"2018-08-23T01:37:28Z","pushed_at":"2019-06-20T23:32:07Z","git_url":"git://github.com/Morriar/nit.git","ssh_url":"git@github.com:Morriar/nit.git","clone_url":"https://github.com/Morriar/nit.git","svn_url":"https://github.com/Morriar/nit","homepage":"http://nitlanguage.org","size":208064,"stargazers_count":2,"watchers_count":2,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":16,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":2,"open_issues":16,"watchers":2,"default_branch":"master"}},"base":{"label":"nitlang:master","ref":"master","sha":"8fd264ae263d5418c56671414b9788c5d67621b4","user":{"login":"nitlang","id":5420298,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU0MjAyOTg=","avatar_url":"https://avatars1.githubusercontent.com/u/5420298?v=4","gravatar_id":"","url":"https://api.github.com/users/nitlang","html_url":"https://github.com/nitlang","followers_url":"https://api.github.com/users/nitlang/followers","following_url":"https://api.github.com/users/nitlang/following{/other_user}","gists_url":"https://api.github.com/users/nitlang/gists{/gist_id}","starred_url":"https://api.github.com/users/nitlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nitlang/subscriptions","organizations_url":"https://api.github.com/users/nitlang/orgs","repos_url":"https://api.github.com/users/nitlang/repos","events_url":"https://api.github.com/users/nitlang/events{/privacy}","received_events_url":"https://api.github.com/users/nitlang/received_events","type":"Organization","site_admin":false},"repo":{"id":328597,"node_id":"MDEwOlJlcG9zaXRvcnkzMjg1OTc=","name":"nit","full_name":"nitlang/nit","private":false,"owner":{"login":"nitlang","id":5420298,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU0MjAyOTg=","avatar_url":"https://avatars1.githubusercontent.com/u/5420298?v=4","gravatar_id":"","url":"https://api.github.com/users/nitlang","html_url":"https://github.com/nitlang","followers_url":"https://api.github.com/users/nitlang/followers","following_url":"https://api.github.com/users/nitlang/following{/other_user}","gists_url":"https://api.github.com/users/nitlang/gists{/gist_id}","starred_url":"https://api.github.com/users/nitlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nitlang/subscriptions","organizations_url":"https://api.github.com/users/nitlang/orgs","repos_url":"https://api.github.com/users/nitlang/repos","events_url":"https://api.github.com/users/nitlang/events{/privacy}","received_events_url":"https://api.github.com/users/nitlang/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/nitlang/nit","description":"Nit language","fork":false,"url":"https://api.github.com/repos/nitlang/nit","forks_url":"https://api.github.com/repos/nitlang/nit/forks","keys_url":"https://api.github.com/repos/nitlang/nit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nitlang/nit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nitlang/nit/teams","hooks_url":"https://api.github.com/repos/nitlang/nit/hooks","issue_events_url":"https://api.github.com/repos/nitlang/nit/issues/events{/number}","events_url":"https://api.github.com/repos/nitlang/nit/events","assignees_url":"https://api.github.com/repos/nitlang/nit/assignees{/user}","branches_url":"https://api.github.com/repos/nitlang/nit/branches{/branch}","tags_url":"https://api.github.com/repos/nitlang/nit/tags","blobs_url":"https://api.github.com/repos/nitlang/nit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nitlang/nit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nitlang/nit/git/refs{/sha}","trees_url":"https://api.github.com/repos/nitlang/nit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nitlang/nit/statuses/{sha}","languages_url":"https://api.github.com/repos/nitlang/nit/languages","stargazers_url":"https://api.github.com/repos/nitlang/nit/stargazers","contributors_url":"https://api.github.com/repos/nitlang/nit/contributors","subscribers_url":"https://api.github.com/repos/nitlang/nit/subscribers","subscription_url":"https://api.github.com/repos/nitlang/nit/subscription","commits_url":"https://api.github.com/repos/nitlang/nit/commits{/sha}","git_commits_url":"https://api.github.com/repos/nitlang/nit/git/commits{/sha}","comments_url":"https://api.github.com/repos/nitlang/nit/comments{/number}","issue_comment_url":"https://api.github.com/repos/nitlang/nit/issues/comments{/number}","contents_url":"https://api.github.com/repos/nitlang/nit/contents/{+path}","compare_url":"https://api.github.com/repos/nitlang/nit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nitlang/nit/merges","archive_url":"https://api.github.com/repos/nitlang/nit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nitlang/nit/downloads","issues_url":"https://api.github.com/repos/nitlang/nit/issues{/number}","pulls_url":"https://api.github.com/repos/nitlang/nit/pulls{/number}","milestones_url":"https://api.github.com/repos/nitlang/nit/milestones{/number}","notifications_url":"https://api.github.com/repos/nitlang/nit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nitlang/nit/labels{/name}","releases_url":"https://api.github.com/repos/nitlang/nit/releases{/id}","deployments_url":"https://api.github.com/repos/nitlang/nit/deployments","created_at":"2009-10-06T15:03:00Z","updated_at":"2019-06-20T18:53:54Z","pushed_at":"2019-06-20T23:34:45Z","git_url":"git://github.com/nitlang/nit.git","ssh_url":"git@github.com:nitlang/nit.git","clone_url":"https://github.com/nitlang/nit.git","svn_url":"https://github.com/nitlang/nit","homepage":"http://nitlanguage.org","size":123163,"stargazers_count":187,"watchers_count":187,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":58,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":174,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":58,"open_issues":174,"watchers":187,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nitlang/nit/pulls/2755"},"html":{"href":"https://github.com/nitlang/nit/pull/2755"},"issue":{"href":"https://api.github.com/repos/nitlang/nit/issues/2755"},"comments":{"href":"https://api.github.com/repos/nitlang/nit/issues/2755/comments"},"review_comments":{"href":"https://api.github.com/repos/nitlang/nit/pulls/2755/comments"},"review_comment":{"href":"https://api.github.com/repos/nitlang/nit/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nitlang/nit/pulls/2755/commits"},"statuses":{"href":"https://api.github.com/repos/nitlang/nit/statuses/5dbab8fac6905d57abf78076c58916b0b34b35ce"}},"author_association":"MEMBER"},{"url":"https://api.github.com/repos/nitlang/nit/pulls/2754","id":290326110,"node_id":"MDExOlB1bGxSZXF1ZXN0MjkwMzI2MTEw","html_url":"https://github.com/nitlang/nit/pull/2754","diff_url":"https://github.com/nitlang/nit/pull/2754.diff","patch_url":"https://github.com/nitlang/nit/pull/2754.patch","issue_url":"https://api.github.com/repos/nitlang/nit/issues/2754","number":2754,"state":"open","locked":false,"title":"First (and small) integration of the ICU library in Nit : locale and case modification","user":{"login":"anadaouda","id":36400538,"node_id":"MDQ6VXNlcjM2NDAwNTM4","avatar_url":"https://avatars1.githubusercontent.com/u/36400538?v=4","gravatar_id":"","url":"https://api.github.com/users/anadaouda","html_url":"https://github.com/anadaouda","followers_url":"https://api.github.com/users/anadaouda/followers","following_url":"https://api.github.com/users/anadaouda/following{/other_user}","gists_url":"https://api.github.com/users/anadaouda/gists{/gist_id}","starred_url":"https://api.github.com/users/anadaouda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anadaouda/subscriptions","organizations_url":"https://api.github.com/users/anadaouda/orgs","repos_url":"https://api.github.com/users/anadaouda/repos","events_url":"https://api.github.com/users/anadaouda/events{/privacy}","received_events_url":"https://api.github.com/users/anadaouda/received_events","type":"User","site_admin":false},"body":"## ICU\r\nICU (International Components for Unicode) is an API which implements algorithms provided by the Unicode Consortium in C.\r\n\r\n## locale.nit\r\nLocale object which makes sure that the name of the locale is valid and handled by the ICU library\r\n\r\n## caseModification.nit\r\nAddition of `uppercase`, `lowercase` and `title` in the `String` and `CString` classes using a `CaseModification` object.","created_at":"2019-06-20T18:28:52Z","updated_at":"2019-06-20T18:48:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b4da82a7ab077e2c08741a576c3d920f09d22a84","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":1252784180,"node_id":"MDU6TGFiZWwxMjUyNzg0MTgw","url":"https://api.github.com/repos/nitlang/nit/labels/ok_to_test","name":"ok_to_test","color":"1e179e","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/nitlang/nit/pulls/2754/commits","review_comments_url":"https://api.github.com/repos/nitlang/nit/pulls/2754/comments","review_comment_url":"https://api.github.com/repos/nitlang/nit/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nitlang/nit/issues/2754/comments","statuses_url":"https://api.github.com/repos/nitlang/nit/statuses/fbb5f6c481cd45ef2f20f62138723dd428eb060d","head":{"label":"anadaouda:icu","ref":"icu","sha":"fbb5f6c481cd45ef2f20f62138723dd428eb060d","user":{"login":"anadaouda","id":36400538,"node_id":"MDQ6VXNlcjM2NDAwNTM4","avatar_url":"https://avatars1.githubusercontent.com/u/36400538?v=4","gravatar_id":"","url":"https://api.github.com/users/anadaouda","html_url":"https://github.com/anadaouda","followers_url":"https://api.github.com/users/anadaouda/followers","following_url":"https://api.github.com/users/anadaouda/following{/other_user}","gists_url":"https://api.github.com/users/anadaouda/gists{/gist_id}","starred_url":"https://api.github.com/users/anadaouda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anadaouda/subscriptions","organizations_url":"https://api.github.com/users/anadaouda/orgs","repos_url":"https://api.github.com/users/anadaouda/repos","events_url":"https://api.github.com/users/anadaouda/events{/privacy}","received_events_url":"https://api.github.com/users/anadaouda/received_events","type":"User","site_admin":false},"repo":{"id":192944232,"node_id":"MDEwOlJlcG9zaXRvcnkxOTI5NDQyMzI=","name":"nit","full_name":"anadaouda/nit","private":false,"owner":{"login":"anadaouda","id":36400538,"node_id":"MDQ6VXNlcjM2NDAwNTM4","avatar_url":"https://avatars1.githubusercontent.com/u/36400538?v=4","gravatar_id":"","url":"https://api.github.com/users/anadaouda","html_url":"https://github.com/anadaouda","followers_url":"https://api.github.com/users/anadaouda/followers","following_url":"https://api.github.com/users/anadaouda/following{/other_user}","gists_url":"https://api.github.com/users/anadaouda/gists{/gist_id}","starred_url":"https://api.github.com/users/anadaouda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anadaouda/subscriptions","organizations_url":"https://api.github.com/users/anadaouda/orgs","repos_url":"https://api.github.com/users/anadaouda/repos","events_url":"https://api.github.com/users/anadaouda/events{/privacy}","received_events_url":"https://api.github.com/users/anadaouda/received_events","type":"User","site_admin":false},"html_url":"https://github.com/anadaouda/nit","description":"Nit language","fork":true,"url":"https://api.github.com/repos/anadaouda/nit","forks_url":"https://api.github.com/repos/anadaouda/nit/forks","keys_url":"https://api.github.com/repos/anadaouda/nit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/anadaouda/nit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/anadaouda/nit/teams","hooks_url":"https://api.github.com/repos/anadaouda/nit/hooks","issue_events_url":"https://api.github.com/repos/anadaouda/nit/issues/events{/number}","events_url":"https://api.github.com/repos/anadaouda/nit/events","assignees_url":"https://api.github.com/repos/anadaouda/nit/assignees{/user}","branches_url":"https://api.github.com/repos/anadaouda/nit/branches{/branch}","tags_url":"https://api.github.com/repos/anadaouda/nit/tags","blobs_url":"https://api.github.com/repos/anadaouda/nit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/anadaouda/nit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/anadaouda/nit/git/refs{/sha}","trees_url":"https://api.github.com/repos/anadaouda/nit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/anadaouda/nit/statuses/{sha}","languages_url":"https://api.github.com/repos/anadaouda/nit/languages","stargazers_url":"https://api.github.com/repos/anadaouda/nit/stargazers","contributors_url":"https://api.github.com/repos/anadaouda/nit/contributors","subscribers_url":"https://api.github.com/repos/anadaouda/nit/subscribers","subscription_url":"https://api.github.com/repos/anadaouda/nit/subscription","commits_url":"https://api.github.com/repos/anadaouda/nit/commits{/sha}","git_commits_url":"https://api.github.com/repos/anadaouda/nit/git/commits{/sha}","comments_url":"https://api.github.com/repos/anadaouda/nit/comments{/number}","issue_comment_url":"https://api.github.com/repos/anadaouda/nit/issues/comments{/number}","contents_url":"https://api.github.com/repos/anadaouda/nit/contents/{+path}","compare_url":"https://api.github.com/repos/anadaouda/nit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/anadaouda/nit/merges","archive_url":"https://api.github.com/repos/anadaouda/nit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/anadaouda/nit/downloads","issues_url":"https://api.github.com/repos/anadaouda/nit/issues{/number}","pulls_url":"https://api.github.com/repos/anadaouda/nit/pulls{/number}","milestones_url":"https://api.github.com/repos/anadaouda/nit/milestones{/number}","notifications_url":"https://api.github.com/repos/anadaouda/nit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/anadaouda/nit/labels{/name}","releases_url":"https://api.github.com/repos/anadaouda/nit/releases{/id}","deployments_url":"https://api.github.com/repos/anadaouda/nit/deployments","created_at":"2019-06-20T15:25:48Z","updated_at":"2019-06-20T18:32:09Z","pushed_at":"2019-06-20T18:03:33Z","git_url":"git://github.com/anadaouda/nit.git","ssh_url":"git@github.com:anadaouda/nit.git","clone_url":"https://github.com/anadaouda/nit.git","svn_url":"https://github.com/anadaouda/nit","homepage":"http://nitlanguage.org","size":123094,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"nitlang:master","ref":"master","sha":"9248f1c81c08b6c0ec7785678dbb1d7440b885d9","user":{"login":"nitlang","id":5420298,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU0MjAyOTg=","avatar_url":"https://avatars1.githubusercontent.com/u/5420298?v=4","gravatar_id":"","url":"https://api.github.com/users/nitlang","html_url":"https://github.com/nitlang","followers_url":"https://api.github.com/users/nitlang/followers","following_url":"https://api.github.com/users/nitlang/following{/other_user}","gists_url":"https://api.github.com/users/nitlang/gists{/gist_id}","starred_url":"https://api.github.com/users/nitlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nitlang/subscriptions","organizations_url":"https://api.github.com/users/nitlang/orgs","repos_url":"https://api.github.com/users/nitlang/repos","events_url":"https://api.github.com/users/nitlang/events{/privacy}","received_events_url":"https://api.github.com/users/nitlang/received_events","type":"Organization","site_admin":false},"repo":{"id":328597,"node_id":"MDEwOlJlcG9zaXRvcnkzMjg1OTc=","name":"nit","full_name":"nitlang/nit","private":false,"owner":{"login":"nitlang","id":5420298,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU0MjAyOTg=","avatar_url":"https://avatars1.githubusercontent.com/u/5420298?v=4","gravatar_id":"","url":"https://api.github.com/users/nitlang","html_url":"https://github.com/nitlang","followers_url":"https://api.github.com/users/nitlang/followers","following_url":"https://api.github.com/users/nitlang/following{/other_user}","gists_url":"https://api.github.com/users/nitlang/gists{/gist_id}","starred_url":"https://api.github.com/users/nitlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nitlang/subscriptions","organizations_url":"https://api.github.com/users/nitlang/orgs","repos_url":"https://api.github.com/users/nitlang/repos","events_url":"https://api.github.com/users/nitlang/events{/privacy}","received_events_url":"https://api.github.com/users/nitlang/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/nitlang/nit","description":"Nit language","fork":false,"url":"https://api.github.com/repos/nitlang/nit","forks_url":"https://api.github.com/repos/nitlang/nit/forks","keys_url":"https://api.github.com/repos/nitlang/nit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nitlang/nit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nitlang/nit/teams","hooks_url":"https://api.github.com/repos/nitlang/nit/hooks","issue_events_url":"https://api.github.com/repos/nitlang/nit/issues/events{/number}","events_url":"https://api.github.com/repos/nitlang/nit/events","assignees_url":"https://api.github.com/repos/nitlang/nit/assignees{/user}","branches_url":"https://api.github.com/repos/nitlang/nit/branches{/branch}","tags_url":"https://api.github.com/repos/nitlang/nit/tags","blobs_url":"https://api.github.com/repos/nitlang/nit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nitlang/nit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nitlang/nit/git/refs{/sha}","trees_url":"https://api.github.com/repos/nitlang/nit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nitlang/nit/statuses/{sha}","languages_url":"https://api.github.com/repos/nitlang/nit/languages","stargazers_url":"https://api.github.com/repos/nitlang/nit/stargazers","contributors_url":"https://api.github.com/repos/nitlang/nit/contributors","subscribers_url":"https://api.github.com/repos/nitlang/nit/subscribers","subscription_url":"https://api.github.com/repos/nitlang/nit/subscription","commits_url":"https://api.github.com/repos/nitlang/nit/commits{/sha}","git_commits_url":"https://api.github.com/repos/nitlang/nit/git/commits{/sha}","comments_url":"https://api.github.com/repos/nitlang/nit/comments{/number}","issue_comment_url":"https://api.github.com/repos/nitlang/nit/issues/comments{/number}","contents_url":"https://api.github.com/repos/nitlang/nit/contents/{+path}","compare_url":"https://api.github.com/repos/nitlang/nit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nitlang/nit/merges","archive_url":"https://api.github.com/repos/nitlang/nit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nitlang/nit/downloads","issues_url":"https://api.github.com/repos/nitlang/nit/issues{/number}","pulls_url":"https://api.github.com/repos/nitlang/nit/pulls{/number}","milestones_url":"https://api.github.com/repos/nitlang/nit/milestones{/number}","notifications_url":"https://api.github.com/repos/nitlang/nit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nitlang/nit/labels{/name}","releases_url":"https://api.github.com/repos/nitlang/nit/releases{/id}","deployments_url":"https://api.github.com/repos/nitlang/nit/deployments","created_at":"2009-10-06T15:03:00Z","updated_at":"2019-06-20T18:53:54Z","pushed_at":"2019-06-20T23:34:45Z","git_url":"git://github.com/nitlang/nit.git","ssh_url":"git@github.com:nitlang/nit.git","clone_url":"https://github.com/nitlang/nit.git","svn_url":"https://github.com/nitlang/nit","homepage":"http://nitlanguage.org","size":123163,"stargazers_count":187,"watchers_count":187,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":58,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":174,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":58,"open_issues":174,"watchers":187,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nitlang/nit/pulls/2754"},"html":{"href":"https://github.com/nitlang/nit/pull/2754"},"issue":{"href":"https://api.github.com/repos/nitlang/nit/issues/2754"},"comments":{"href":"https://api.github.com/repos/nitlang/nit/issues/2754/comments"},"review_comments":{"href":"https://api.github.com/repos/nitlang/nit/pulls/2754/comments"},"review_comment":{"href":"https://api.github.com/repos/nitlang/nit/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nitlang/nit/pulls/2754/commits"},"statuses":{"href":"https://api.github.com/repos/nitlang/nit/statuses/fbb5f6c481cd45ef2f20f62138723dd428eb060d"}},"author_association":"FIRST_TIME_CONTRIBUTOR"},{"url":"https://api.github.com/repos/nitlang/nit/pulls/2753","id":289519734,"node_id":"MDExOlB1bGxSZXF1ZXN0Mjg5NTE5NzM0","html_url":"https://github.com/nitlang/nit/pull/2753","diff_url":"https://github.com/nitlang/nit/pull/2753.diff","patch_url":"https://github.com/nitlang/nit/pull/2753.patch","issue_url":"https://api.github.com/repos/nitlang/nit/issues/2753","number":2753,"state":"open","locked":false,"title":"Mock Github API tests","user":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"body":"This PR adds a mock to GithubAPI so we can avoid sending requests to the API on CI.\r\n\r\nFor each API call we save the actual Github response body from the API and reuse it during the tests.\r\nThe attribute `update_responses_cache` can be set to `true` so the cache files are updated from the API when `nitunit` is called.","created_at":"2019-06-19T02:53:50Z","updated_at":"2019-06-20T18:27:49Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e28d2edb92bfefd354d6fd4916cb861661d69dcf","assignee":null,"assignees":[],"requested_reviewers":[{"login":"privat","id":135828,"node_id":"MDQ6VXNlcjEzNTgyOA==","avatar_url":"https://avatars1.githubusercontent.com/u/135828?v=4","gravatar_id":"","url":"https://api.github.com/users/privat","html_url":"https://github.com/privat","followers_url":"https://api.github.com/users/privat/followers","following_url":"https://api.github.com/users/privat/following{/other_user}","gists_url":"https://api.github.com/users/privat/gists{/gist_id}","starred_url":"https://api.github.com/users/privat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privat/subscriptions","organizations_url":"https://api.github.com/users/privat/orgs","repos_url":"https://api.github.com/users/privat/repos","events_url":"https://api.github.com/users/privat/events{/privacy}","received_events_url":"https://api.github.com/users/privat/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":1252784180,"node_id":"MDU6TGFiZWwxMjUyNzg0MTgw","url":"https://api.github.com/repos/nitlang/nit/labels/ok_to_test","name":"ok_to_test","color":"1e179e","default":false},{"id":225254102,"node_id":"MDU6TGFiZWwyMjUyNTQxMDI=","url":"https://api.github.com/repos/nitlang/nit/labels/tests_are_ok","name":"tests_are_ok","color":"00b800","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/nitlang/nit/pulls/2753/commits","review_comments_url":"https://api.github.com/repos/nitlang/nit/pulls/2753/comments","review_comment_url":"https://api.github.com/repos/nitlang/nit/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nitlang/nit/issues/2753/comments","statuses_url":"https://api.github.com/repos/nitlang/nit/statuses/5c19395e548326c9d78dff9b274e3e7b93c1704f","head":{"label":"Morriar:at-github_mock","ref":"at-github_mock","sha":"5c19395e548326c9d78dff9b274e3e7b93c1704f","user":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"repo":{"id":1456691,"node_id":"MDEwOlJlcG9zaXRvcnkxNDU2Njkx","name":"nit","full_name":"Morriar/nit","private":false,"owner":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"html_url":"https://github.com/Morriar/nit","description":"Nit language","fork":true,"url":"https://api.github.com/repos/Morriar/nit","forks_url":"https://api.github.com/repos/Morriar/nit/forks","keys_url":"https://api.github.com/repos/Morriar/nit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Morriar/nit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Morriar/nit/teams","hooks_url":"https://api.github.com/repos/Morriar/nit/hooks","issue_events_url":"https://api.github.com/repos/Morriar/nit/issues/events{/number}","events_url":"https://api.github.com/repos/Morriar/nit/events","assignees_url":"https://api.github.com/repos/Morriar/nit/assignees{/user}","branches_url":"https://api.github.com/repos/Morriar/nit/branches{/branch}","tags_url":"https://api.github.com/repos/Morriar/nit/tags","blobs_url":"https://api.github.com/repos/Morriar/nit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Morriar/nit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Morriar/nit/git/refs{/sha}","trees_url":"https://api.github.com/repos/Morriar/nit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Morriar/nit/statuses/{sha}","languages_url":"https://api.github.com/repos/Morriar/nit/languages","stargazers_url":"https://api.github.com/repos/Morriar/nit/stargazers","contributors_url":"https://api.github.com/repos/Morriar/nit/contributors","subscribers_url":"https://api.github.com/repos/Morriar/nit/subscribers","subscription_url":"https://api.github.com/repos/Morriar/nit/subscription","commits_url":"https://api.github.com/repos/Morriar/nit/commits{/sha}","git_commits_url":"https://api.github.com/repos/Morriar/nit/git/commits{/sha}","comments_url":"https://api.github.com/repos/Morriar/nit/comments{/number}","issue_comment_url":"https://api.github.com/repos/Morriar/nit/issues/comments{/number}","contents_url":"https://api.github.com/repos/Morriar/nit/contents/{+path}","compare_url":"https://api.github.com/repos/Morriar/nit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Morriar/nit/merges","archive_url":"https://api.github.com/repos/Morriar/nit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Morriar/nit/downloads","issues_url":"https://api.github.com/repos/Morriar/nit/issues{/number}","pulls_url":"https://api.github.com/repos/Morriar/nit/pulls{/number}","milestones_url":"https://api.github.com/repos/Morriar/nit/milestones{/number}","notifications_url":"https://api.github.com/repos/Morriar/nit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Morriar/nit/labels{/name}","releases_url":"https://api.github.com/repos/Morriar/nit/releases{/id}","deployments_url":"https://api.github.com/repos/Morriar/nit/deployments","created_at":"2011-03-08T22:16:33Z","updated_at":"2018-08-23T01:37:28Z","pushed_at":"2019-06-20T23:32:07Z","git_url":"git://github.com/Morriar/nit.git","ssh_url":"git@github.com:Morriar/nit.git","clone_url":"https://github.com/Morriar/nit.git","svn_url":"https://github.com/Morriar/nit","homepage":"http://nitlanguage.org","size":208064,"stargazers_count":2,"watchers_count":2,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":16,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":2,"open_issues":16,"watchers":2,"default_branch":"master"}},"base":{"label":"nitlang:master","ref":"master","sha":"9248f1c81c08b6c0ec7785678dbb1d7440b885d9","user":{"login":"nitlang","id":5420298,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU0MjAyOTg=","avatar_url":"https://avatars1.githubusercontent.com/u/5420298?v=4","gravatar_id":"","url":"https://api.github.com/users/nitlang","html_url":"https://github.com/nitlang","followers_url":"https://api.github.com/users/nitlang/followers","following_url":"https://api.github.com/users/nitlang/following{/other_user}","gists_url":"https://api.github.com/users/nitlang/gists{/gist_id}","starred_url":"https://api.github.com/users/nitlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nitlang/subscriptions","organizations_url":"https://api.github.com/users/nitlang/orgs","repos_url":"https://api.github.com/users/nitlang/repos","events_url":"https://api.github.com/users/nitlang/events{/privacy}","received_events_url":"https://api.github.com/users/nitlang/received_events","type":"Organization","site_admin":false},"repo":{"id":328597,"node_id":"MDEwOlJlcG9zaXRvcnkzMjg1OTc=","name":"nit","full_name":"nitlang/nit","private":false,"owner":{"login":"nitlang","id":5420298,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU0MjAyOTg=","avatar_url":"https://avatars1.githubusercontent.com/u/5420298?v=4","gravatar_id":"","url":"https://api.github.com/users/nitlang","html_url":"https://github.com/nitlang","followers_url":"https://api.github.com/users/nitlang/followers","following_url":"https://api.github.com/users/nitlang/following{/other_user}","gists_url":"https://api.github.com/users/nitlang/gists{/gist_id}","starred_url":"https://api.github.com/users/nitlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nitlang/subscriptions","organizations_url":"https://api.github.com/users/nitlang/orgs","repos_url":"https://api.github.com/users/nitlang/repos","events_url":"https://api.github.com/users/nitlang/events{/privacy}","received_events_url":"https://api.github.com/users/nitlang/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/nitlang/nit","description":"Nit language","fork":false,"url":"https://api.github.com/repos/nitlang/nit","forks_url":"https://api.github.com/repos/nitlang/nit/forks","keys_url":"https://api.github.com/repos/nitlang/nit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nitlang/nit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nitlang/nit/teams","hooks_url":"https://api.github.com/repos/nitlang/nit/hooks","issue_events_url":"https://api.github.com/repos/nitlang/nit/issues/events{/number}","events_url":"https://api.github.com/repos/nitlang/nit/events","assignees_url":"https://api.github.com/repos/nitlang/nit/assignees{/user}","branches_url":"https://api.github.com/repos/nitlang/nit/branches{/branch}","tags_url":"https://api.github.com/repos/nitlang/nit/tags","blobs_url":"https://api.github.com/repos/nitlang/nit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nitlang/nit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nitlang/nit/git/refs{/sha}","trees_url":"https://api.github.com/repos/nitlang/nit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nitlang/nit/statuses/{sha}","languages_url":"https://api.github.com/repos/nitlang/nit/languages","stargazers_url":"https://api.github.com/repos/nitlang/nit/stargazers","contributors_url":"https://api.github.com/repos/nitlang/nit/contributors","subscribers_url":"https://api.github.com/repos/nitlang/nit/subscribers","subscription_url":"https://api.github.com/repos/nitlang/nit/subscription","commits_url":"https://api.github.com/repos/nitlang/nit/commits{/sha}","git_commits_url":"https://api.github.com/repos/nitlang/nit/git/commits{/sha}","comments_url":"https://api.github.com/repos/nitlang/nit/comments{/number}","issue_comment_url":"https://api.github.com/repos/nitlang/nit/issues/comments{/number}","contents_url":"https://api.github.com/repos/nitlang/nit/contents/{+path}","compare_url":"https://api.github.com/repos/nitlang/nit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nitlang/nit/merges","archive_url":"https://api.github.com/repos/nitlang/nit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nitlang/nit/downloads","issues_url":"https://api.github.com/repos/nitlang/nit/issues{/number}","pulls_url":"https://api.github.com/repos/nitlang/nit/pulls{/number}","milestones_url":"https://api.github.com/repos/nitlang/nit/milestones{/number}","notifications_url":"https://api.github.com/repos/nitlang/nit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nitlang/nit/labels{/name}","releases_url":"https://api.github.com/repos/nitlang/nit/releases{/id}","deployments_url":"https://api.github.com/repos/nitlang/nit/deployments","created_at":"2009-10-06T15:03:00Z","updated_at":"2019-06-20T18:53:54Z","pushed_at":"2019-06-20T23:34:45Z","git_url":"git://github.com/nitlang/nit.git","ssh_url":"git@github.com:nitlang/nit.git","clone_url":"https://github.com/nitlang/nit.git","svn_url":"https://github.com/nitlang/nit","homepage":"http://nitlanguage.org","size":123163,"stargazers_count":187,"watchers_count":187,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":58,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":174,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":58,"open_issues":174,"watchers":187,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nitlang/nit/pulls/2753"},"html":{"href":"https://github.com/nitlang/nit/pull/2753"},"issue":{"href":"https://api.github.com/repos/nitlang/nit/issues/2753"},"comments":{"href":"https://api.github.com/repos/nitlang/nit/issues/2753/comments"},"review_comments":{"href":"https://api.github.com/repos/nitlang/nit/pulls/2753/comments"},"review_comment":{"href":"https://api.github.com/repos/nitlang/nit/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nitlang/nit/pulls/2753/commits"},"statuses":{"href":"https://api.github.com/repos/nitlang/nit/statuses/5c19395e548326c9d78dff9b274e3e7b93c1704f"}},"author_association":"MEMBER"}]
\ No newline at end of file
map["/user"] = "user_Morriar"
map["/users/Morriar"] = "user_Morriar"
map["/repos/nitlang/nit"] = "repo_nit"
+ map["/repos/nitlang/nit/labels?page=1&per_page=3"] = "repo_labels_nit"
map["/repos/nitlang/nit/labels/ok_will_merge"] = "repo_labels_ok_will_merge"
+ map["/repos/nitlang/nit/milestones?page=1&per_page=3"] = "repo_milestones_nit"
map["/repos/nitlang/nit/milestones/4"] = "repo_milestones_4"
- map["/repos/nitlang/nit/branches"] = "repo_branches_nit"
+ map["/repos/nitlang/nit/branches?page=1&per_page=2"] = "repo_branches_nit"
map["/repos/nitlang/nit/branches/master"] = "repo_branches_master"
+ map["/repos/nitlang/nit/issues?page=1&per_page=3"] = "repo_issues_nit"
map["/repos/nitlang/nit/issues/1000"] = "repo_issues_1000"
+ map["/repos/nitlang/nit/issues/1000/comments?page=1&per_page=3"] = "repo_issues_comments_nit"
map["/repos/nitlang/nit/issues/comments/6020149"] = "repo_issues_comments_6020149"
+ map["/repos/nitlang/nit/issues/1000/events?page=1&per_page=3"] = "repo_issues_events_nit"
map["/repos/nitlang/nit/issues/events/199674194"] = "repo_issues_events_199674194"
+ map["/repos/nitlang/nit/pulls?page=1&per_page=3"] = "repo_pulls_nit"
map["/repos/nitlang/nit/pulls/1000"] = "repo_pulls_1000"
map["/repos/nitlang/nit/commits/64ce1f"] = "repo_commits_64ce1f"
map["/repos/nitlang/nit/comments/8982707"] = "repo_comments_8982707"
private var repo: Repo is lazy do return api.get_repo("nitlang/nit").as(not null)
fun test_get_branches is test do
- var branches = api.get_repo_branches(repo)
+ var branches = api.get_repo_branches(repo, 1, 2)
assert branches.length == 2
assert branches.first.name == "master"
assert branches.last.name == "next"
end
- # TODO issues
- # TODO repo_last_issue
- # TODO labels
- # TODO milestones
- # TODO pulls
+ fun test_get_issues is test do
+ var issues = api.get_repo_issues(repo, 1, 3)
+ assert issues.length == 3
+ assert issues.first.title == "nitrpg: Move `nitrpg` to its own repository"
+ assert issues.last.title == "Mock Github API tests"
+ end
+
+ fun test_search_issues is test do
+ var results = api.search_repo_issues(repo, "foo", 1, 3)
+ assert results isa SearchResults
+ assert results.items.length == 3
+ assert results.items.first.as(Issue).title == "Introduction of contracts in Nit"
+ assert results.items.last.as(Issue).title == "Appel de méthodes abstraites non redéfinies"
+ end
+
+ fun test_get_labels is test do
+ var labels = api.get_repo_labels(repo, 1, 3)
+ assert labels.length == 3
+ assert labels.first.name == "API"
+ assert labels.last.name == "NEP"
+ end
+
+ fun test_get_milestones is test do
+ var milestones = api.get_repo_milestones(repo, 1, 3)
+ assert milestones.length == 3
+ assert milestones.first.title == "v1.0prealpha"
+ assert milestones.last.title == "nitdoc - Abstraction levels"
+ end
+
+ fun test_get_pulls is test do
+ var pulls = api.get_repo_pulls(repo, 1, 3)
+ assert pulls.length == 3
+ assert pulls.first.title == "nitrpg: Move `nitrpg` to its own repository"
+ assert pulls.last.title == "Mock Github API tests"
+ end
+
# TODO contrib_stats
fun test_get_branch is test do
assert issue.is_pull_request
end
- # TODO issue comments
- # TODO issue events
+ fun test_get_issue_comments is test do
+ var issue = api.get_issue(repo, 1000)
+ assert issue isa Issue
+ var comments = api.get_issue_comments(repo, issue, 1, 3)
+ assert comments.length == 3
+ assert comments.first.user.login == "R4PaSs"
+ assert comments.last.user.login == "xymus"
+ end
+
+ fun test_get_issue_events is test do
+ var issue = api.get_issue(repo, 1000)
+ assert issue isa Issue
+ var events = api.get_issue_events(repo, issue, 1, 3)
+ assert events.length == 3
+ assert events.first.actor.login == "privat"
+ assert events.last.actor.login == "xymus"
+ end
fun test_get_pull is test do
var pull = api.get_pull(repo, 1000)