aboutsummaryrefslogtreecommitdiffstats
path: root/spec/test_util.moon
blob: b2ac02636d204e025c5228d203dbb021a02218f1 (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
28
29
30
31
32
33
34
-- relative imports
_G.relative = do
  _require = require

  (base, sub) ->
    sub = sub or 0

    for i=1, sub
      base = base\match '^(.*)%.%w+$'

    (name, x) ->
      if name == '.'
        name = base
      else if '.' == name\sub 1, 1
        name = base .. name

      _require name

sort2 = (a, b) ->
  {ax, ay}, {bx, by} = a, b
  "#{ax}//#{ay}" < "#{bx}//#{by}"

toseq = (iter) ->
  with v = [x for x in iter]
    table.sort v

toseq2 = (iter) ->
  with v = [{x, y} for x, y in iter]
    table.sort v, sort2

{
  :toseq
  :toseq2
}