Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
parent
93e3a48004
commit
b38dea0597
25901 changed files with 9982925 additions and 369 deletions
73
gaia/apps/sharedtest/test/unit/elements/gaia_checkbox/gaia_checkbox_test.js
Executable file
73
gaia/apps/sharedtest/test/unit/elements/gaia_checkbox/gaia_checkbox_test.js
Executable file
|
|
@ -0,0 +1,73 @@
|
|||
'use strict';
|
||||
|
||||
require('/shared/js/component_utils.js');
|
||||
require('/shared/elements/gaia_checkbox/script.js');
|
||||
|
||||
suite('GaiaCheckbox', function() {
|
||||
setup(function() {
|
||||
this.container = document.createElement('div');
|
||||
});
|
||||
|
||||
test('Label is populated', function() {
|
||||
this.container.innerHTML = '<gaia-checkbox><label>my label</label>' +
|
||||
'</gaia-checkbox>';
|
||||
assert.equal(this.container.querySelector('label').textContent,
|
||||
'my label');
|
||||
});
|
||||
|
||||
test('Not checked by default', function() {
|
||||
this.container.innerHTML = '<gaia-checkbox></gaia-checkbox>';
|
||||
var element = this.container.firstElementChild;
|
||||
assert.equal(element.checked, false);
|
||||
});
|
||||
|
||||
test('ClassName is proxied to shadow dom', function() {
|
||||
this.container.innerHTML = '';
|
||||
|
||||
var element = document.createElement('gaia-checkbox');
|
||||
element.className = 'inline';
|
||||
this.container.appendChild(element);
|
||||
var wrapper = element.shadowRoot.querySelector('#checkbox');
|
||||
assert.equal(wrapper.classList.contains('inline'), true);
|
||||
|
||||
element.className = '';
|
||||
assert.equal(wrapper.classList.contains('inline'), false);
|
||||
});
|
||||
|
||||
test('Checks the element based on checked attr', function() {
|
||||
this.container.innerHTML =
|
||||
'<gaia-checkbox checked></gaia-checkbox>';
|
||||
var element = this.container.firstElementChild;
|
||||
var span = element.shadowRoot.querySelector('span');
|
||||
assert.equal(element.checked, true);
|
||||
assert.ok(span.classList.contains('checked'));
|
||||
});
|
||||
|
||||
test('Attribute change toggles checked state', function() {
|
||||
this.container.innerHTML = '<gaia-checkbox></gaia-checkbox>';
|
||||
var element = this.container.firstElementChild;
|
||||
var checkbox = element.shadowRoot.querySelector('span');
|
||||
assert.equal(element.checked, false);
|
||||
assert.ok(!checkbox.classList.contains('checked'));
|
||||
|
||||
element.checked = 'checked';
|
||||
assert.ok(element.checked);
|
||||
assert.ok(checkbox.classList.contains('checked'));
|
||||
});
|
||||
|
||||
test('Gets right value after click', function(done) {
|
||||
this.container.innerHTML = '<gaia-checkbox></gaia-checkbox>';
|
||||
var element = this.container.firstElementChild;
|
||||
assert.ok(!element.checked);
|
||||
|
||||
element.addEventListener('change', function(e) {
|
||||
assert.equal(e.target.checked, true);
|
||||
done();
|
||||
});
|
||||
|
||||
element.handleClick({
|
||||
preventDefault: function() {},
|
||||
stopImmediatePropagation: function() {}
|
||||
});
|
||||
});
|
||||
});
|
||||
Loading…
Reference in a new issue