Skip to content

Commit 8b15eb1

Browse files
committed
lwc
1 parent a15d495 commit 8b15eb1

File tree

5 files changed

+33
-1
lines changed

5 files changed

+33
-1
lines changed

libraries/lwc/src/basic-tests.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import {
2121
createComponentWithChildrenRerender,
2222
createComponentWithDifferentViews,
2323
createComponentWithProperties,
24+
createComponentWithoutProperties,
2425
createComponentWithImperativeEvent,
2526
} from './components';
2627

@@ -135,6 +136,17 @@ describe('basic support', function() {
135136
const data = wc.str || wc.getAttribute('str');
136137
expect(data).to.eql('lwc');
137138
});
139+
140+
it("will not overwrite unwriteable properties", function () {
141+
this.weight = 3;
142+
const cmp = createComponentWithoutProperties();
143+
scratch.appendChild(cmp);
144+
const wc = cmp.shadowRoot.querySelector('ce-without-properties');
145+
expect(wc.getAttribute('amethod')).to.eql('method');
146+
expect(wc.getAttribute('agetter')).to.eql('getter');
147+
expect(wc.getAttribute('areadonly')).to.eql('readonly');
148+
expect(wc.innerHTML).to.eql('Success');
149+
});
138150
});
139151

140152
describe('events', function() {

libraries/lwc/src/components.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import 'ce-without-children';
1919
import 'ce-with-children';
2020
import 'ce-with-properties';
21+
import 'ce-without-properties';
2122
import 'ce-with-event';
2223

2324
import { createElement } from 'lwc';
@@ -27,6 +28,7 @@ import WithChildren from 'x/withChildren';
2728
import WithChildrenRerender from 'x/withChildrenRerender';
2829
import WithDifferentViews from 'x/withDifferentViews';
2930
import WithProperties from 'x/withProperties';
31+
import WithoutProperties from 'x/withoutProperties';
3032
import WithImperativeEvent from 'x/withImperativeEvent';
3133
import WithDeclarativeEvent from 'x/withDeclarativeEvent';
3234

@@ -50,6 +52,10 @@ export function createComponentWithProperties() {
5052
return createElement('x-with-properties', { is: WithProperties });
5153
}
5254

55+
export function createComponentWithoutProperties() {
56+
return createElement('x-without-properties', { is: WithoutProperties });
57+
}
58+
5359
export function createComponentWithImperativeEvent() {
5460
return createElement('x-with-imperative-event', { is: WithImperativeEvent });
5561
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<template>
2+
<ce-without-properties lwc:external
3+
amethod={method}
4+
agetter={getter}
5+
areadonly={readonly}
6+
></ce-without-properties>
7+
</template>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { LightningElement } from "lwc";
2+
3+
export default class extends LightningElement {
4+
method = 'method';
5+
readonly = 'readonly';
6+
getter = 'getter';
7+
}

libraries/vue/src/basic-tests.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ describe("basic support", function() {
148148
expect(data).to.eql("Vue");
149149
});
150150

151-
it('will not overwrite unwriteable properties', function () {
151+
it("will not overwrite unwriteable properties", function () {
152152
const app = createApp(ComponentWithoutProperties);
153153
app.mount(scratch);
154154
const wc = scratch.querySelector('#wc');

0 commit comments

Comments
 (0)