1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- window.addEventListener('converse-loaded', () => {
- const utils = converse.env.utils;
- const _ = converse.env._;
- return describe("Converse.js Utilities", function() {
- it("applySiteSettings: recursively applies user settings", function () {
- var context = {};
- var settings = {
- show_toolbar: true,
- chatview_avatar_width: 32,
- chatview_avatar_height: 32,
- auto_join_rooms: [],
- visible_toolbar_buttons: {
- 'emojis': true,
- 'call': false,
- 'clear': true,
- 'toggle_occupants': true
- }
- };
- _.extend(context, settings);
- var user_settings = {
- something_else: 'xxx',
- show_toolbar: false,
- chatview_avatar_width: 32,
- chatview_avatar_height: 48,
- auto_join_rooms: [
- 'anonymous@conference.nomnom.im',
- ],
- visible_toolbar_buttons: {
- 'emojis': false,
- 'call': false,
- 'toggle_occupants':false,
- 'invalid': false
- }
- };
- utils.applySiteSettings(context, settings, user_settings);
- expect(context.something_else).toBeUndefined();
- expect(context.show_toolbar).toBeFalsy();
- expect(context.chatview_avatar_width).toBe(32);
- expect(context.chatview_avatar_height).toBe(48);
- expect(_.keys(context.visible_toolbar_buttons)).toEqual(_.keys(settings.visible_toolbar_buttons));
- expect(context.visible_toolbar_buttons.emojis).toBeFalsy();
- expect(context.visible_toolbar_buttons.call).toBeFalsy();
- expect(context.visible_toolbar_buttons.toggle_occupants).toBeFalsy();
- expect(context.visible_toolbar_buttons.invalid).toBeFalsy();
- expect(context.auto_join_rooms.length).toBe(1);
- expect(context.auto_join_rooms[0]).toBe('anonymous@conference.nomnom.im');
- user_settings = {
- visible_toolbar_buttons: {
- 'toggle_occupants': true
- }
- };
- utils.applySiteSettings(context, settings, user_settings);
- expect(_.keys(context.visible_toolbar_buttons)).toEqual(_.keys(settings.visible_toolbar_buttons));
- expect(context.visible_toolbar_buttons.toggle_occupants).toBeTruthy();
- });
- });
- });
|