Skip to content
This repository has been archived by the owner on Dec 15, 2022. It is now read-only.

Commit

Permalink
Merge a64dc28 into cffd0cb
Browse files Browse the repository at this point in the history
  • Loading branch information
smashwilson committed Jul 20, 2018
2 parents cffd0cb + a64dc28 commit 4e05205
Show file tree
Hide file tree
Showing 8 changed files with 33 additions and 32 deletions.
4 changes: 2 additions & 2 deletions lib/controllers/issueish-searches-controller.js
Expand Up @@ -7,7 +7,7 @@ import {RemotePropType, RemoteSetPropType, BranchSetPropType, OperationStateObse
import Search from '../models/search';
import IssueishSearchContainer from '../containers/issueish-search-container';
import CurrentPullRequestContainer from '../containers/current-pull-request-container';
import IssueishPaneItem from '../items/issueish-pane-item';
import IssueishDetailItem from '../items/issueish-detail-item';

export default class IssueishSearchesController extends React.Component {
static propTypes = {
Expand Down Expand Up @@ -85,7 +85,7 @@ export default class IssueishSearchesController extends React.Component {

onOpenIssueish(issueish) {
return this.props.workspace.open(
IssueishPaneItem.buildURI(
IssueishDetailItem.buildURI(
this.props.host,
this.props.remote.getOwner(),
this.props.remote.getRepo(),
Expand Down
8 changes: 4 additions & 4 deletions lib/controllers/root-controller.js
Expand Up @@ -15,7 +15,7 @@ import CredentialDialog from '../views/credential-dialog';
import Commands, {Command} from '../atom/commands';
import GitTimingsView from '../views/git-timings-view';
import FilePatchController from './file-patch-controller';
import IssueishPaneItem from '../items/issueish-pane-item';
import IssueishDetailItem from '../items/issueish-detail-item';
import GitTabItem from '../items/git-tab-item';
import GitHubTabItem from '../items/github-tab-item';
import StatusBarTileController from './status-bar-tile-controller';
Expand Down Expand Up @@ -325,9 +325,9 @@ export default class RootController extends React.Component {
/>
)}
</PaneItem>
<PaneItem workspace={this.props.workspace} uriPattern={IssueishPaneItem.uriPattern}>
<PaneItem workspace={this.props.workspace} uriPattern={IssueishDetailItem.uriPattern}>
{({itemHolder, params}) => (
<IssueishPaneItem
<IssueishDetailItem
ref={itemHolder.setter}

host={params.host}
Expand Down Expand Up @@ -465,7 +465,7 @@ export default class RootController extends React.Component {
}

acceptOpenIssueish({repoOwner, repoName, issueishNumber}) {
const uri = IssueishPaneItem.buildURI('https://api.github.com', repoOwner, repoName, issueishNumber);
const uri = IssueishDetailItem.buildURI('https://api.github.com', repoOwner, repoName, issueishNumber);
this.setState({openIssueishDialogActive: false});
this.props.workspace.open(uri);
}
Expand Down
2 changes: 1 addition & 1 deletion lib/github-package.js
Expand Up @@ -326,7 +326,7 @@ export default class GithubPackage {
}

createIssueishPaneItemStub({uri}) {
return StubItem.create('issueish-pane-item', {
return StubItem.create('issueish-detail-item', {
title: 'Issueish',
}, uri);
}
Expand Down
Expand Up @@ -7,7 +7,7 @@ import {GithubLoginModelPropType, WorkdirContextPoolPropType} from '../prop-type
import Repository from '../models/repository';
import IssueishDetailContainer from '../containers/issueish-detail-container';

export default class IssueishPaneItem extends Component {
export default class IssueishDetailItem extends Component {
static propTypes = {
host: PropTypes.string.isRequired,
owner: PropTypes.string.isRequired,
Expand Down Expand Up @@ -140,7 +140,7 @@ export default class IssueishPaneItem extends Component {
serialize() {
return {
uri: this.getURI(),
deserializer: 'IssueishPaneItem',
deserializer: 'IssueishDetailItem',
};
}

Expand Down
6 changes: 3 additions & 3 deletions lib/views/issueish-link.js
Expand Up @@ -4,7 +4,7 @@ import {shell} from 'electron';
import React from 'react';
import PropTypes from 'prop-types';

import IssueishPaneItem from '../items/issueish-pane-item';
import IssueishDetailItem from '../items/issueish-detail-item';

// eslint-disable-next-line no-shadow
export default function IssueishLink({url, children, ...others}) {
Expand Down Expand Up @@ -59,15 +59,15 @@ function getUriForData({hostname, repoOwner, repoName, type, issueishNumber}) {
if (hostname !== 'github.com' || !['pull', 'issues'].includes(type) || !issueishNumber || isNaN(issueishNumber)) {
return null;
} else {
return IssueishPaneItem.buildURI('https://api.github.com', repoOwner, repoName, issueishNumber);
return IssueishDetailItem.buildURI('https://api.github.com', repoOwner, repoName, issueishNumber);
}
}

function openInNewTab(uri, {activate} = {activate: true}) {
if (activate) {
atom.workspace.open(uri, {activateItem: activate});
} else {
const item = IssueishPaneItem.opener(uri);
const item = IssueishDetailItem.opener(uri);
atom.workspace.getActivePane().addItem(item);
}
}
1 change: 1 addition & 0 deletions package.json
Expand Up @@ -173,6 +173,7 @@
},
"deserializers": {
"GitTimingsView": "createGitTimingsView",
"IssueishDetailItem": "createIssueishPaneItemStub",
"IssueishPaneItem": "createIssueishPaneItemStub",
"GitDockItem": "createDockItemStub",
"GithubDockItem": "createDockItemStub",
Expand Down
8 changes: 4 additions & 4 deletions test/controllers/root-controller.test.js
Expand Up @@ -14,7 +14,7 @@ import {InMemoryStrategy} from '../../lib/shared/keytar-strategy';
import GitTabItem from '../../lib/items/git-tab-item';
import GitHubTabItem from '../../lib/items/github-tab-item';
import ResolutionProgress from '../../lib/models/conflicts/resolution-progress';
import IssueishPaneItem from '../../lib/items/issueish-pane-item';
import IssueishDetailItem from '../../lib/items/issueish-detail-item';
import * as reporterProxy from '../../lib/reporter-proxy';

import RootController from '../../lib/controllers/root-controller';
Expand Down Expand Up @@ -1063,14 +1063,14 @@ describe('RootController', function() {
});
});

describe('opening an IssueishPaneItem', function() {
describe('opening an IssueishDetailItem', function() {
it('registers an opener for IssueishPaneItems', async function() {
const uri = IssueishPaneItem.buildURI('https://api.github.com', 'owner', 'repo', 123, __dirname);
const uri = IssueishDetailItem.buildURI('https://api.github.com', 'owner', 'repo', 123, __dirname);
const wrapper = mount(app);

const item = await atomEnv.workspace.open(uri);
assert.strictEqual(item.getTitle(), 'owner/repo#123');
assert.lengthOf(wrapper.update().find('IssueishPaneItem'), 1);
assert.lengthOf(wrapper.update().find('IssueishDetailItem'), 1);
});
});
});
Expand Up @@ -3,12 +3,12 @@ import {mount} from 'enzyme';
import {CompositeDisposable} from 'event-kit';

import {cloneRepository, deferSetState} from '../helpers';
import IssueishPaneItem from '../../lib/items/issueish-pane-item';
import IssueishDetailItem from '../../lib/items/issueish-detail-item';
import PaneItem from '../../lib/atom/pane-item';
import WorkdirContextPool from '../../lib/models/workdir-context-pool';
import {issueishPaneItemProps} from '../fixtures/props/issueish-pane-props';

describe('IssueishPaneItem', function() {
describe('IssueishDetailItem', function() {
let atomEnv, subs;

beforeEach(function() {
Expand All @@ -25,9 +25,9 @@ describe('IssueishPaneItem', function() {
const props = issueishPaneItemProps(overrideProps);

return (
<PaneItem workspace={atomEnv.workspace} uriPattern={IssueishPaneItem.uriPattern}>
<PaneItem workspace={atomEnv.workspace} uriPattern={IssueishDetailItem.uriPattern}>
{({itemHolder, params}) => (
<IssueishPaneItem
<IssueishDetailItem
ref={itemHolder.setter}
{...params}
issueishNumber={parseInt(params.issueishNumber, 10)}
Expand All @@ -41,10 +41,10 @@ describe('IssueishPaneItem', function() {
it('renders within the workspace center', async function() {
const wrapper = mount(buildApp({}));

const uri = IssueishPaneItem.buildURI('one.com', 'me', 'code', 400, __dirname);
const uri = IssueishDetailItem.buildURI('one.com', 'me', 'code', 400, __dirname);
const item = await atomEnv.workspace.open(uri);

assert.lengthOf(wrapper.update().find('IssueishPaneItem'), 1);
assert.lengthOf(wrapper.update().find('IssueishDetailItem'), 1);

const centerPaneItems = atomEnv.workspace.getCenter().getPaneItems();
assert.include(centerPaneItems.map(i => i.getURI()), uri);
Expand Down Expand Up @@ -72,10 +72,10 @@ describe('IssueishPaneItem', function() {

it('automatically switches when opened with an empty workdir', async function() {
const wrapper = mount(buildApp({workdirContextPool}));
const uri = IssueishPaneItem.buildURI('host.com', 'atom', 'atom', 500);
const uri = IssueishDetailItem.buildURI('host.com', 'atom', 'atom', 500);
await atomEnv.workspace.open(uri);

const item = wrapper.update().find('IssueishPaneItem');
const item = wrapper.update().find('IssueishDetailItem');
assert.strictEqual(item.prop('workingDirectory'), '');
await assert.async.strictEqual(
wrapper.update().find('IssueishDetailContainer').prop('repository'),
Expand All @@ -85,7 +85,7 @@ describe('IssueishPaneItem', function() {

it('switches to a different issueish', async function() {
const wrapper = mount(buildApp({workdirContextPool}));
await atomEnv.workspace.open(IssueishPaneItem.buildURI('host.com', 'me', 'original', 1, __dirname));
await atomEnv.workspace.open(IssueishDetailItem.buildURI('host.com', 'me', 'original', 1, __dirname));

const before = wrapper.update().find('IssueishDetailContainer');
assert.strictEqual(before.prop('host'), 'host.com');
Expand All @@ -104,7 +104,7 @@ describe('IssueishPaneItem', function() {

it('changes the active repository when its issueish changes', async function() {
const wrapper = mount(buildApp({workdirContextPool}));
await atomEnv.workspace.open(IssueishPaneItem.buildURI('host.com', 'me', 'original', 1, __dirname));
await atomEnv.workspace.open(IssueishDetailItem.buildURI('host.com', 'me', 'original', 1, __dirname));

wrapper.update();

Expand All @@ -120,7 +120,7 @@ describe('IssueishPaneItem', function() {
it('reverts to an absent repository when no matching repository is found', async function() {
const workdir = atomAtomRepo.getWorkingDirectoryPath();
const wrapper = mount(buildApp({workdirContextPool}));
await atomEnv.workspace.open(IssueishPaneItem.buildURI('github.com', 'atom', 'atom', 5, workdir));
await atomEnv.workspace.open(IssueishDetailItem.buildURI('github.com', 'atom', 'atom', 5, workdir));

wrapper.update();
assert.strictEqual(wrapper.find('IssueishDetailContainer').prop('repository'), atomAtomRepo);
Expand All @@ -132,7 +132,7 @@ describe('IssueishPaneItem', function() {

it('aborts a repository swap when pre-empted', async function() {
const wrapper = mount(buildApp({workdirContextPool}));
const item = await atomEnv.workspace.open(IssueishPaneItem.buildURI('github.com', 'another', 'repo', 5, __dirname));
const item = await atomEnv.workspace.open(IssueishDetailItem.buildURI('github.com', 'another', 'repo', 5, __dirname));

wrapper.update();

Expand All @@ -159,7 +159,7 @@ describe('IssueishPaneItem', function() {
await repo.addRemote('upstream', 'https://github.com/atom/atom.git');

const wrapper = mount(buildApp({workdirContextPool}));
await atomEnv.workspace.open(IssueishPaneItem.buildURI('host.com', 'me', 'original', 1, __dirname));
await atomEnv.workspace.open(IssueishDetailItem.buildURI('host.com', 'me', 'original', 1, __dirname));
wrapper.update();

await wrapper.find('IssueishDetailContainer').prop('switchToIssueish')('atom', 'atom', 100);
Expand All @@ -175,7 +175,7 @@ describe('IssueishPaneItem', function() {
it('reconstitutes its original URI', async function() {
const wrapper = mount(buildApp({}));

const uri = IssueishPaneItem.buildURI('host.com', 'me', 'original', 1, __dirname);
const uri = IssueishDetailItem.buildURI('host.com', 'me', 'original', 1, __dirname);
const item = await atomEnv.workspace.open(uri);
assert.strictEqual(item.getURI(), uri);
assert.strictEqual(item.serialize().uri, uri);
Expand All @@ -188,7 +188,7 @@ describe('IssueishPaneItem', function() {

it('broadcasts title changes', async function() {
const wrapper = mount(buildApp({}));
const item = await atomEnv.workspace.open(IssueishPaneItem.buildURI('host.com', 'user', 'repo', 1, __dirname));
const item = await atomEnv.workspace.open(IssueishDetailItem.buildURI('host.com', 'user', 'repo', 1, __dirname));
assert.strictEqual(item.getTitle(), 'user/repo#1');

const handler = sinon.stub();
Expand All @@ -204,7 +204,7 @@ describe('IssueishPaneItem', function() {

it('tracks pending state termination', async function() {
mount(buildApp({}));
const item = await atomEnv.workspace.open(IssueishPaneItem.buildURI('host.com', 'user', 'repo', 1, __dirname));
const item = await atomEnv.workspace.open(IssueishDetailItem.buildURI('host.com', 'user', 'repo', 1, __dirname));

const handler = sinon.stub();
subs.add(item.onDidTerminatePendingState(handler));
Expand Down

0 comments on commit 4e05205

Please sign in to comment.