aboutsummaryrefslogtreecommitdiff
path: root/spec/inputs/test/class_expression_spec.yue
blob: 13c1d23ae388bff20f96af1ca3126321031c2ba6 (plain)
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
describe "class expression", ->
	it "should support class expression assignment", ->
		MyClass = class
			value: 100

		assert.same MyClass.value, 100

	it "should support class expression in table", ->
		classes = {
			Alpha: class
				new: => @value = 1
			Beta: class
				new: => @value = 2
		}

		a = classes.Alpha!
		b = classes.Beta!
		assert.same a.value, 1
		assert.same b.value, 2

	it "should work with return", ->
		fn = ->
			return class
				value: 50

		Instance = fn!
		assert.same Instance!.value, 50