UNPKG

rr-table

Version:

Responsive and customizable React Table

100 lines (96 loc) 10.1 kB
"use strict"; var _index = _interopRequireDefault(require("./index")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('selectValue', function () { var data = { name: 'Popins', age: 42, surname: 'Marie', pets: ['cat', 'dog'] }; it('should return null when there is no key', function () { var value = (0, _index.default)({ key: undefined, data: data }); expect(value).toEqual(null); }); it('should return null when there is no data', function () { var key = 'name'; var value = (0, _index.default)({ key: key, data: undefined }); expect(value).toEqual(null); }); it('should return the right value when the key is a string', function () { var key = 'name'; var expected = 'Popins'; var value = (0, _index.default)({ key: key, data: data }); expect(value).toEqual(expected); }); it('should return the right value when the key is a string (and value is a number)', function () { var key = 'age'; var expected = 42; var value = (0, _index.default)({ key: key, data: data }); expect(value).toEqual(expected); }); it('should return the joinded values as a string when the key is an array', function () { var key = ['surname', 'name']; var expected = 'Marie - Popins'; var value = (0, _index.default)({ key: key, data: data }); expect(value).toEqual(expected); }); it('should return the joinded values as a string when the key is an array with the right separator', function () { var key = ['surname', 'name', 'age']; var separator = ', '; var expected = 'Marie, Popins, 42'; var value = (0, _index.default)({ key: key, data: data, separator: separator }); expect(value).toEqual(expected); }); it('should return the joinded values as a string when the key is a string and the value is an array', function () { var key = 'pets'; var separator = ', '; var expected = 'cat, dog'; var value = (0, _index.default)({ key: key, data: data, separator: separator }); expect(value).toEqual(expected); }); it('should return the joinded values as a string when the key is an array and some values are arrays', function () { var key = ['surname', 'name', 'pets']; var expected = 'Marie - Popins - cat - dog'; var value = (0, _index.default)({ key: key, data: data }); expect(value).toEqual(expected); }); it('should return the result of the function', function () { var key = function key(d) { return d.name.toUpperCase(); }; var value = (0, _index.default)({ key: key, data: data }); var expected = 'POPINS'; expect(value).toEqual(expected); }); }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9zZWxlY3RWYWx1ZS9zZWxlY3RWYWx1ZS50ZXN0LmpzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwiZGF0YSIsIm5hbWUiLCJhZ2UiLCJzdXJuYW1lIiwicGV0cyIsIml0IiwidmFsdWUiLCJrZXkiLCJ1bmRlZmluZWQiLCJleHBlY3QiLCJ0b0VxdWFsIiwiZXhwZWN0ZWQiLCJzZXBhcmF0b3IiLCJkIiwidG9VcHBlckNhc2UiXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7QUFFQUEsUUFBUSxDQUFDLGFBQUQsRUFBZ0IsWUFBTTtBQUM1QixNQUFNQyxJQUFJLEdBQUc7QUFDWEMsSUFBQUEsSUFBSSxFQUFFLFFBREs7QUFFWEMsSUFBQUEsR0FBRyxFQUFFLEVBRk07QUFHWEMsSUFBQUEsT0FBTyxFQUFFLE9BSEU7QUFJWEMsSUFBQUEsSUFBSSxFQUFFLENBQUMsS0FBRCxFQUFRLEtBQVI7QUFKSyxHQUFiO0FBTUFDLEVBQUFBLEVBQUUsQ0FBQyx5Q0FBRCxFQUE0QyxZQUFNO0FBQ2xELFFBQU1DLEtBQUssR0FBRyxvQkFBWTtBQUFFQyxNQUFBQSxHQUFHLEVBQUVDLFNBQVA7QUFBa0JSLE1BQUFBLElBQUksRUFBSkE7QUFBbEIsS0FBWixDQUFkO0FBQ0FTLElBQUFBLE1BQU0sQ0FBQ0gsS0FBRCxDQUFOLENBQWNJLE9BQWQsQ0FBc0IsSUFBdEI7QUFDRCxHQUhDLENBQUY7QUFLQUwsRUFBQUEsRUFBRSxDQUFDLDBDQUFELEVBQTZDLFlBQU07QUFDbkQsUUFBTUUsR0FBRyxHQUFHLE1BQVo7QUFDQSxRQUFNRCxLQUFLLEdBQUcsb0JBQVk7QUFBRUMsTUFBQUEsR0FBRyxFQUFIQSxHQUFGO0FBQU9QLE1BQUFBLElBQUksRUFBRVE7QUFBYixLQUFaLENBQWQ7QUFDQUMsSUFBQUEsTUFBTSxDQUFDSCxLQUFELENBQU4sQ0FBY0ksT0FBZCxDQUFzQixJQUF0QjtBQUNELEdBSkMsQ0FBRjtBQU1BTCxFQUFBQSxFQUFFLENBQUMsd0RBQUQs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QUFBQSxhQUFJQSxDQUFDLENBQUNaLElBQUYsQ0FBT2EsV0FBUCxFQUFKO0FBQUEsS0FBYjs7QUFDQSxRQUFNUixLQUFLLEdBQUcsb0JBQVk7QUFBRUMsTUFBQUEsR0FBRyxFQUFIQSxHQUFGO0FBQU9QLE1BQUFBLElBQUksRUFBSkE7QUFBUCxLQUFaLENBQWQ7QUFDQSxRQUFNVyxRQUFRLEdBQUcsUUFBakI7QUFDQUYsSUFBQUEsTUFBTSxDQUFDSCxLQUFELENBQU4sQ0FBY0ksT0FBZCxDQUFzQkMsUUFBdEI7QUFDRCxHQUxDLENBQUY7QUFNRCxDQXBFTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNlbGVjdFZhbHVlIGZyb20gJy4vaW5kZXgnO1xuXG5kZXNjcmliZSgnc2VsZWN0VmFsdWUnLCAoKSA9PiB7XG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgbmFtZTogJ1BvcGlucycsXG4gICAgYWdlOiA0MixcbiAgICBzdXJuYW1lOiAnTWFyaWUnLFxuICAgIHBldHM6IFsnY2F0JywgJ2RvZyddLFxuICB9O1xuICBpdCgnc2hvdWxkIHJldHVybiBudWxsIHdoZW4gdGhlcmUgaXMgbm8ga2V5JywgKCkgPT4ge1xuICAgIGNvbnN0IHZhbHVlID0gc2VsZWN0VmFsdWUoeyBrZXk6IHVuZGVmaW5lZCwgZGF0YSB9KTtcbiAgICBleHBlY3QodmFsdWUpLnRvRXF1YWwobnVsbCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0aGVyZSBpcyBubyBkYXRhJywgKCkgPT4ge1xuICAgIGNvbnN0IGtleSA9ICduYW1lJztcbiAgICBjb25zdCB2YWx1ZSA9IHNlbGVjdFZhbHVlKHsga2V5LCBkYXRhOiB1bmRlZmluZWQgfSk7XG4gICAgZXhwZWN0KHZhbHVlKS50b0VxdWFsKG51bGwpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiB0aGUgcmlnaHQgdmFsdWUgd2hlbiB0aGUga2V5IGlzIGEgc3RyaW5nJywgKCkgPT4ge1xuICAgIGNvbnN0IGtleSA9ICduYW1lJztcbiAgICBjb25zdCBleHBlY3RlZCA9ICdQb3BpbnMnO1xuICAgIGNvbnN0IHZhbHVlID0gc2VsZWN0VmFsdWUoeyBrZXksIGRhdGEgfSk7XG4gICAgZXhwZWN0KHZhbHVlKS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIHJpZ2h0IHZhbHVlIHdoZW4gdGhlIGtleSBpcyBhIHN0cmluZyAoYW5kIHZhbHVlIGlzIGEgbnVtYmVyKScsICgpID0+IHtcbiAgICBjb25zdCBrZXkgPSAnYWdlJztcbiAgICBjb25zdCBleHBlY3RlZCA9IDQyO1xuICAgIGNvbnN0IHZhbHVlID0gc2VsZWN0VmFsdWUoeyBrZXksIGRhdGEgfSk7XG4gICAgZXhwZWN0KHZhbHVlKS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIGpvaW5kZWQgdmFsdWVzIGFzIGEgc3RyaW5nIHdoZW4gdGhlIGtleSBpcyBhbiBhcnJheScsICgpID0+IHtcbiAgICBjb25zdCBrZXkgPSBbJ3N1cm5hbWUnLCAnbmFtZSddO1xuICAgIGNvbnN0IGV4cGVjdGVkID0gJ01hcmllIC0gUG9waW5zJztcbiAgICBjb25zdCB2YWx1ZSA9IHNlbGVjdFZhbHVlKHsga2V5LCBkYXRhIH0pO1xuICAgIGV4cGVjdCh2YWx1ZSkudG9FcXVhbChleHBlY3RlZCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmV0dXJuIHRoZSBqb2luZGVkIHZhbHVlcyBhcyBhIHN0cmluZyB3aGVuIHRoZSBrZXkgaXMgYW4gYXJyYXkgd2l0aCB0aGUgcmlnaHQgc2VwYXJhdG9yJywgKCkgPT4ge1xuICAgIGNvbnN0IGtleSA9IFsnc3VybmFtZScsICduYW1lJywgJ2FnZSddO1xuICAgIGNvbnN0IHNlcGFyYXRvciA9ICcsICc7XG4gICAgY29uc3QgZXhwZWN0ZWQgPSAnTWFyaWUsIFBvcGlucywgNDInO1xuICAgIGNvbnN0IHZhbHVlID0gc2VsZWN0VmFsdWUoeyBrZXksIGRhdGEsIHNlcGFyYXRvciB9KTtcbiAgICBleHBlY3QodmFsdWUpLnRvRXF1YWwoZXhwZWN0ZWQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiB0aGUgam9pbmRlZCB2YWx1ZXMgYXMgYSBzdHJpbmcgd2hlbiB0aGUga2V5IGlzIGEgc3RyaW5nIGFuZCB0aGUgdmFsdWUgaXMgYW4gYXJyYXknLCAoKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gJ3BldHMnO1xuICAgIGNvbnN0IHNlcGFyYXRvciA9ICcsICc7XG4gICAgY29uc3QgZXhwZWN0ZWQgPSAnY2F0LCBkb2cnO1xuICAgIGNvbnN0IHZhbHVlID0gc2VsZWN0VmFsdWUoeyBrZXksIGRhdGEsIHNlcGFyYXRvciB9KTtcbiAgICBleHBlY3QodmFsdWUpLnRvRXF1YWwoZXhwZWN0ZWQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiB0aGUgam9pbmRlZCB2YWx1ZXMgYXMgYSBzdHJpbmcgd2hlbiB0aGUga2V5IGlzIGFuIGFycmF5IGFuZCBzb21lIHZhbHVlcyBhcmUgYXJyYXlzJywgKCkgPT4ge1xuICAgIGNvbnN0IGtleSA9IFsnc3VybmFtZScsICduYW1lJywgJ3BldHMnXTtcbiAgICBjb25zdCBleHBlY3RlZCA9ICdNYXJpZSAtIFBvcGlucyAtIGNhdCAtIGRvZyc7XG4gICAgY29uc3QgdmFsdWUgPSBzZWxlY3RWYWx1ZSh7IGtleSwgZGF0YSB9KTtcbiAgICBleHBlY3QodmFsdWUpLnRvRXF1YWwoZXhwZWN0ZWQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiB0aGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbicsICgpID0+IHtcbiAgICBjb25zdCBrZXkgPSBkID0+IGQubmFtZS50b1VwcGVyQ2FzZSgpO1xuICAgIGNvbnN0IHZhbHVlID0gc2VsZWN0VmFsdWUoeyBrZXksIGRhdGEgfSk7XG4gICAgY29uc3QgZXhwZWN0ZWQgPSAnUE9QSU5TJztcbiAgICBleHBlY3QodmFsdWUpLnRvRXF1YWwoZXhwZWN0ZWQpO1xuICB9KTtcbn0pO1xuIl19