aboutsummaryrefslogtreecommitdiffstats
path: root/test/_contexts.scss
blob: 1b0e602729884ff4918eb299563eb14558b050a6 (plain) (blame)
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
@include describe('Contexts') {
    @include it('Creating / deleting context stacks') {
        @include assert-equal(iro-context-stack-create('test'), null, 'Check if context stack was created');
        @include assert-equal(iro-context-stack-delete('test'), null, 'Check if context stack was deleted');
    }

    @include it('Adding / removing contexts') {
        @include assert-equal(iro-context-stack-create('test'), null, 'Check if context stack was created');

        @include assert-equal(iro-context-push('test', 'ctx', 1234),       'ctx' 1234,       'Check if context 1 was pushed');
        @include assert-equal(iro-context-push('test', 'another', 'text'), 'another' 'text', 'Check if context 2 was pushed');
        @include assert-equal(iro-context-push('test', 'ctx', 56),         'ctx' 56,         'Check if context 3 was pushed');

        @include assert-equal(iro-context-pop('test'), 'ctx' 56,         'Check if context 3 was popped');
        @include assert-equal(iro-context-pop('test'), 'another' 'text', 'Check if context 2 was popped');
        @include assert-equal(iro-context-pop('test'), 'ctx' 1234,       'Check if context 1 was popped');

        @include assert-equal(iro-context-stack-delete('test'), null, 'Check if context stack was deleted');
    }

    @include it('Clearing / counting context stacks') {
        @include assert-equal(iro-context-stack-create('test'), null, 'Check if context stack was created');

        @include assert-equal(iro-context-push('test', 'ctx', 1234),       'ctx' 1234,       'Check if context 1 was pushed');
        @include assert-equal(iro-context-push('test', 'another', 'text'), 'another' 'text', 'Check if context 2 was pushed');
        @include assert-equal(iro-context-push('test', 'ctx', 56),         'ctx' 56,         'Check if context 3 was pushed');

        @include assert-equal(iro-context-stack-count('test'), 3,    'Check if context stack contains 3 contexts');
        @include assert-equal(iro-context-pop('test'), 'ctx' 56,     'Check if context 3 was popped');
        @include assert-equal(iro-context-stack-count('test'), 2,    'Check if context stack contains 2 contexts');
        @include assert-equal(iro-context-stack-clear('test'), null, 'Check if context stack was cleared');
        @include assert-equal(iro-context-stack-count('test'), 0,    'Check if context stack contains no contexts');

        @include assert-equal(iro-context-stack-delete('test'), null, 'Check if context stack was deleted');
    }

    @include it('Retrieving contexts') {
        @include assert-equal(iro-context-stack-create('test'), null, 'Check if context stack was created');

        @include assert-equal(iro-context-push('test', 'ctx', 1234),       'ctx' 1234,       'Check if context 1 was pushed');
        @include assert-equal(iro-context-push('test', 'another', 'text'), 'another' 'text', 'Check if context 2 was pushed');
        @include assert-equal(iro-context-push('test', 'ctx', 56),         'ctx' 56,         'Check if context 3 was pushed');

        @include assert-equal(iro-context-get('test', 1),     'ctx' 56,         'Check if context at position 1 is context 3');
        @include assert-equal(iro-context-get('test', 'ctx'), 'ctx' 56,         'Check if latest context with id "ctx" is context 3');
        @include assert-equal(iro-context-get('test', 2),     'another' 'text', 'Check if latest context with id "another" is context 2');

        @include assert-equal(iro-context-pop('test'), 'ctx' 56, 'Check if context 3 was popped');

        @include assert-equal(iro-context-get('test', 1),  'another' 'text', 'Check if context at position 1 is context 2');
        @include assert-equal(iro-context-get('test', -1), 'ctx' 1234,       'Check if latest context with id "ctx" is context 1');

        @include assert-equal(iro-context-push('test', 'more', 'string'), 'more' 'string', 'Check if context 4 was pushed');

        @include assert-equal(iro-context-get('test', 1),      'more' 'string', 'Check if context at position 1 is context 4');
        @include assert-equal(iro-context-get('test', 'more'), 'more' 'string', 'Check if latest context with id "more" is context 4');

        @include assert-equal(iro-context-pop('test'), 'more' 'string',  'Check if context 4 was popped');
        @include assert-equal(iro-context-pop('test'), 'another' 'text', 'Check if context 2 was popped');

        @include assert-equal(iro-context-get('test', 1), iro-context-get('test', -1), 'Check if first and last context are context 1');

        @include assert-equal(iro-context-stack-delete('test'), null, 'Check if context stack was deleted');
    }
}