Features: - Full RBAC with 3 roles (superadmin/manager/contributor) - Ownership tracking on posts, tasks, campaigns, projects - Task system: assign to anyone, filter combobox, visibility scoping - Team members merged into users table (single source of truth) - Post thumbnails on kanban cards from attachments - Publication link validation before publishing - Interactive onboarding tutorial with Settings restart - Full Arabic/English i18n with RTL layout support - Language toggle in sidebar, IBM Plex Sans Arabic font - Brand-based visibility filtering for non-superadmins - Manager can only create contributors - Profile completion flow for new users - Cookie-based sessions (express-session + SQLite)
25 lines
666 B
JavaScript
25 lines
666 B
JavaScript
|
|
var sep = require('path').sep || '/';
|
|
var assert = require('assert');
|
|
var uri2path = require('../');
|
|
var tests = require('./tests.json');
|
|
|
|
describe('file-uri-to-path', function () {
|
|
|
|
Object.keys(tests).forEach(function (uri) {
|
|
|
|
// the test cases were generated from Windows' PathCreateFromUrlA() function.
|
|
// On Unix, we have to replace the path separator with the Unix one instead of
|
|
// the Windows one.
|
|
var expected = tests[uri].replace(/\\/g, sep);
|
|
|
|
it('should convert ' + JSON.stringify(uri) + ' to ' + JSON.stringify(expected),
|
|
function () {
|
|
var actual = uri2path(uri);
|
|
assert.equal(actual, expected);
|
|
});
|
|
|
|
});
|
|
|
|
});
|