Skip to content

Commit

Permalink
Fix opacity when the attribute is provided at page load, _opacity is
Browse files Browse the repository at this point in the history
not set (setter not run), should return the attribute value if _opacity
is nullish.
  • Loading branch information
prushforth committed Sep 20, 2023
1 parent 5105086 commit d31fcf0
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 19 deletions.
3 changes: 2 additions & 1 deletion src/layer.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ export class MapLayer extends HTMLElement {
}

get opacity() {
return this._opacity;
// use ?? since 0 is falsy, || would return rhs in that case
return this._opacity ?? this.getAttribute('opacity');
}

set opacity(val) {
Expand Down
30 changes: 12 additions & 18 deletions test/e2e/layers/layerOpacityAttribute.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,33 +17,27 @@ test.describe('Adding Opacity Attribute to the Layer- Element', () => {
});

test('Setting Opacity Attibute to Layer- Element', async () => {
await page.pause();
let opacity_attribute_value = await page.$eval(
'body > mapml-viewer > layer-',
(layer) => layer.getAttribute('opacity')
);
if (!opacity_attribute_value) {
return;
} else {
let layer_opacity = await page.$eval(
'body > mapml-viewer > layer-',
(layer) => layer.opacity
);
expect(layer_opacity).toEqual(opacity_attribute_value);
}
let layer_opacity = await page.$eval(
'body > mapml-viewer > layer-',
(layer) => layer.opacity
);
expect(layer_opacity).toEqual(opacity_attribute_value);
});
test('Opacity Slider Value Test', async () => {
await page.pause();
let opacity_slider_value = await page.$eval(
'div > div.leaflet-control-container > div.leaflet-top.leaflet-right > div > section > div.leaflet-control-layers-overlays > fieldset > div:nth-child(2) > details > input[type=range]',
(input) => input.value
);
if (!opacity_slider_value) {
return;
} else {
let layer_opacity = await page.$eval(
'body > mapml-viewer > layer-',
(layer) => layer.opacity
);
expect(layer_opacity).toEqual(opacity_slider_value);
}
let layer_opacity = await page.$eval(
'body > mapml-viewer > layer-',
(layer) => layer.opacity
);
expect(layer_opacity).toEqual(opacity_slider_value);
});
});

0 comments on commit d31fcf0

Please sign in to comment.