Show the state (open, closed, merged) in issue view and pr view
Closes #652

Mostly tests for each state. Changes for the core logics are a few lines in `command/issue.go`, `command/pr.go` and GraphQL queries.

Since colors matter, I tried to test PR/Issue states with ansi escape sequence to compare colors along with its string but couldn't figure out an efficient way to do... I might be missing something for it.

## Test cases for `gh [pr|issue] view --preview`
I use `•` (Bullet: `U+2022`) as a separator. It is a bit ugly in below captures but I think it is my terminal font problem. 💦 

- [x] Open issue
![Screen Shot 2020-03-18 at 6 57 53](https://user-images.githubusercontent.com/5877477/76908383-e19d3100-68eb-11ea-933f-bd6303660710.png)

- [x] Closed issue
![Screen Shot 2020-03-18 at 6 59 48](https://user-images.githubusercontent.com/5877477/76908401-e82ba880-68eb-11ea-94b0-689261e5e21f.png)

- Open PR
    - [x] Query by number
![Screen Shot 2020-03-18 at 7 17 05](https://user-images.githubusercontent.com/5877477/76908444-098c9480-68ec-11ea-90d9-a0d576d46b98.png)
    - [x] Query by branch name
![Screen Shot 2020-03-18 at 7 17 32](https://user-images.githubusercontent.com/5877477/76908457-10b3a280-68ec-11ea-8f62-4413dcd4b5bc.png)

- Draft PR
    - [x] Query by number
![Screen Shot 2020-03-18 at 7 14 55](https://user-images.githubusercontent.com/5877477/76910641-ed8bf180-68f1-11ea-9176-d87d718e43bf.png)
    - [x] Query by branch name
![Screen Shot 2020-03-18 at 7 15 07](https://user-images.githubusercontent.com/5877477/76910667-fda3d100-68f1-11ea-9b25-99d16109fa86.png)
    -  (idea) We could change `Open` to `Draft` like below if it is more appropriate
![Screen Shot 2020-03-18 at 9 19 43](https://user-images.githubusercontent.com/5877477/76913223-b3bee900-68f9-11ea-84ab-3403d840ff2b.png)

- Closed PR
    - [x] Query by number
![Screen Shot 2020-03-18 at 7 04 47](https://user-images.githubusercontent.com/5877477/76910686-085e6600-68f2-11ea-8fb0-6e32389286e7.png)
    - [x] Query by branch name
![Screen Shot 2020-03-18 at 7 20 27](https://user-images.githubusercontent.com/5877477/76910695-0f857400-68f2-11ea-858d-6897466fe73e.png)
- Merged PR
    - [x] Query by number
![Screen Shot 2020-03-18 at 7 00 45](https://user-images.githubusercontent.com/5877477/76910717-1ad89f80-68f2-11ea-9b21-b7631e7765d3.png)
    - [x] Query by branch name
![Screen Shot 2020-03-18 at 7 15 45](https://user-images.githubusercontent.com/5877477/76910733-24fa9e00-68f2-11ea-8b9f-75986a0b0e04.png)

### Describe the feature or problem you’d like to solve
Currently, `issue view --preview` shows who created an issue regardless of its state.

![Screenshot 2020-03-14 at 5 35 27](https://user-images.githubusercontent.com/5877477/76657634-a6ca8e80-65b5-11ea-8a76-19861ccb4ee6.png)

 However, I think that what we actually want to see is the last event state such as `Opened`, `Closed` and `Reopened` (I guess `Locked`, `Unlocked` and `Transferred` could be included) and who made the last event.

### Proposed solution

[IssueTimelineItemsItemType](https://developer.github.com/v4/enum/issuetimelineitemsitemtype/#issuetimelineitemsitemtype) provides various issue events and we can extract the last event.

Ref. https://github.community/t5/GitHub-API-Development-and/GraphQL-repo-issues-has-no-closedBy-field/m-p/26858/highlight/true#M2173

I gave a shot with https://github.com/cli/cli/compare/58f6be...doi-t:cf6e746 and it seems it is possible to do like below. These captures show the last state and its actor instead of the author of the issue.

![Screenshot 2020-03-14 at 5 33 32](https://user-images.githubusercontent.com/5877477/76657538-74b92c80-65b5-11ea-8037-2f551e257df4.png)
![Screenshot 2020-03-14 at 5 33 02](https://user-images.githubusercontent.com/5877477/76657552-797de080-65b5-11ea-95a6-5873ca36308f.png)
![Screenshot 2020-03-14 at 5 34 06](https://user-images.githubusercontent.com/5877477/76657533-7387ff80-65b5-11ea-944e-7d9e3f6a6cbd.png)

If it makes sense to everyone and is fine with [contributing guide](https://github.com/cli/cli/blob/master/.github/CONTRIBUTING.md), I'd happy to work on it with unit tests for each event.
Viewing issues and PRs in CLI should show the state (open, closed, merged)
diff --git a/api/queries_issue.go b/api/queries_issue.go
index ae27878a6dc..2c201030735 100644
--- a/api/queries_issue.go
+++ b/api/queries_issue.go
@@ -24,6 +24,7 @@ type Issue struct {
 	URL       string
 	State     string
 	Body      string
+	CreatedAt time.Time
 	UpdatedAt time.Time
 	Comments  struct {
 		TotalCount int
@@ -278,6 +279,7 @@ func IssueByNumber(client *Client, repo ghrepo.Interface, number int) (*Issue, e
 			hasIssuesEnabled
 			issue(number: $issue_number) {
 				title
+				state
 				body
 				author {
 					login
@@ -292,6 +294,7 @@ func IssueByNumber(client *Client, repo ghrepo.Interface, number int) (*Issue, e
 				}
 				number
 				url
+				createdAt
 			}
 		}
 	}`
diff --git a/api/queries_pr.go b/api/queries_pr.go
index 0f11f439278..905bd20661d 100644
--- a/api/queries_pr.go
+++ b/api/queries_pr.go
@@ -301,6 +301,7 @@ func PullRequestByNumber(client *Client, repo ghrepo.Interface, number int) (*Pu
 				url
 				number
 				title
+				state
 				body
 				author {
 				  login
@@ -320,6 +321,7 @@ func PullRequestByNumber(client *Client, repo ghrepo.Interface, number int) (*Pu
 					}
 				}
 				isCrossRepository
+				isDraft
 				maintainerCanModify
 			}
 		}
@@ -356,6 +358,7 @@ func PullRequestForBranch(client *Client, repo ghrepo.Interface, baseBranch, hea
 				nodes {
 					number
 					title
+					state
 					body
 					author {
 						login
diff --git a/command/issue.go b/command/issue.go
index a024c75e037..b970a2a5928 100644
--- a/command/issue.go
+++ b/command/issue.go
@@ -228,6 +228,11 @@ func issueView(cmd *cobra.Command, args []string) error {
 
 }
 
+func issueStateTitleWithColor(state string) string {
+	colorFunc := colorFuncForState(state)
+	return colorFunc(strings.Title(strings.ToLower(state)))
+}
+
 func listHeader(repoName string, itemName string, matchCount int, totalMatchCount int, hasFilters bool) string {
 	if totalMatchCount == 0 {
 		if hasFilters {
@@ -248,17 +253,16 @@ func listHeader(repoName string, itemName string, matchCount int, totalMatchCoun
 }
 
 func printIssuePreview(out io.Writer, issue *api.Issue) error {
-	coloredLabels := labelList(*issue)
-	if coloredLabels != "" {
-		coloredLabels = utils.Gray(fmt.Sprintf("(%s)", coloredLabels))
-	}
+	now := time.Now()
+	ago := now.Sub(issue.CreatedAt)
 
 	fmt.Fprintln(out, utils.Bold(issue.Title))
+	fmt.Fprintf(out, "%s", issueStateTitleWithColor(issue.State))
 	fmt.Fprintln(out, utils.Gray(fmt.Sprintf(
-		"opened by %s. %s. %s",
+		" • %s opened %s • %s",
 		issue.Author.Login,
+		utils.FuzzyAgo(ago),
 		utils.Pluralize(issue.Comments.TotalCount, "comment"),
-		coloredLabels,
 	)))
 
 	if issue.Body != "" {
diff --git a/command/pr.go b/command/pr.go
index 7c879924832..e494d88b5a9 100644
--- a/command/pr.go
+++ b/command/pr.go
@@ -226,14 +226,22 @@ func prList(cmd *cobra.Command, args []string) error {
 	return nil
 }
 
+func prStateTitleWithColor(pr api.PullRequest) string {
+	prStateColorFunc := colorFuncForPR(pr)
+	if pr.State == "OPEN" && pr.IsDraft {
+		return prStateColorFunc(strings.Title(strings.ToLower("Draft")))
+	}
+	return prStateColorFunc(strings.Title(strings.ToLower(pr.State)))
+}
+
 func colorFuncForPR(pr api.PullRequest) func(string) string {
 	if pr.State == "OPEN" && pr.IsDraft {
 		return utils.Gray
-	} else {
-		return colorFuncForState(pr.State)
 	}
+	return colorFuncForState(pr.State)
 }
 
+// colorFuncForState returns a color function for a PR/Issue state
 func colorFuncForState(state string) func(string) string {
 	switch state {
 	case "OPEN":
@@ -320,8 +328,9 @@ func prView(cmd *cobra.Command, args []string) error {
 
 func printPrPreview(out io.Writer, pr *api.PullRequest) error {
 	fmt.Fprintln(out, utils.Bold(pr.Title))
+	fmt.Fprintf(out, "%s", prStateTitleWithColor(*pr))
 	fmt.Fprintln(out, utils.Gray(fmt.Sprintf(
-		"%s wants to merge %s into %s from %s",
+		" • %s wants to merge %s into %s from %s",
 		pr.Author.Login,
 		utils.Pluralize(pr.Commits.TotalCount, "commit"),
 		pr.BaseRefName,
@@ -453,8 +462,7 @@ func printPrs(w io.Writer, totalCount int, prs ...api.PullRequest) {
 				fmt.Fprint(w, utils.Green("✓ Approved"))
 			}
 		} else {
-			s := strings.Title(strings.ToLower(pr.State))
-			fmt.Fprintf(w, " - %s", prStateColorFunc(s))
+			fmt.Fprintf(w, " - %s", prStateTitleWithColor(pr))
 		}
 
 		fmt.Fprint(w, "\n")
diff --git a/go.mod b/go.mod
index aab4c58d490..896bfd30076 100644
--- a/go.mod
+++ b/go.mod
@@ -7,6 +7,7 @@ require (
 	github.com/briandowns/spinner v1.9.0
 	github.com/charmbracelet/glamour v0.1.1-0.20200320173916-301d3bcf3058
 	github.com/dlclark/regexp2 v1.2.0 // indirect
+	github.com/google/go-cmp v0.2.0
 	github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
 	github.com/hashicorp/go-version v1.2.0
 	github.com/henvic/httpretty v0.0.4
diff --git a/go.sum b/go.sum
index a5f4af4b9e6..40379e8141c 100644
--- a/go.sum
+++ b/go.sum
@@ -61,6 +61,7 @@ github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y
 github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
 github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
+github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ=
 github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
 github.com/google/goterm v0.0.0-20190703233501-fc88cf888a3f h1:5CjVwnuUcp5adK4gmY6i72gpVFVnZDP2h5TmPScB6u4=
 github.com/google/goterm v0.0.0-20190703233501-fc88cf888a3f/go.mod h1:nOFQdrUlIlx6M6ODdSpBj1NVA+VgLC6kmw60mkw34H4=

diff --git a/command/issue_test.go b/command/issue_test.go
index 9a9b8386855..d9e2846d0f0 100644
--- a/command/issue_test.go
+++ b/command/issue_test.go
@@ -12,6 +12,7 @@ import (
 
 	"github.com/cli/cli/internal/run"
 	"github.com/cli/cli/test"
+	"github.com/google/go-cmp/cmp"
 )
 
 func TestIssueStatus(t *testing.T) {
@@ -284,81 +285,77 @@ func TestIssueView_web_numberArgWithHash(t *testing.T) {
 	eq(t, url, "https://github.com/OWNER/REPO/issues/123")
 }
 
-func TestIssueView(t *testing.T) {
-	initBlankContext("OWNER/REPO", "master")
-	http := initFakeHTTP()
-	http.StubRepoResponse("OWNER", "REPO")
-
-	http.StubResponse(200, bytes.NewBufferString(`
-		{ "data": { "repository": { "hasIssuesEnabled": true, "issue": {
-		"number": 123,
-		"body": "**bold story**",
-		"title": "ix of coins",
-		"author": {
-			"login": "marseilles"
+func TestIssueView_Preview(t *testing.T) {
+	tests := map[string]struct {
+		ownerRepo       string
+		command         string
+		fixture         string
+		expectedOutputs []string
+	}{
+		"Open issue": {
+			ownerRepo: "master",
+			command:   "issue view 123",
+			fixture:   "../test/fixtures/issueView_preview.json",
+			expectedOutputs: []string{
+				"ix of coins",
+				"Open • marseilles opened about 292 years ago • 9 comments",
+				"bold story",
+				"View this issue on GitHub: https://github.com/OWNER/REPO/issues/123",
+			},
 		},
-		"labels": {
-			"nodes": [
-				{"name": "tarot"}
-			]
+		"Open issue with no label": {
+			ownerRepo: "master",
+			command:   "issue view 123",
+			fixture:   "../test/fixtures/issueView_previewNoLabel.json",
+			expectedOutputs: []string{
+				"ix of coins",
+				"Open • marseilles opened about 292 years ago • 9 comments",
+				"bold story",
+				"View this issue on GitHub: https://github.com/OWNER/REPO/issues/123",
+			},
 		},
-		"comments": {
-		  "totalCount": 9
+		"Open issue with empty body": {
+			ownerRepo: "master",
+			command:   "issue view 123",
+			fixture:   "../test/fixtures/issueView_previewWithEmptyBody.json",
+			expectedOutputs: []string{
+				"ix of coins",
+				"Open • marseilles opened about 292 years ago • 9 comments",
+				"View this issue on GitHub: https://github.com/OWNER/REPO/issues/123",
+			},
+		},
+		"Closed issue": {
+			ownerRepo: "master",
+			command:   "issue view 123",
+			fixture:   "../test/fixtures/issueView_previewClosedState.json",
+			expectedOutputs: []string{
+				"ix of coins",
+				"Closed • marseilles opened about 292 years ago • 9 comments",
+				"bold story",
+				"View this issue on GitHub: https://github.com/OWNER/REPO/issues/123",
+			},
 		},
-		"url": "https://github.com/OWNER/REPO/issues/123"
-	} } } }
-	`))
-
-	output, err := RunCommand(issueViewCmd, "issue view 123")
-	if err != nil {
-		t.Errorf("error running command `issue view`: %v", err)
 	}
+	for name, tc := range tests {
+		t.Run(name, func(t *testing.T) {
+			initBlankContext("OWNER/REPO", tc.ownerRepo)
+			http := initFakeHTTP()
+			http.StubRepoResponse("OWNER", "REPO")
 
-	eq(t, output.Stderr(), "")
-
-	test.ExpectLines(t, output.String(),
-		"ix of coins",
-		`opened by marseilles. 9 comments. \(tarot\)`,
-		"bold story",
-		"View this issue on GitHub: https://github.com/OWNER/REPO/issues/123")
-}
+			jsonFile, _ := os.Open(tc.fixture)
+			defer jsonFile.Close()
+			http.StubResponse(200, jsonFile)
 
-func TestIssueView_WithEmptyBody(t *testing.T) {
-	initBlankContext("OWNER/REPO", "master")
-	http := initFakeHTTP()
-	http.StubRepoResponse("OWNER", "REPO")
+			output, err := RunCommand(issueViewCmd, tc.command)
+			if err != nil {
+				t.Errorf("error running command `%v`: %v", tc.command, err)
+			}
 
-	http.StubResponse(200, bytes.NewBufferString(`
-		{ "data": { "repository": { "hasIssuesEnabled": true, "issue": {
-		"number": 123,
-		"body": "",
-		"title": "ix of coins",
-		"author": {
-			"login": "marseilles"
-		},
-		"labels": {
-			"nodes": [
-				{"name": "tarot"}
-			]
-		},
-		"comments": {
-		  "totalCount": 9
-		},
-		"url": "https://github.com/OWNER/REPO/issues/123"
-	} } } }
-	`))
+			eq(t, output.Stderr(), "")
 
-	output, err := RunCommand(issueViewCmd, "issue view 123")
-	if err != nil {
-		t.Errorf("error running command `issue view`: %v", err)
+			test.ExpectLines(t, output.String(), tc.expectedOutputs...)
+		})
 	}
-
-	eq(t, output.Stderr(), "")
-
-	test.ExpectLines(t, output.String(),
-		"ix of coins",
-		`opened by marseilles. 9 comments. \(tarot\)`,
-		"View this issue on GitHub: https://github.com/OWNER/REPO/issues/123")
 }
 
 func TestIssueView_web_notFound(t *testing.T) {
@@ -659,3 +656,23 @@ func Test_listHeader(t *testing.T) {
 		})
 	}
 }
+
+func TestIssueStateTitleWithColor(t *testing.T) {
+	tests := map[string]struct {
+		state string
+		want  string
+	}{
+		"Open state":   {state: "OPEN", want: "Open"},
+		"Closed state": {state: "CLOSED", want: "Closed"},
+	}
+
+	for name, tc := range tests {
+		t.Run(name, func(t *testing.T) {
+			got := issueStateTitleWithColor(tc.state)
+			diff := cmp.Diff(tc.want, got)
+			if diff != "" {
+				t.Fatalf(diff)
+			}
+		})
+	}
+}
diff --git a/command/pr_test.go b/command/pr_test.go
index 73d58bfb828..2a68781b03c 100644
--- a/command/pr_test.go
+++ b/command/pr_test.go
@@ -11,8 +11,10 @@ import (
 	"strings"
 	"testing"
 
+	"github.com/cli/cli/api"
 	"github.com/cli/cli/internal/run"
 	"github.com/cli/cli/test"
+	"github.com/google/go-cmp/cmp"
 	"github.com/google/shlex"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
@@ -400,82 +402,111 @@ func TestPRList_filteringAssigneeLabels(t *testing.T) {
 	}
 }
 
-func TestPRView_preview(t *testing.T) {
-	initBlankContext("OWNER/REPO", "master")
-	http := initFakeHTTP()
-	http.StubRepoResponse("OWNER", "REPO")
-
-	jsonFile, _ := os.Open("../test/fixtures/prViewPreview.json")
-	defer jsonFile.Close()
-	http.StubResponse(200, jsonFile)
-
-	output, err := RunCommand(prViewCmd, "pr view 12")
-	if err != nil {
-		t.Errorf("error running command `pr view`: %v", err)
-	}
-
-	eq(t, output.Stderr(), "")
-
-	test.ExpectLines(t, output.String(),
-		"Blueberries are from a fork",
-		"nobody wants to merge 12 commits into master from blueberries",
-		"blueberries taste good",
-		"View this pull request on GitHub: https://github.com/OWNER/REPO/pull/12")
-}
-
-func TestPRView_previewCurrentBranch(t *testing.T) {
-	initBlankContext("OWNER/REPO", "blueberries")
-	http := initFakeHTTP()
-	http.StubRepoResponse("OWNER", "REPO")
-
-	jsonFile, _ := os.Open("../test/fixtures/prView.json")
-	defer jsonFile.Close()
-	http.StubResponse(200, jsonFile)
-
-	restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable {
-		return &test.OutputStub{}
-	})
-	defer restoreCmd()
-
-	output, err := RunCommand(prViewCmd, "pr view")
-	if err != nil {
-		t.Errorf("error running command `pr view`: %v", err)
-	}
-
-	eq(t, output.Stderr(), "")
-
-	test.ExpectLines(t, output.String(),
-		"Blueberries are a good fruit",
-		"nobody wants to merge 8 commits into master from blueberries",
-		"blueberries taste good",
-		"View this pull request on GitHub: https://github.com/OWNER/REPO/pull/10")
-}
-
-func TestPRView_previewCurrentBranchWithEmptyBody(t *testing.T) {
-	initBlankContext("OWNER/REPO", "blueberries")
-	http := initFakeHTTP()
-	http.StubRepoResponse("OWNER", "REPO")
-
-	jsonFile, _ := os.Open("../test/fixtures/prView_EmptyBody.json")
-	defer jsonFile.Close()
-	http.StubResponse(200, jsonFile)
+func TestPRView_Preview(t *testing.T) {
+	tests := map[string]struct {
+		ownerRepo       string
+		args            string
+		fixture         string
+		expectedOutputs []string
+	}{
+		"Open PR": {
+			ownerRepo: "master",
+			args:      "pr view 12",
+			fixture:   "../test/fixtures/prViewPreview.json",
+			expectedOutputs: []string{
+				"Blueberries are from a fork",
+				"Open • nobody wants to merge 12 commits into master from blueberries",
+				"blueberries taste good",
+				"View this pull request on GitHub: https://github.com/OWNER/REPO/pull/12",
+			},
+		},
+		"Open PR for the current branch": {
+			ownerRepo: "blueberries",
+			args:      "pr view",
+			fixture:   "../test/fixtures/prView.json",
+			expectedOutputs: []string{
+				"Blueberries are a good fruit",
+				"Open • nobody wants to merge 8 commits into master from blueberries",
+				"blueberries taste good",
+				"View this pull request on GitHub: https://github.com/OWNER/REPO/pull/10",
+			},
+		},
+		"Open PR wth empty body for the current branch": {
+			ownerRepo: "blueberries",
+			args:      "pr view",
+			fixture:   "../test/fixtures/prView_EmptyBody.json",
+			expectedOutputs: []string{
+				"Blueberries are a good fruit",
+				"Open • nobody wants to merge 8 commits into master from blueberries",
+				"View this pull request on GitHub: https://github.com/OWNER/REPO/pull/10",
+			},
+		},
+		"Closed PR": {
+			ownerRepo: "master",
+			args:      "pr view 12",
+			fixture:   "../test/fixtures/prViewPreviewClosedState.json",
+			expectedOutputs: []string{
+				"Blueberries are from a fork",
+				"Closed • nobody wants to merge 12 commits into master from blueberries",
+				"blueberries taste good",
+				"View this pull request on GitHub: https://github.com/OWNER/REPO/pull/12",
+			},
+		},
+		"Merged PR": {
+			ownerRepo: "master",
+			args:      "pr view 12",
+			fixture:   "../test/fixtures/prViewPreviewMergedState.json",
+			expectedOutputs: []string{
+				"Blueberries are from a fork",
+				"Merged • nobody wants to merge 12 commits into master from blueberries",
+				"blueberries taste good",
+				"View this pull request on GitHub: https://github.com/OWNER/REPO/pull/12",
+			},
+		},
+		"Draft PR": {
+			ownerRepo: "master",
+			args:      "pr view 12",
+			fixture:   "../test/fixtures/prViewPreviewDraftState.json",
+			expectedOutputs: []string{
+				"Blueberries are from a fork",
+				"Draft • nobody wants to merge 12 commits into master from blueberries",
+				"blueberries taste good",
+				"View this pull request on GitHub: https://github.com/OWNER/REPO/pull/12",
+			},
+		},
+		"Draft PR by branch": {
+			ownerRepo: "master",
+			args:      "pr view blueberries",
+			fixture:   "../test/fixtures/prViewPreviewDraftStatebyBranch.json",
+			expectedOutputs: []string{
+				"Blueberries are a good fruit",
+				"Draft • nobody wants to merge 8 commits into master from blueberries",
+				"blueberries taste good",
+				"View this pull request on GitHub: https://github.com/OWNER/REPO/pull/10",
+			},
+		},
+	}
+
+	for name, tc := range tests {
+		t.Run(name, func(t *testing.T) {
+			initBlankContext("OWNER/REPO", tc.ownerRepo)
+			http := initFakeHTTP()
+			http.StubRepoResponse("OWNER", "REPO")
+
+			jsonFile, _ := os.Open(tc.fixture)
+			defer jsonFile.Close()
+			http.StubResponse(200, jsonFile)
+
+			output, err := RunCommand(prViewCmd, tc.args)
+			if err != nil {
+				t.Errorf("error running command `%v`: %v", tc.args, err)
+			}
 
-	restoreCmd := run.SetPrepareCmd(func(cmd *exec.Cmd) run.Runnable {
-		return &test.OutputStub{}
-	})
-	defer restoreCmd()
+			eq(t, output.Stderr(), "")
 
-	output, err := RunCommand(prViewCmd, "pr view")
-	if err != nil {
-		t.Errorf("error running command `pr view`: %v", err)
+			test.ExpectLines(t, output.String(), tc.expectedOutputs...)
+		})
 	}
-
-	eq(t, output.Stderr(), "")
-
-	test.ExpectLines(t, output.String(),
-		"Blueberries are a good fruit",
-		"nobody wants to merge 8 commits into master from blueberries",
-		"View this pull request on GitHub: https://github.com/OWNER/REPO/pull/10")
 }
 
 func TestPRView_web_currentBranch(t *testing.T) {
@@ -717,3 +748,25 @@ func TestReplaceExcessiveWhitespace(t *testing.T) {
 	eq(t, replaceExcessiveWhitespace("hello   goodbye"), "hello goodbye")
 	eq(t, replaceExcessiveWhitespace("   hello \n goodbye   "), "hello goodbye")
 }
+
+func TestPrStateTitleWithColor(t *testing.T) {
+	tests := map[string]struct {
+		pr   api.PullRequest
+		want string
+	}{
+		"Format OPEN state":              {pr: api.PullRequest{State: "OPEN", IsDraft: false}, want: "Open"},
+		"Format OPEN state for Draft PR": {pr: api.PullRequest{State: "OPEN", IsDraft: true}, want: "Draft"},
+		"Format CLOSED state":            {pr: api.PullRequest{State: "CLOSED", IsDraft: false}, want: "Closed"},
+		"Format MERGED state":            {pr: api.PullRequest{State: "MERGED", IsDraft: false}, want: "Merged"},
+	}
+
+	for name, tc := range tests {
+		t.Run(name, func(t *testing.T) {
+			got := prStateTitleWithColor(tc.pr)
+			diff := cmp.Diff(tc.want, got)
+			if diff != "" {
+				t.Fatalf(diff)
+			}
+		})
+	}
+}
diff --git a/test/fixtures/issueView_preview.json b/test/fixtures/issueView_preview.json
new file mode 100644
index 00000000000..db971d849e8
--- /dev/null
+++ b/test/fixtures/issueView_preview.json
@@ -0,0 +1,28 @@
+{
+  "data": {
+    "repository": {
+      "hasIssuesEnabled": true,
+      "issue": {
+        "number": 123,
+        "body": "**bold story**",
+        "title": "ix of coins",
+        "state": "OPEN",
+        "created_at": "2011-01-26T19:01:12Z",
+        "author": {
+          "login": "marseilles"
+        },
+        "labels": {
+          "nodes": [
+            {
+              "name": "tarot"
+            }
+          ]
+        },
+        "comments": {
+          "totalCount": 9
+        },
+        "url": "https://github.com/OWNER/REPO/issues/123"
+      }
+    }
+  }
+}
diff --git a/test/fixtures/issueView_previewClosedState.json b/test/fixtures/issueView_previewClosedState.json
new file mode 100644
index 00000000000..97892712526
--- /dev/null
+++ b/test/fixtures/issueView_previewClosedState.json
@@ -0,0 +1,28 @@
+{
+  "data": {
+    "repository": {
+      "hasIssuesEnabled": true,
+      "issue": {
+        "number": 123,
+        "body": "**bold story**",
+        "title": "ix of coins",
+        "state": "CLOSED",
+        "created_at": "2011-01-26T19:01:12Z",
+        "author": {
+          "login": "marseilles"
+        },
+        "labels": {
+          "nodes": [
+            {
+              "name": "tarot"
+            }
+          ]
+        },
+        "comments": {
+          "totalCount": 9
+        },
+        "url": "https://github.com/OWNER/REPO/issues/123"
+      }
+    }
+  }
+}
diff --git a/test/fixtures/issueView_previewNoLabel.json b/test/fixtures/issueView_previewNoLabel.json
new file mode 100644
index 00000000000..1891100eb87
--- /dev/null
+++ b/test/fixtures/issueView_previewNoLabel.json
@@ -0,0 +1,25 @@
+{
+  "data": {
+    "repository": {
+      "hasIssuesEnabled": true,
+      "issue": {
+        "number": 123,
+        "body": "**bold story**",
+        "title": "ix of coins",
+        "state": "OPEN",
+        "created_at": "2011-01-26T19:01:12Z",
+        "author": {
+          "login": "marseilles"
+        },
+        "labels": {
+          "nodes": [
+          ]
+        },
+        "comments": {
+          "totalCount": 9
+        },
+        "url": "https://github.com/OWNER/REPO/issues/123"
+      }
+    }
+  }
+}
diff --git a/test/fixtures/issueView_previewWithEmptyBody.json b/test/fixtures/issueView_previewWithEmptyBody.json
new file mode 100644
index 00000000000..6e87a42b663
--- /dev/null
+++ b/test/fixtures/issueView_previewWithEmptyBody.json
@@ -0,0 +1,28 @@
+{
+  "data": {
+    "repository": {
+      "hasIssuesEnabled": true,
+      "issue": {
+        "number": 123,
+        "body": "",
+        "title": "ix of coins",
+        "state": "OPEN",
+        "created_at": "2011-01-26T19:01:12Z",
+        "author": {
+          "login": "marseilles"
+        },
+        "labels": {
+          "nodes": [
+            {
+              "name": "tarot"
+            }
+          ]
+        },
+        "comments": {
+          "totalCount": 9
+        },
+        "url": "https://github.com/OWNER/REPO/issues/123"
+      }
+    }
+  }
+}
diff --git a/test/fixtures/prStatus.json b/test/fixtures/prStatus.json
index d2996b71c6e..a226663a3c3 100644
--- a/test/fixtures/prStatus.json
+++ b/test/fixtures/prStatus.json
@@ -8,8 +8,10 @@
             "node": {
               "number": 10,
               "title": "Blueberries are a good fruit",
+              "state": "OPEN",
               "url": "https://github.com/cli/cli/pull/10",
               "headRefName": "blueberries",
+              "isDraft": false,
               "headRepositoryOwner": {
                 "login": "OWNER"
               },
@@ -26,8 +28,10 @@
           "node": {
             "number": 8,
             "title": "Strawberries are not actually berries",
+            "state": "OPEN",
             "url": "https://github.com/cli/cli/pull/8",
-            "headRefName": "strawberries"
+            "headRefName": "strawberries",
+            "isDraft": false
           }
         }
       ]
@@ -39,16 +43,18 @@
           "node": {
             "number": 9,
             "title": "Apples are tasty",
+            "state": "OPEN",
             "url": "https://github.com/cli/cli/pull/9",
-            "headRefName": "apples"
-          }
-        },
-        {
+            "headRefName": "apples",
+            "isDraft": false
+          } }, {
           "node": {
             "number": 11,
             "title": "Figs are my favorite",
+            "state": "OPEN",
             "url": "https://github.com/cli/cli/pull/1",
-            "headRefName": "figs"
+            "headRefName": "figs",
+            "isDraft": true
           }
         }
       ]
diff --git a/test/fixtures/prStatusFork.json b/test/fixtures/prStatusFork.json
index df184aaea54..c9a7a5b3a61 100644
--- a/test/fixtures/prStatusFork.json
+++ b/test/fixtures/prStatusFork.json
@@ -8,8 +8,10 @@
             "node": {
               "number": 10,
               "title": "Blueberries are a good fruit",
+              "state": "OPEN",
               "url": "https://github.com/PARENT/REPO/pull/10",
               "headRefName": "blueberries",
+              "isDraft": false,
               "headRepositoryOwner": {
                 "login": "OWNER"
               },
diff --git a/test/fixtures/prView.json b/test/fixtures/prView.json
index 02277d7a50f..826f101009d 100644
--- a/test/fixtures/prView.json
+++ b/test/fixtures/prView.json
@@ -6,6 +6,7 @@
           {
             "number": 12,
             "title": "Blueberries are from a fork",
+            "state": "OPEN",
             "body": "yeah",
             "url": "https://github.com/OWNER/REPO/pull/12",
             "headRefName": "blueberries",
@@ -19,11 +20,13 @@
             "author": {
               "login": "nobody"
             },
-            "isCrossRepository": true
+            "isCrossRepository": true,
+            "isDraft": false
           },
           {
             "number": 10,
             "title": "Blueberries are a good fruit",
+            "state": "OPEN",
             "body": "**blueberries taste good**",
             "url": "https://github.com/OWNER/REPO/pull/10",
             "baseRefName": "master",
@@ -37,7 +40,8 @@
             "commits": {
               "totalCount": 8
             },
-            "isCrossRepository": false
+            "isCrossRepository": false,
+            "isDraft": false
           }
         ]
       }
diff --git a/test/fixtures/prViewPreview.json b/test/fixtures/prViewPreview.json
index e4094677484..379fd253b2f 100644
--- a/test/fixtures/prViewPreview.json
+++ b/test/fixtures/prViewPreview.json
@@ -4,6 +4,7 @@
       "pullRequest": {
         "number": 12,
         "title": "Blueberries are from a fork",
+        "state": "OPEN",
         "body": "**blueberries taste good**",
         "url": "https://github.com/OWNER/REPO/pull/12",
         "author": {
@@ -17,7 +18,8 @@
         "headRepositoryOwner": {
           "login": "hubot"
         },
-        "isCrossRepository": true
+        "isCrossRepository": true,
+        "isDraft": false
       }
     }
   }
diff --git a/test/fixtures/prViewPreviewClosedState.json b/test/fixtures/prViewPreviewClosedState.json
new file mode 100644
index 00000000000..9df2c103801
--- /dev/null
+++ b/test/fixtures/prViewPreviewClosedState.json
@@ -0,0 +1,25 @@
+{
+  "data": {
+    "repository": {
+      "pullRequest": {
+        "number": 12,
+        "title": "Blueberries are from a fork",
+        "state": "CLOSED",
+        "body": "**blueberries taste good**",
+        "url": "https://github.com/OWNER/REPO/pull/12",
+        "author": {
+          "login": "nobody"
+        },
+        "commits": {
+          "totalCount": 12
+        },
+        "baseRefName": "master",
+        "headRefName": "blueberries",
+        "headRepositoryOwner": {
+          "login": "hubot"
+        },
+        "isCrossRepository": true
+      }
+    }
+  }
+}
diff --git a/test/fixtures/prViewPreviewDraftState.json b/test/fixtures/prViewPreviewDraftState.json
new file mode 100644
index 00000000000..69ab57b1130
--- /dev/null
+++ b/test/fixtures/prViewPreviewDraftState.json
@@ -0,0 +1,26 @@
+{
+  "data": {
+    "repository": {
+      "pullRequest": {
+        "number": 12,
+        "title": "Blueberries are from a fork",
+        "state": "OPEN",
+        "body": "**blueberries taste good**",
+        "url": "https://github.com/OWNER/REPO/pull/12",
+        "author": {
+          "login": "nobody"
+        },
+        "commits": {
+          "totalCount": 12
+        },
+        "baseRefName": "master",
+        "headRefName": "blueberries",
+        "headRepositoryOwner": {
+          "login": "hubot"
+        },
+        "isCrossRepository": true,
+        "isDraft": true
+      }
+    }
+  }
+}
diff --git a/test/fixtures/prViewPreviewDraftStatebyBranch.json b/test/fixtures/prViewPreviewDraftStatebyBranch.json
new file mode 100644
index 00000000000..c9d0eef59b5
--- /dev/null
+++ b/test/fixtures/prViewPreviewDraftStatebyBranch.json
@@ -0,0 +1,50 @@
+{
+  "data": {
+    "repository": {
+      "pullRequests": {
+        "nodes": [
+          {
+            "number": 12,
+            "title": "Blueberries are from a fork",
+            "state": "OPEN",
+            "body": "yeah",
+            "url": "https://github.com/OWNER/REPO/pull/12",
+            "headRefName": "blueberries",
+            "baseRefName": "master",
+            "headRepositoryOwner": {
+              "login": "hubot"
+            },
+            "commits": {
+              "totalCount": 12
+            },
+            "author": {
+              "login": "nobody"
+            },
+            "isCrossRepository": true,
+            "isDraft": false
+          },
+          {
+            "number": 10,
+            "title": "Blueberries are a good fruit",
+            "state": "OPEN",
+            "body": "**blueberries taste good**",
+            "url": "https://github.com/OWNER/REPO/pull/10",
+            "baseRefName": "master",
+            "headRefName": "blueberries",
+            "author": {
+              "login": "nobody"
+            },
+            "headRepositoryOwner": {
+              "login": "OWNER"
+            },
+            "commits": {
+              "totalCount": 8
+            },
+            "isCrossRepository": false,
+            "isDraft": true
+          }
+        ]
+      }
+    }
+  }
+}
diff --git a/test/fixtures/prViewPreviewMergedState.json b/test/fixtures/prViewPreviewMergedState.json
new file mode 100644
index 00000000000..d62449092c5
--- /dev/null
+++ b/test/fixtures/prViewPreviewMergedState.json
@@ -0,0 +1,25 @@
+{
+  "data": {
+    "repository": {
+      "pullRequest": {
+        "number": 12,
+        "title": "Blueberries are from a fork",
+        "state": "MERGED",
+        "body": "**blueberries taste good**",
+        "url": "https://github.com/OWNER/REPO/pull/12",
+        "author": {
+          "login": "nobody"
+        },
+        "commits": {
+          "totalCount": 12
+        },
+        "baseRefName": "master",
+        "headRefName": "blueberries",
+        "headRepositoryOwner": {
+          "login": "hubot"
+        },
+        "isCrossRepository": true
+      }
+    }
+  }
+}
diff --git a/test/fixtures/prView_EmptyBody.json b/test/fixtures/prView_EmptyBody.json
index 651f49ce095..36fdc308bc3 100644
--- a/test/fixtures/prView_EmptyBody.json
+++ b/test/fixtures/prView_EmptyBody.json
@@ -6,6 +6,7 @@
           {
             "number": 12,
             "title": "Blueberries are from a fork",
+            "state": "OPEN",
             "body": "yeah",
             "url": "https://github.com/OWNER/REPO/pull/12",
             "headRefName": "blueberries",
@@ -24,6 +25,7 @@
           {
             "number": 10,
             "title": "Blueberries are a good fruit",
+            "state": "OPEN",
             "body": "",
             "url": "https://github.com/OWNER/REPO/pull/10",
             "baseRefName": "master",

{"TestIssueCreate_webTitleBody": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_defaults_error_autofill": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_in_parent_yes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_Preview/Closed_PR": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestPrStateTitleWithColor/Format_MERGED_state": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestIssueStateTitleWithColor/Open_state": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestIssueView_Preview/Open_issue": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestCompletion_fish": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestReplaceExcessiveWhitespace": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_web_currentBranch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_outside_survey_no": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRStatus_reviewsAndChecks": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "Test_determineTrackingBranch_noMatch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueView_Preview/Closed_issue": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestRepoClone": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestChangelogURL": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_web_numberArgWithHash": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "Test_listHeader/one_result_after_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_survey_autofill": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_web_branchWithOwnerArg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "Test_determineTrackingBranch_respectTrackingConfig": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRStatus_blankSlate": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestCompletion_bash": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoCreate_org": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_survey_defaults_multicommit": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueView_web_numberArgWithHash": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "Test_listHeader": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_Preview": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestIssueView_web": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "Test_determineTrackingBranch_empty": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestCompletion_zsh": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_defaults_error_interactive": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoView_web_ownerRepo": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueStateTitleWithColor/Closed_state": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestPrStateTitleWithColor/Format_OPEN_state_for_Draft_PR": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestRepoCreate": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_outside_yes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueStatus": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_urlArg_differentBase": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRList_filteringClosed": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_sameRepo": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_outside/url_arg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueList_disabledIssues": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_alreadyExistsDifferentBase": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRList_filteringAssigneeLabels": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueList_withFlags": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_reuseRemote": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoCreate_orgWithTeam": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_Preview/Draft_PR_by_branch": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestIssueView_Preview": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestIssueView_disabledIssues": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoView_web_fullURL": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_Preview/Open_PR_wth_empty_body_for_the_current_branch": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "Test_listHeader/one_result_in_total": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoClone/HTTPS_URL": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoView_web": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_web": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "Test_determineTrackingBranch_hasMatch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPrStateTitleWithColor": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_branchArg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_differentRepo": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "Test_listHeader/multiple_results": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoClone_hasParent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRList_filtering": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_web_urlArg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_withForking": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_web_numberArg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_outside/full_name_arg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRList_filteringRemoveDuplicate": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_differentRepo_existingBranch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_already_forked": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_alreadyExists": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoClone/clone_arguments": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueStatus_disabledIssues": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPrStateTitleWithColor/Format_OPEN_state": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestPRView_Preview/Open_PR": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestIssueCreate": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_Preview/Draft_PR": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "Test_listHeader/one_result_in_total_after_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestCompletion_powerShell": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueView_Preview/Open_issue_with_no_label": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestIssueView_web_urlArg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoClone/shorthand": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRStatus_fork": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_Preview/Open_PR_for_the_current_branch": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestPRView_web_noResultsForBranch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_in_parent_survey_yes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoView": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRList": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_Preview/Merged_PR": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "Test_listHeader/no_results": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "Test_listHeader/no_matches_after_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoView_blanks": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_differentRepo_remoteExists": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_ReportsUncommittedChanges": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_urlArg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_defaults_error_web": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRStatus_currentBranch_Closed": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoView_nonmarkdown_readme": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueCreate_web": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueView_Preview/Open_issue_with_empty_body": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestPRView_web_branchArg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_existingBranch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueCreate_disabledIssues": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestCompletion_unsupported": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueStateTitleWithColor": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestPRCreate_survey_defaults_monocommit": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRList_filteringAssignee": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_differentRepo_currentBranch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "Test_listHeader/multiple_results_after_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_maintainerCanModify": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPrStateTitleWithColor/Format_CLOSED_state": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "Test_listHeader/one_result": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRStatus": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_outside": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_in_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRStatus_currentBranch_showTheMostRecentPR": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_in_parent_survey_no": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoClone/SSH_URL": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueView_web_notFound": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_cross_repo_same_branch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRStatus_currentBranch_Merged": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueStatus_blankSlate": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueList_nullAssigneeLabels": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_outside_survey_yes": {"run": "PASS", "test": "NONE", "fix": "PASS"}}
{"TestExtractName/Incomplete_front-matter": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPullRequest_ChecksStatus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_repoFromURL/unsupported_hostname": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFind/Multiple_templates": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFind": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCheckForUpdate": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGraphQL": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_RepoCreate": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTruncate": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTruncate/Japanese": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestExtractName/No_front-matter": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_printError/Cobra_flag_error": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestForOS": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_repoFromURL/filesystem_path": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_ttyTablePrinter_truncate": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_printError/DNS_error": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFind/Template_in_docs": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestExtractContents": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFind/Template_in_.github_takes_precedence": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_printError/generic_error": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestExtractContents/Has_front-matter": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCheckForUpdate/latest_is_current": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCheckForUpdate/current_is_prerelease": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_repoFromURL/github.com_URL": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTruncate/Korean_filled": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGraphQLError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFind/Empty_multiple_templates_directory": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestExtractName": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestForOS/Windows": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFuzzyAgo": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTruncate/Chinese_filled": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTruncate/Korean": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestExtractName/Complete_front-matter": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFind/Template_in_root": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestExtractContents/No_front-matter": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCheckForUpdate/latest_is_older": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueList": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTruncate/Japanese_filled": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_printError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_printError/unknown_Cobra_command_error": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestForOS/macOS": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestForOS/Linux": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_repoFromURL": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_repoFromURL/www.github.com_URL": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCheckForUpdate/latest_is_newer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTruncate/Chinese": {"run": "PASS", "test": "PASS", "fix": "PASS"}}
{"TestIssueCreate_webTitleBody": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_defaults_error_autofill": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_in_parent_yes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_Preview/Closed_PR": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestPrStateTitleWithColor/Format_MERGED_state": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestIssueStateTitleWithColor/Open_state": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestIssueView_Preview/Open_issue": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestCompletion_fish": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestReplaceExcessiveWhitespace": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_web_currentBranch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_outside_survey_no": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRStatus_reviewsAndChecks": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "Test_determineTrackingBranch_noMatch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueView_Preview/Closed_issue": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestRepoClone": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestChangelogURL": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_web_numberArgWithHash": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "Test_listHeader/one_result_after_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_survey_autofill": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_web_branchWithOwnerArg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "Test_determineTrackingBranch_respectTrackingConfig": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRStatus_blankSlate": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestCompletion_bash": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoCreate_org": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_survey_defaults_multicommit": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueView_web_numberArgWithHash": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "Test_listHeader": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_Preview": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestIssueView_web": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "Test_determineTrackingBranch_empty": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestCompletion_zsh": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_defaults_error_interactive": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoView_web_ownerRepo": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueStateTitleWithColor/Closed_state": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestPrStateTitleWithColor/Format_OPEN_state_for_Draft_PR": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestRepoCreate": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_outside_yes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueStatus": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_urlArg_differentBase": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRList_filteringClosed": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_sameRepo": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_outside/url_arg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueList_disabledIssues": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_alreadyExistsDifferentBase": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRList_filteringAssigneeLabels": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueList_withFlags": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_reuseRemote": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoCreate_orgWithTeam": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_Preview/Draft_PR_by_branch": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestIssueView_Preview": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestIssueView_disabledIssues": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoView_web_fullURL": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_Preview/Open_PR_wth_empty_body_for_the_current_branch": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "Test_listHeader/one_result_in_total": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoClone/HTTPS_URL": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoView_web": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_web": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "Test_determineTrackingBranch_hasMatch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPrStateTitleWithColor": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_branchArg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_differentRepo": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "Test_listHeader/multiple_results": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoClone_hasParent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRList_filtering": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_web_urlArg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_withForking": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_web_numberArg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_outside/full_name_arg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRList_filteringRemoveDuplicate": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_differentRepo_existingBranch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_already_forked": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_alreadyExists": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoClone/clone_arguments": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueStatus_disabledIssues": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPrStateTitleWithColor/Format_OPEN_state": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestPRView_Preview/Open_PR": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestIssueCreate": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_Preview/Draft_PR": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "Test_listHeader/one_result_in_total_after_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestCompletion_powerShell": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueView_Preview/Open_issue_with_no_label": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestIssueView_web_urlArg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoClone/shorthand": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRStatus_fork": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_Preview/Open_PR_for_the_current_branch": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestPRView_web_noResultsForBranch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_in_parent_survey_yes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoView": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRList": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRView_Preview/Merged_PR": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "Test_listHeader/no_results": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "Test_listHeader/no_matches_after_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoView_blanks": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_differentRepo_remoteExists": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_ReportsUncommittedChanges": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_urlArg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_defaults_error_web": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRStatus_currentBranch_Closed": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoView_nonmarkdown_readme": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueCreate_web": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueView_Preview/Open_issue_with_empty_body": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestPRView_web_branchArg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_existingBranch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueCreate_disabledIssues": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestCompletion_unsupported": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueStateTitleWithColor": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestPRCreate_survey_defaults_monocommit": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRList_filteringAssignee": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_differentRepo_currentBranch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "Test_listHeader/multiple_results_after_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCheckout_maintainerCanModify": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPrStateTitleWithColor/Format_CLOSED_state": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "Test_listHeader/one_result": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRStatus": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_outside": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_in_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRStatus_currentBranch_showTheMostRecentPR": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_in_parent_survey_no": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoClone/SSH_URL": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueView_web_notFound": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRCreate_cross_repo_same_branch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPRStatus_currentBranch_Merged": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueStatus_blankSlate": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestIssueList_nullAssigneeLabels": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestRepoFork_outside_survey_yes": {"run": "PASS", "test": "NONE", "fix": "PASS"}}
{"passed_count": 156, "failed_count": 2, "skipped_count": 0, "passed_tests": ["TestExtractName/Incomplete_front-matter", "TestPullRequest_ChecksStatus", "TestIssueCreate_webTitleBody", "TestPRCreate_defaults_error_autofill", "TestRepoFork_in_parent_yes", "TestCompletion_fish", "TestReplaceExcessiveWhitespace", "TestPRView_web_currentBranch", "Test_repoFromURL/unsupported_hostname", "TestFind/Multiple_templates", "TestFind", "TestRepoFork_outside_survey_no", "TestPRStatus_reviewsAndChecks", "Test_determineTrackingBranch_noMatch", "TestRepoClone", "TestChangelogURL", "TestPRView_web_numberArgWithHash", "TestCheckForUpdate", "Test_listHeader/one_result_after_filters", "TestPRCreate_survey_autofill", "TestPRView_web_branchWithOwnerArg", "TestPRView_previewCurrentBranch", "Test_determineTrackingBranch_respectTrackingConfig", "TestGraphQL", "Test_RepoCreate", "TestPRStatus_blankSlate", "TestTruncate", "TestTruncate/Japanese", "TestCompletion_bash", "TestExtractName/No_front-matter", "TestRepoCreate_org", "TestPRCreate_survey_defaults_multicommit", "TestIssueView_web_numberArgWithHash", "Test_listHeader", "Test_printError/Cobra_flag_error", "TestIssueView_web", "Test_determineTrackingBranch_empty", "TestCompletion_zsh", "TestPRCreate_defaults_error_interactive", "TestForOS", "Test_repoFromURL/filesystem_path", "TestRepoView_web_ownerRepo", "TestRepoCreate", "TestRepoFork_outside_yes", "Test_ttyTablePrinter_truncate", "Test_printError/DNS_error", "TestIssueStatus", "TestFind/Template_in_docs", "TestExtractContents", "TestFind/Template_in_.github_takes_precedence", "Test_printError/generic_error", "TestPRCheckout_urlArg_differentBase", "TestPRList_filteringClosed", "TestPRCheckout_sameRepo", "TestRepoFork_outside/url_arg", "TestIssueList_disabledIssues", "TestPRCreate_alreadyExistsDifferentBase", "TestPRList_filteringAssigneeLabels", "TestExtractContents/Has_front-matter", "TestIssueList_withFlags", "TestPRView_previewCurrentBranchWithEmptyBody", "TestRepoFork_reuseRemote", "TestRepoCreate_orgWithTeam", "TestPRView_preview", "TestIssueView_disabledIssues", "TestRepoView_web_fullURL", "Test_listHeader/one_result_in_total", "TestRepoClone/HTTPS_URL", "TestCheckForUpdate/latest_is_current", "TestRepoView_web", "TestPRCreate_web", "Test_determineTrackingBranch_hasMatch", "TestPRCheckout_branchArg", "TestIssueView_WithEmptyBody", "TestPRCheckout_differentRepo", "Test_listHeader/multiple_results", "TestRepoClone_hasParent", "TestPRList_filtering", "TestPRView_web_urlArg", "TestPRCreate_withForking", "TestPRView_web_numberArg", "TestRepoFork_outside/full_name_arg", "TestPRList_filteringRemoveDuplicate", "TestPRCheckout_differentRepo_existingBranch", "TestRepoFork_already_forked", "TestPRCreate_alreadyExists", "TestCheckForUpdate/current_is_prerelease", "TestRepoClone/clone_arguments", "Test_repoFromURL/github.com_URL", "TestIssueStatus_disabledIssues", "TestIssueCreate", "TestIssueView", "TestTruncate/Korean_filled", "TestGraphQLError", "Test_listHeader/one_result_in_total_after_filters", "TestCompletion_powerShell", "TestFind/Empty_multiple_templates_directory", "TestExtractName", "TestForOS/Windows", "TestIssueView_web_urlArg", "TestFuzzyAgo", "TestRepoClone/shorthand", "TestPRView_web_noResultsForBranch", "TestTruncate/Chinese_filled", "TestTruncate/Korean", "TestRepoFork_in_parent_survey_yes", "TestRepoView", "TestPRList", "Test_listHeader/no_results", "Test_listHeader/no_matches_after_filters", "TestRepoView_blanks", "TestPRCheckout_differentRepo_remoteExists", "TestPRCreate_ReportsUncommittedChanges", "TestExtractName/Complete_front-matter", "TestPRCheckout_urlArg", "TestPRCreate_defaults_error_web", "TestPRStatus_currentBranch_Closed", "TestRepoView_nonmarkdown_readme", "TestIssueCreate_web", "TestPRView_web_branchArg", "TestPRCheckout_existingBranch", "TestIssueCreate_disabledIssues", "TestFind/Template_in_root", "TestCompletion_unsupported", "TestPRCreate", "TestPRCreate_survey_defaults_monocommit", "TestPRList_filteringAssignee", "TestExtractContents/No_front-matter", "TestPRCheckout_differentRepo_currentBranch", "TestCheckForUpdate/latest_is_older", "Test_listHeader/multiple_results_after_filters", "TestIssueList", "TestPRCheckout_maintainerCanModify", "TestCheckForUpdate/latest_is_newer", "TestTruncate/Japanese_filled", "Test_printError", "Test_listHeader/one_result", "TestPRStatus", "Test_printError/unknown_Cobra_command_error", "TestRepoFork_outside", "TestForOS/macOS", "TestRepoFork_in_parent", "TestForOS/Linux", "TestPRStatus_currentBranch_showTheMostRecentPR", "TestRepoFork_in_parent_survey_no", "TestRepoClone/SSH_URL", "TestIssueView_web_notFound", "TestPRCreate_cross_repo_same_branch", "Test_repoFromURL", "TestPRStatus_currentBranch_Merged", "TestIssueStatus_blankSlate", "TestIssueList_nullAssigneeLabels", "Test_repoFromURL/www.github.com_URL", "TestPRStatus_fork", "TestTruncate/Chinese", "TestRepoFork_outside_survey_yes"], "failed_tests": ["github.com/cli/cli/context", "github.com/cli/cli/git"], "skipped_tests": []}
{"passed_count": 46, "failed_count": 3, "skipped_count": 0, "passed_tests": ["TestExtractName/Incomplete_front-matter", "TestPullRequest_ChecksStatus", "Test_ttyTablePrinter_truncate", "Test_printError/DNS_error", "TestFind/Template_in_docs", "TestCheckForUpdate/current_is_prerelease", "Test_repoFromURL/unsupported_hostname", "TestFind/Multiple_templates", "TestExtractContents", "TestFind", "Test_printError/generic_error", "TestFind/Template_in_.github_takes_precedence", "Test_repoFromURL/github.com_URL", "TestFind/Template_in_root", "TestCheckForUpdate", "TestExtractContents/Has_front-matter", "TestGraphQLError", "TestExtractContents/No_front-matter", "TestTruncate/Korean_filled", "TestCheckForUpdate/latest_is_older", "TestIssueList", "TestFind/Empty_multiple_templates_directory", "TestExtractName", "TestGraphQL", "Test_RepoCreate", "TestTruncate", "TestCheckForUpdate/latest_is_current", "TestForOS/Windows", "TestTruncate/Japanese", "TestTruncate/Japanese_filled", "Test_printError", "TestFuzzyAgo", "TestTruncate/Chinese_filled", "Test_printError/unknown_Cobra_command_error", "TestTruncate/Korean", "TestExtractName/No_front-matter", "TestForOS/macOS", "TestForOS/Linux", "Test_repoFromURL", "Test_printError/Cobra_flag_error", "TestForOS", "Test_repoFromURL/www.github.com_URL", "TestCheckForUpdate/latest_is_newer", "TestTruncate/Chinese", "Test_repoFromURL/filesystem_path", "TestExtractName/Complete_front-matter"], "failed_tests": ["github.com/cli/cli/context", "github.com/cli/cli/git", "github.com/cli/cli/command"], "skipped_tests": []}
{"passed_count": 172, "failed_count": 2, "skipped_count": 0, "passed_tests": ["TestPRView_Preview/Closed_PR", "TestPullRequest_ChecksStatus", "TestIssueCreate_webTitleBody", "TestPRCreate_defaults_error_autofill", "TestRepoFork_in_parent_yes", "TestPrStateTitleWithColor/Format_MERGED_state", "TestExtractName/Incomplete_front-matter", "TestIssueStateTitleWithColor/Open_state", "TestIssueView_Preview/Open_issue", "TestCompletion_fish", "TestReplaceExcessiveWhitespace", "TestPRView_web_currentBranch", "Test_repoFromURL/unsupported_hostname", "TestFind/Multiple_templates", "TestFind", "TestRepoFork_outside_survey_no", "TestIssueView_Preview/Closed_issue", "Test_determineTrackingBranch_noMatch", "TestPRStatus_reviewsAndChecks", "TestRepoClone", "TestChangelogURL", "TestPRView_web_numberArgWithHash", "TestCheckForUpdate", "Test_listHeader/one_result_after_filters", "TestPRCreate_survey_autofill", "TestPRView_web_branchWithOwnerArg", "Test_determineTrackingBranch_respectTrackingConfig", "TestGraphQL", "Test_RepoCreate", "TestPRStatus_blankSlate", "TestTruncate", "TestTruncate/Japanese", "TestCompletion_bash", "TestExtractName/No_front-matter", "TestRepoCreate_org", "TestPRCreate_survey_defaults_multicommit", "TestIssueView_web_numberArgWithHash", "Test_listHeader", "Test_printError/Cobra_flag_error", "TestPRView_Preview", "TestIssueView_web", "Test_determineTrackingBranch_empty", "TestCompletion_zsh", "TestPRCreate_defaults_error_interactive", "TestForOS", "Test_repoFromURL/filesystem_path", "TestIssueStateTitleWithColor/Closed_state", "TestRepoView_web_ownerRepo", "TestPrStateTitleWithColor/Format_OPEN_state_for_Draft_PR", "TestRepoCreate", "TestRepoFork_outside_yes", "Test_ttyTablePrinter_truncate", "Test_printError/DNS_error", "TestIssueStatus", "TestFind/Template_in_docs", "TestExtractContents", "TestFind/Template_in_.github_takes_precedence", "Test_printError/generic_error", "TestPRCheckout_urlArg_differentBase", "TestPRList_filteringClosed", "TestPRCheckout_sameRepo", "TestRepoFork_outside/url_arg", "TestIssueList_disabledIssues", "TestPRCreate_alreadyExistsDifferentBase", "TestPRList_filteringAssigneeLabels", "TestExtractContents/Has_front-matter", "TestIssueList_withFlags", "TestRepoFork_reuseRemote", "TestRepoCreate_orgWithTeam", "TestPRView_Preview/Draft_PR_by_branch", "TestIssueView_Preview", "TestIssueView_disabledIssues", "TestRepoView_web_fullURL", "TestPRView_Preview/Open_PR_wth_empty_body_for_the_current_branch", "Test_listHeader/one_result_in_total", "TestRepoClone/HTTPS_URL", "TestCheckForUpdate/latest_is_current", "TestRepoView_web", "TestPRCreate_web", "Test_determineTrackingBranch_hasMatch", "TestPrStateTitleWithColor", "TestPRCheckout_branchArg", "TestPRCheckout_differentRepo", "Test_listHeader/multiple_results", "TestRepoClone_hasParent", "TestPRList_filtering", "TestPRView_web_urlArg", "TestPRCreate_withForking", "TestPRView_web_numberArg", "TestRepoFork_outside/full_name_arg", "TestPRList_filteringRemoveDuplicate", "TestPRCheckout_differentRepo_existingBranch", "TestRepoFork_already_forked", "TestPRCreate_alreadyExists", "TestCheckForUpdate/current_is_prerelease", "TestRepoClone/clone_arguments", "Test_repoFromURL/github.com_URL", "TestIssueStatus_disabledIssues", "TestPrStateTitleWithColor/Format_OPEN_state", "TestPRView_Preview/Open_PR", "TestIssueCreate", "TestPRView_Preview/Draft_PR", "TestTruncate/Korean_filled", "TestGraphQLError", "Test_listHeader/one_result_in_total_after_filters", "TestCompletion_powerShell", "TestFind/Empty_multiple_templates_directory", "TestExtractName", "TestForOS/Windows", "TestIssueView_Preview/Open_issue_with_no_label", "TestIssueView_web_urlArg", "TestFuzzyAgo", "TestRepoClone/shorthand", "TestPRView_Preview/Open_PR_for_the_current_branch", "TestPRView_web_noResultsForBranch", "TestTruncate/Chinese_filled", "TestTruncate/Korean", "TestRepoFork_in_parent_survey_yes", "TestRepoView", "TestPRList", "TestPRView_Preview/Merged_PR", "Test_listHeader/no_results", "Test_listHeader/no_matches_after_filters", "TestRepoView_blanks", "TestPRCheckout_differentRepo_remoteExists", "TestPRCreate_ReportsUncommittedChanges", "TestExtractName/Complete_front-matter", "TestPRCheckout_urlArg", "TestPRCreate_defaults_error_web", "TestPRStatus_currentBranch_Closed", "TestRepoView_nonmarkdown_readme", "TestIssueCreate_web", "TestIssueView_Preview/Open_issue_with_empty_body", "TestPRView_web_branchArg", "TestPRCheckout_existingBranch", "TestIssueCreate_disabledIssues", "TestFind/Template_in_root", "TestCompletion_unsupported", "TestPRCreate", "TestIssueStateTitleWithColor", "TestPRCreate_survey_defaults_monocommit", "TestPRList_filteringAssignee", "TestExtractContents/No_front-matter", "TestPRCheckout_differentRepo_currentBranch", "TestCheckForUpdate/latest_is_older", "Test_listHeader/multiple_results_after_filters", "TestIssueList", "TestPRCheckout_maintainerCanModify", "TestPrStateTitleWithColor/Format_CLOSED_state", "TestCheckForUpdate/latest_is_newer", "TestTruncate/Japanese_filled", "Test_printError", "Test_listHeader/one_result", "TestPRStatus", "Test_printError/unknown_Cobra_command_error", "TestRepoFork_outside", "TestForOS/macOS", "TestRepoFork_in_parent", "TestForOS/Linux", "TestPRStatus_currentBranch_showTheMostRecentPR", "TestRepoFork_in_parent_survey_no", "TestRepoClone/SSH_URL", "TestIssueView_web_notFound", "TestPRCreate_cross_repo_same_branch", "Test_repoFromURL", "TestPRStatus_currentBranch_Merged", "TestIssueStatus_blankSlate", "TestIssueList_nullAssigneeLabels", "Test_repoFromURL/www.github.com_URL", "TestPRStatus_fork", "TestTruncate/Chinese", "TestRepoFork_outside_survey_yes"], "failed_tests": ["github.com/cli/cli/context", "github.com/cli/cli/git"], "skipped_tests": []}