Merge "Fix some tests for Polymer 2"
diff --git a/polygerrit-ui/app/elements/admin/gr-create-group-dialog/gr-create-group-dialog.html b/polygerrit-ui/app/elements/admin/gr-create-group-dialog/gr-create-group-dialog.html
index ed631de..8a4287b 100644
--- a/polygerrit-ui/app/elements/admin/gr-create-group-dialog/gr-create-group-dialog.html
+++ b/polygerrit-ui/app/elements/admin/gr-create-group-dialog/gr-create-group-dialog.html
@@ -43,7 +43,6 @@
bind-value="{{_name}}">
<input
is="iron-input"
- id="groupNameInput"
bind-value="{{_name}}">
</iron-input>
</section>
diff --git a/polygerrit-ui/app/elements/admin/gr-create-group-dialog/gr-create-group-dialog_test.html b/polygerrit-ui/app/elements/admin/gr-create-group-dialog/gr-create-group-dialog_test.html
index 300440e..ebca289 100644
--- a/polygerrit-ui/app/elements/admin/gr-create-group-dialog/gr-create-group-dialog_test.html
+++ b/polygerrit-ui/app/elements/admin/gr-create-group-dialog/gr-create-group-dialog_test.html
@@ -53,13 +53,16 @@
sandbox.restore();
});
- test('name is updated correctly', () => {
+ test('name is updated correctly', done => {
assert.isFalse(element.hasNewGroupName);
- element.$.groupNameInput.bindValue = GROUP_NAME;
+ ironInput(element.root).bindValue = GROUP_NAME;
- assert.isTrue(element.hasNewGroupName);
- assert.deepEqual(element._name, GROUP_NAME);
+ setTimeout(() => {
+ assert.isTrue(element.hasNewGroupName);
+ assert.deepEqual(element._name, GROUP_NAME);
+ done();
+ });
});
test('test for redirecting to group on successful creation', done => {
diff --git a/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog.html b/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog.html
index 8986a71..ea5b84b 100644
--- a/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog.html
+++ b/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog.html
@@ -42,38 +42,36 @@
</style>
<div class="gr-form-styles">
<div id="form">
- <section>
+ <section id="itemNameSection">
<span class="title">[[detailType]] name</span>
<iron-input
placeholder="[[detailType]] Name"
bind-value="{{_itemName}}">
<input
is="iron-input"
- id="itemNameInput"
placeholder="[[detailType]] Name"
bind-value="{{_itemName}}">
</iron-input>
</section>
- <section>
+ <section id="itemRevisionSection">
<span class="title">Initial Revision</span>
<iron-input
placeholder="Revision (Branch or SHA-1)"
bind-value="{{_itemRevision}}">
<input
is="iron-input"
- id="itemRevisionInput"
placeholder="Revision (Branch or SHA-1)"
bind-value="{{_itemRevision}}">
</iron-input>
</section>
- <section class$="[[_computeHideItemClass(itemDetail)]]">
+ <section id="itemAnnotationSection"
+ class$="[[_computeHideItemClass(itemDetail)]]">
<span class="title">Annotation</span>
<iron-input
placeholder="Annotation (Optional)"
bind-value="{{_itemAnnotation}}">
<input
is="iron-input"
- id="itemAnnotationInput"
placeholder="Annotation (Optional)"
bind-value="{{_itemAnnotation}}">
</iron-input>
diff --git a/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog_test.html b/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog_test.html
index 77cce5a..08e8213 100644
--- a/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog_test.html
+++ b/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog_test.html
@@ -51,7 +51,7 @@
sandbox.restore();
});
- test('branch created', () => {
+ test('branch created', done => {
sandbox.stub(element.$.restAPI, 'createRepoBranch', () => {
return Promise.resolve({});
});
@@ -61,17 +61,18 @@
element._itemName = 'test-branch';
element.itemDetail = 'branches';
- element.$.itemNameInput.bindValue = 'test-branch2';
- element.$.itemRevisionInput.bindValue = 'HEAD';
+ ironInput(element.$.itemNameSection).bindValue = 'test-branch2';
+ ironInput(element.$.itemRevisionSection).bindValue = 'HEAD';
- assert.isTrue(element.hasNewItemName);
-
- assert.equal(element._itemName, 'test-branch2');
-
- assert.equal(element._itemRevision, 'HEAD');
+ setTimeout(() => {
+ assert.isTrue(element.hasNewItemName);
+ assert.equal(element._itemName, 'test-branch2');
+ assert.equal(element._itemRevision, 'HEAD');
+ done();
+ });
});
- test('tag created', () => {
+ test('tag created', done => {
sandbox.stub(element.$.restAPI, 'createRepoTag', () => {
return Promise.resolve({});
});
@@ -81,17 +82,18 @@
element._itemName = 'test-tag';
element.itemDetail = 'tags';
- element.$.itemNameInput.bindValue = 'test-tag2';
- element.$.itemRevisionInput.bindValue = 'HEAD';
+ ironInput(element.$.itemNameSection).bindValue = 'test-tag2';
+ ironInput(element.$.itemRevisionSection).bindValue = 'HEAD';
- assert.isTrue(element.hasNewItemName);
-
- assert.equal(element._itemName, 'test-tag2');
-
- assert.equal(element._itemRevision, 'HEAD');
+ setTimeout(() => {
+ assert.isTrue(element.hasNewItemName);
+ assert.equal(element._itemName, 'test-tag2');
+ assert.equal(element._itemRevision, 'HEAD');
+ done();
+ });
});
- test('tag created with annotations', () => {
+ test('tag created with annotations', done => {
sandbox.stub(element.$.restAPI, 'createRepoTag', () => {
return Promise.resolve({});
});
@@ -102,17 +104,17 @@
element._itemAnnotation = 'test-message';
element.itemDetail = 'tags';
- element.$.itemNameInput.bindValue = 'test-tag2';
- element.$.itemAnnotationInput.bindValue = 'test-message2';
- element.$.itemRevisionInput.bindValue = 'HEAD';
+ ironInput(element.$.itemNameSection).bindValue = 'test-tag2';
+ ironInput(element.$.itemAnnotationSection).bindValue = 'test-message2';
+ ironInput(element.$.itemRevisionSection).bindValue = 'HEAD';
- assert.isTrue(element.hasNewItemName);
-
- assert.equal(element._itemName, 'test-tag2');
-
- assert.equal(element._itemAnnotation, 'test-message2');
-
- assert.equal(element._itemRevision, 'HEAD');
+ setTimeout(() => {
+ assert.isTrue(element.hasNewItemName);
+ assert.equal(element._itemName, 'test-tag2');
+ assert.equal(element._itemAnnotation, 'test-message2');
+ assert.equal(element._itemRevision, 'HEAD');
+ done();
+ });
});
test('_computeHideItemClass returns hideItem if type is branches', () => {
diff --git a/polygerrit-ui/app/elements/shared/gr-select/gr-select.js b/polygerrit-ui/app/elements/shared/gr-select/gr-select.js
index 85e1a61..5e68c8b 100644
--- a/polygerrit-ui/app/elements/shared/gr-select/gr-select.js
+++ b/polygerrit-ui/app/elements/shared/gr-select/gr-select.js
@@ -57,7 +57,9 @@
ready() {
// If not set via the property, set bind-value to the element value.
- if (!this.bindValue) { this.bindValue = this.nativeSelect.value; }
+ if (this.bindValue == undefined) {
+ this.bindValue = this.nativeSelect.value;
+ }
},
});
})();
diff --git a/polygerrit-ui/app/test/common-test-setup.js b/polygerrit-ui/app/test/common-test-setup.js
index 7be4f04..7ceff7e 100644
--- a/polygerrit-ui/app/test/common-test-setup.js
+++ b/polygerrit-ui/app/test/common-test-setup.js
@@ -15,4 +15,12 @@
* limitations under the License.
*/
-// Intentionally blank - will contain shared Polymer 2 test setup code.
+/**
+ * Helps looking up the proper iron-input element during the Polymer 2
+ * transition. Polymer 2 uses the <iron-input> element, while Polymer 1 uses
+ * the nested <input is="iron-input"> element.
+ */
+window.ironInput = function(element) {
+ return Polymer.dom(element).querySelector(
+ Polymer.Element ? 'iron-input' : 'input[is=iron-input]');
+};