Skip to content

Commit 357915b

Browse files
committed
riot
1 parent d0dad12 commit 357915b

File tree

3 files changed

+25
-0
lines changed

3 files changed

+25
-0
lines changed

libraries/riot/src/basic-tests.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import {
2323
ComponentWithChildrenRerender,
2424
ComponentWithDifferentViews,
2525
ComponentWithProperties,
26+
ComponentWithoutProperties,
2627
ComponentWithUnregistered,
2728
ComponentWithImperativeEvent
2829
} from './components'
@@ -122,6 +123,16 @@ describe('basic support', function() {
122123
expect(data).to.eql('riot')
123124
})
124125

126+
it("will not overwrite unwriteable properties", function () {
127+
this.weight = 3;
128+
component(ComponentWithoutProperties)(scratch)
129+
let wc = scratch.querySelector('#wc')
130+
expect(wc.getAttribute('amethod')).to.eql('method');
131+
expect(wc.getAttribute('agetter')).to.eql('getter');
132+
expect(wc.getAttribute('areadonly')).to.eql('readonly');
133+
expect(wc.innerHTML).to.eql('Success');
134+
});
135+
125136
// Riot.js passes all the following tests but they must be commented out
126137
// being consistent with the other frameworks ¯\_(ツ)_/¯
127138
/*

libraries/riot/src/components.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,15 @@
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
export { default as ComponentWithoutChildren } from './components/ComponentWithoutChildren.riot'
2425
export { default as ComponentWithChildren } from './components/ComponentWithChildren.riot'
2526
export { default as ComponentWithChildrenRerender } from './components/ComponentWithChildrenRerender.riot'
2627
export { default as ComponentWithDifferentViews } from './components/ComponentWithDifferentViews.riot'
2728
export { default as ComponentWithProperties } from './components/ComponentWithProperties.riot'
29+
export { default as ComponentWithoutProperties } from './components/ComponentWithoutProperties.riot'
2830
export { default as ComponentWithUnregistered } from './components/ComponentWithUnregistered.riot'
2931
export { default as ComponentWithImperativeEvent } from './components/ComponentWithImperativeEvent.riot'
3032
export { default as ComponentWithDeclarativeEvent } from './components/ComponentWithDeclarativeEvent.riot'
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<component-with-properties>
2+
<ce-without-properties id="wc" {...state}></ce-without-properties>
3+
<script>
4+
export default {
5+
state: {
6+
agetter: "getter",
7+
amethod: "method",
8+
areadonly: "readonly"
9+
}
10+
}
11+
</script>
12+
</component-with-properties>

0 commit comments

Comments
 (0)