Missing labels list in change metadata and long-label polish

Missing labels are presented in a UL rather than a sentence for easier
readability. Long label names are wrapped.

Bug: Issue 5979
Bug: Issue 5998
Change-Id: Iee7c53c4c9ae7a9b2709394ba05b2221d10b46fd
diff --git a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html
index 4eda281..c32f16b 100644
--- a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html
+++ b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html
@@ -89,18 +89,20 @@
 
     test('computes submit status', function() {
       var labels = {};
-      assert.equal(element._computeSubmitStatus(labels), 'Ready to submit');
+      assert.isFalse(element._showMissingLabels(labels));
       labels = {test: {}};
-      assert.equal(element._computeSubmitStatus(labels), 'Needs test label');
+      assert.isTrue(element._showMissingLabels(labels));
+      assert.deepEqual(element._computeMissingLabels(labels), ['test']);
       labels.test.approved = true;
-      assert.equal(element._computeSubmitStatus(labels), 'Ready to submit');
+      assert.isFalse(element._showMissingLabels(labels));
       labels.test.approved = false;
       labels.test.optional = true;
-      assert.equal(element._computeSubmitStatus(labels), 'Ready to submit');
+      assert.isFalse(element._showMissingLabels(labels));
       labels.test.optional = false;
       labels.test2 = {};
-      assert.equal(element._computeSubmitStatus(labels),
-          'Needs test and test2 labels');
+      assert.isTrue(element._showMissingLabels(labels));
+      assert.deepEqual(element._computeMissingLabels(labels),
+          ['test', 'test2']);
     });
 
     test('weblinks hidden when no weblinks', function() {