1/* eslint-env qunit */
2/*eslint no-magic-numbers: 0*/
3
4window.edittable = window.edittable || {};
5
6(function (edittable) {
7    'use strict';
8
9    QUnit.module('Tests for edittable.moveRow and edittable.moveCol');
10    QUnit.test('edittable.moveRow 0 to 1', function (assert) {
11        var meta = [['a', 'b'], ['c', 'd'], ['e', 'f']];
12        var actual_meta = edittable.moveRow([0], 2, meta);
13        var expected_meta = [['c', 'd'], ['a', 'b'], ['e', 'f']];
14        assert.deepEqual(actual_meta, expected_meta);
15    });
16
17
18    QUnit.test('edittable.moveRow 0 to 2', function (assert) {
19        var meta = [['a', 'b'], ['c', 'd'], ['e', 'f']];
20        var actual_meta = edittable.moveRow([0], 3, meta);
21        var expected_meta = [['c', 'd'], ['e', 'f'], ['a', 'b']];
22        assert.deepEqual(actual_meta, expected_meta);
23    });
24
25    QUnit.test('edittable.moveRow 1 to 2', function (assert) {
26        var meta = [['a', 'b'], ['c', 'd'], ['e', 'f']];
27        var actual_meta = edittable.moveRow([1], 3, meta);
28        var expected_meta = [['a', 'b'], ['e', 'f'], ['c', 'd']];
29        assert.deepEqual(actual_meta, expected_meta);
30    });
31
32    QUnit.test('edittable.moveRow 2 to 1', function (assert) {
33        var meta = [['a', 'b'], ['c', 'd'], ['e', 'f']];
34        var actual_meta = edittable.moveRow([2], 1, meta);
35        var expected_meta = [['a', 'b'], ['e', 'f'], ['c', 'd']];
36        assert.deepEqual(actual_meta, expected_meta);
37    });
38
39    QUnit.test('edittable.moveRow 2 to 0', function (assert) {
40        var meta = [['a', 'b'], ['c', 'd'], ['e', 'f']];
41        var actual_meta = edittable.moveRow([2], 0, meta);
42        var expected_meta = [['e', 'f'], ['a', 'b'], ['c', 'd']];
43        assert.deepEqual(actual_meta, expected_meta);
44    });
45
46    QUnit.test('edittable.moveRow 1 to 0', function (assert) {
47        var meta = [['a', 'b'], ['c', 'd'], ['e', 'f']];
48        var actual_meta = edittable.moveRow([1], 0, meta);
49        var expected_meta = [['c', 'd'], ['a', 'b'], ['e', 'f']];
50        assert.deepEqual(actual_meta, expected_meta);
51    });
52
53    QUnit.test('edittable.moveRow [0,1] to 2', function (assert) {
54        var meta = [['a', 'b'], ['c', 'd'], ['e', 'f']];
55        var actual_meta = edittable.moveRow([0, 1], 3, meta);
56        var expected_meta = [['e', 'f'], ['a', 'b'], ['c', 'd']];
57        assert.deepEqual(actual_meta, expected_meta);
58    });
59
60    QUnit.test('edittable.moveRow [1, 2] to 0', function (assert) {
61        var meta = [['a', 'b'], ['c', 'd'], ['e', 'f']];
62        var actual_meta = edittable.moveRow([1, 2], 0, meta);
63        var expected_meta = [['c', 'd'], ['e', 'f'], ['a', 'b']];
64        assert.deepEqual(actual_meta, expected_meta);
65    });
66
67    QUnit.test('edittable.moveCol 0 to 1', function (assert) {
68        var meta = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']];
69        var actual_meta = edittable.moveCol([0], 2, meta);
70        var expected_meta = [['b', 'a', 'c'], ['e', 'd', 'f'], ['h', 'g', 'i']];
71        assert.deepEqual(actual_meta, expected_meta);
72    });
73
74    QUnit.test('edittable.moveCol 0 to 2', function (assert) {
75        var meta = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']];
76        var actual_meta = edittable.moveCol([0], 3, meta);
77        var expected_meta = [['b', 'c', 'a'], ['e', 'f', 'd'], ['h', 'i', 'g']];
78        assert.deepEqual(actual_meta, expected_meta);
79    });
80
81    QUnit.test('edittable.moveCol 1 to 2', function (assert) {
82        var meta = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']];
83        var actual_meta = edittable.moveCol([1], 3, meta);
84        var expected_meta = [['a', 'c', 'b'], ['d', 'f', 'e'], ['g', 'i', 'h']];
85        assert.deepEqual(actual_meta, expected_meta);
86    });
87
88    QUnit.test('edittable.moveCol 1 to 0', function (assert) {
89        var meta = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']];
90        var actual_meta = edittable.moveCol([1], 0, meta);
91        var expected_meta = [['b', 'a', 'c'], ['e', 'd', 'f'], ['h', 'g', 'i']];
92        assert.deepEqual(actual_meta, expected_meta);
93    });
94
95    QUnit.test('edittable.moveCol 2 to 0', function (assert) {
96        var meta = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']];
97        var actual_meta = edittable.moveCol([2], 0, meta);
98        var expected_meta = [['c', 'a', 'b'], ['f', 'd', 'e'], ['i', 'g', 'h']];
99        assert.deepEqual(actual_meta, expected_meta);
100    });
101
102    QUnit.test('edittable.moveCol 2 to 1', function (assert) {
103        var meta = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']];
104        var actual_meta = edittable.moveCol([2], 1, meta);
105        var expected_meta = [['a', 'c', 'b'], ['d', 'f', 'e'], ['g', 'i', 'h']];
106        assert.deepEqual(actual_meta, expected_meta);
107    });
108
109    QUnit.test('edittable.moveCol [0, 1] to 2', function (assert) {
110        var meta = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']];
111        var actual_meta = edittable.moveCol([0, 1], 3, meta);
112        var expected_meta = [['c', 'a', 'b'], ['f', 'd', 'e'], ['i', 'g', 'h']];
113        assert.deepEqual(actual_meta, expected_meta);
114    });
115
116    QUnit.test('edittable.moveCol [1, 2] to 0', function (assert) {
117        var meta = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']];
118        var actual_meta = edittable.moveCol([1, 2], 0, meta);
119        var expected_meta = [['b', 'c', 'a'], ['e', 'f', 'd'], ['h', 'i', 'g']];
120        assert.deepEqual(actual_meta, expected_meta);
121    });
122}(window.edittable));
123