@@ -47,13 +47,19 @@ describe("When multiple DOM elements are present", () => {
47
47
} ) ;
48
48
} ) ;
49
49
50
- // Pending until we decide on a good solution
51
- xit ( "can read attributes from custom child element's prototypes" , ( ) => {
50
+ it ( "can read attributes from custom child element's prototypes" , ( ) => {
52
51
class DataSource extends customElements . HTMLElement {
52
+ get data ( ) {
53
+ return [ 1 , 2 , 3 ] ;
54
+ }
55
+ }
56
+ customElements . define ( "data-source" , DataSource ) ;
57
+
58
+ class DataDisplayer extends customElements . HTMLElement {
53
59
connectedCallback ( ) {
54
60
return new Promise ( ( resolve ) => {
55
61
// Has to be async, as child node prototypes aren't set: http://stackoverflow.com/questions/36187227/
56
- // This is a web customElements limitation generally. TODO: Find a nicer pattern for handle this.
62
+ // This is a web components limitation generally. TODO: Find a nicer pattern for handle this.
57
63
setTimeout ( ( ) => {
58
64
var data = this . childNodes [ 0 ] . data ;
59
65
this . textContent = "Data: " + JSON . stringify ( data ) ;
@@ -62,9 +68,8 @@ describe("When multiple DOM elements are present", () => {
62
68
} ) ;
63
69
}
64
70
}
65
- DataSource . data = [ 10 , 20 , 30 ] ;
66
71
67
- customElements . define ( "data-displayer" , DataSource ) ;
72
+ customElements . define ( "data-displayer" , DataDisplayer ) ;
68
73
69
74
return customElements . renderFragment (
70
75
"<data-displayer><data-source></data-source></data-displayer>"
0 commit comments