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"');
+ });
+});