1+
2+ import { expect } from 'chai' ;
3+ import 'mocha' ;
4+ import { Base } from '../../dist'
5+ import * as Utils from '../../dist/utils'
6+
7+
8+ class Comp1Sup extends Base {
9+ method1Sup ( ) {
10+ return 'method1Sup value'
11+ }
12+ }
13+
14+
15+ class Comp1 extends Comp1Sup {
16+ method1Comp ( ) {
17+ return 'method1Comp value'
18+ }
19+ }
20+
21+ class Comp2Sup extends Comp1 {
22+ method2Sup ( ) {
23+ return 'method2Sup value'
24+ }
25+ }
26+
27+
28+ class Comp2 extends Comp2Sup {
29+ method2Comp ( ) {
30+ return 'method2Comp value'
31+ }
32+ }
33+
34+ class Comp3Sup extends Comp2 {
35+ method3Sup ( ) {
36+ return 'method3Sup value'
37+ }
38+ }
39+
40+
41+
42+ class Comp3 extends Comp3Sup {
43+ method3Comp ( ) {
44+ return 'method3Comp value'
45+ }
46+ }
47+
48+ describe ( 'internal utils' ,
49+ ( ) => {
50+ it ( 'slot' , ( ) => {
51+ expect ( true ) . to . equal ( Utils . obtainSlot ( Comp3 . prototype ) . names instanceof Map )
52+ } )
53+ it ( 'toComponentReverse' , ( ) => {
54+ Utils . obtainSlot ( Comp2 . prototype )
55+ Utils . obtainSlot ( Comp1 . prototype )
56+
57+ const path3 = Utils . toComponentReverse ( Comp3 . prototype )
58+
59+ expect ( 2 ) . to . equal ( path3 . length )
60+
61+ expect ( Comp3Sup ) . to . equal ( path3 [ 0 ] . constructor )
62+ expect ( true ) . to . equal ( path3 [ 0 ] instanceof Comp2 )
63+
64+ expect ( Comp3 ) . to . equal ( path3 [ 1 ] . constructor )
65+ expect ( true ) . to . equal ( path3 [ 1 ] instanceof Comp3Sup )
66+
67+ const path2 = Utils . toComponentReverse ( Comp2 . prototype )
68+ expect ( 2 ) . to . equal ( path2 . length )
69+
70+ expect ( Comp2Sup ) . to . equal ( path2 [ 0 ] . constructor )
71+ expect ( true ) . to . equal ( path2 [ 0 ] instanceof Comp1 )
72+
73+ expect ( Comp2 ) . to . equal ( path2 [ 1 ] . constructor )
74+ expect ( true ) . to . equal ( path2 [ 1 ] instanceof Comp2Sup )
75+
76+ const path1 = Utils . toComponentReverse ( Comp1 . prototype )
77+ expect ( 2 ) . to . equal ( path1 . length )
78+
79+ expect ( Comp1Sup ) . to . equal ( path1 [ 0 ] . constructor )
80+ expect ( true ) . to . equal ( path1 [ 0 ] instanceof Base )
81+
82+ expect ( Comp1 ) . to . equal ( path1 [ 1 ] . constructor )
83+ expect ( true ) . to . equal ( path1 [ 1 ] instanceof Comp1Sup )
84+ } )
85+
86+ it ( 'extendSlotPath' , ( ) => {
87+ const path = Utils . extendSlotPath ( Comp3 . prototype )
88+ expect ( 3 ) . to . equal ( path . length )
89+ expect ( Comp3 . prototype ) . to . equal ( path [ 0 ] )
90+ expect ( Comp2 . prototype ) . to . equal ( path [ 1 ] )
91+ expect ( Comp1 . prototype ) . to . equal ( path [ 2 ] )
92+ } )
93+ }
94+ )
95+ export default { }
0 commit comments