aboutsummaryrefslogtreecommitdiffstats
path: root/test/_contexts.scss
blob: 510f79b1c209bc97e340ba69c9b3e41e851ddee7 (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
66
67
68
@use 'true' as *;
@use '../src/contexts';

@include describe('contexts') {
    @include it('Creating / deleting context stacks') {
        @include assert-equal(contexts.create('test'), null, 'Check if context stack was created');
        @include assert-equal(contexts.delete('test'), null, 'Check if context stack was deleted');
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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