-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathclasses.coffee
48 lines (45 loc) · 1.14 KB
/
classes.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
module.exports =
_name: "classes"
_v: 1
_prio: 700
_mergers: require("./_merger").copy(source: "classes")
mixins: [
require("./class")
require("./combined")
]
created: ->
@$combined
path: "classes"
value: @classes
parseProp: @$class.strToObj
cbFactory: (name) ->[(val) ->@$class.set name, val]
test module.exports, {
mixins: [
require("./structure")
require("./props")
]
structure: template(1,"""
<div #ref="someDiv"></div>
""")
data: -> someClass: true
props:
class2:
type: String
classes:
this:
computed: -> someClass: @someClass
data: -> someDataClass: true
prop: "class2"
someDiv:
data: -> someData2Class: true
}, (el) ->
it "should work", (done) ->
el.should.have.attr "class", "someClass someDataClass"
el.someDiv.should.have.attr "class", "someData2Class"
el.class2 = "somePropClass"
el.$nextTick ->
el.should.have.attr "class", "somePropClass someClass someDataClass"
el.$nextTick ->
el.classes.this.someDataClass = false
el.should.have.attr "class", "somePropClass someClass"
done()