diff --git a/app/components/crate-sidebar.js b/app/components/crate-sidebar.js index eb46274103e..f9c6bd5fca3 100644 --- a/app/components/crate-sidebar.js +++ b/app/components/crate-sidebar.js @@ -21,7 +21,8 @@ export default class CrateSidebar extends Component { } get tomlSnippet() { - return `${this.args.crate.name} = "${this.args.version.num}"`; + let version = this.args.version.num.split('+')[0]; + return `${this.args.crate.name} = "${version}"`; } get playgroundLink() { diff --git a/tests/components/crate-sidebar/toml-snippet-test.js b/tests/components/crate-sidebar/toml-snippet-test.js new file mode 100644 index 00000000000..14c9b225103 --- /dev/null +++ b/tests/components/crate-sidebar/toml-snippet-test.js @@ -0,0 +1,37 @@ +import { render } from '@ember/test-helpers'; +import { module, test } from 'qunit'; + +import { hbs } from 'ember-cli-htmlbars'; + +import { setupRenderingTest } from 'crates-io/tests/helpers'; + +import setupMirage from '../../helpers/setup-mirage'; + +module('Component | CrateSidebar | toml snippet', function (hooks) { + setupRenderingTest(hooks); + setupMirage(hooks); + + test('show version number without build metadata', async function (assert) { + let crate = this.server.create('crate', { name: 'foo' }); + this.server.create('version', { crate, num: '1.0.0+abcdef' }); + + let store = this.owner.lookup('service:store'); + this.crate = await store.findRecord('crate', crate.name); + this.version = (await this.crate.versions).firstObject; + + await render(hbs``); + assert.dom('[title="Copy Cargo.toml snippet to clipboard"]').exists().hasText('foo = "1.0.0"'); + }); + + test('show pre-release version number without build', async function (assert) { + let crate = this.server.create('crate', { name: 'foo' }); + this.server.create('version', { crate, num: '1.0.0-alpha+abcdef' }); + + let store = this.owner.lookup('service:store'); + this.crate = await store.findRecord('crate', crate.name); + this.version = (await this.crate.versions).firstObject; + + await render(hbs``); + assert.dom('[title="Copy Cargo.toml snippet to clipboard"]').exists().hasText('foo = "1.0.0-alpha"'); + }); +});