mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
54 lines
1.7 KiB
JavaScript
54 lines
1.7 KiB
JavaScript
var selftest = require('../tool-testing/selftest.js');
|
|
|
|
var Sandbox = selftest.Sandbox;
|
|
|
|
var MONGO_LISTENING =
|
|
{ stdout: " [initandlisten] waiting for connections on port" };
|
|
|
|
async function startRun(sandbox) {
|
|
var run = sandbox.run();
|
|
await run.match("myapp");
|
|
await run.match("proxy");
|
|
await run.tellMongo(MONGO_LISTENING);
|
|
await run.match("MongoDB");
|
|
return run;
|
|
}
|
|
|
|
// Test that an app can properly read assets with unicode based filenames
|
|
selftest.define("assets - unicode asset names are allowed", async () => {
|
|
const s = new Sandbox({ fakeMongo: true });
|
|
await s.init();
|
|
|
|
await s.createApp('myapp', 'unicode-asset-app');
|
|
s.cd('myapp');
|
|
const run = await startRun(s);
|
|
await run.match('1 - getText: Hello world!');
|
|
await run.match('2 - getText: Hello world!');
|
|
await run.match('3 - getText: Hello world!');
|
|
await run.match(/1 - absoluteFilePath:(.*)ma_a_verde.txt/);
|
|
await run.match(/2 - absoluteFilePath:(.*)ma_a_verde.txt/);
|
|
await run.match(/3 - absoluteFilePath:(.*)ma_a_verde.txt/);
|
|
await run.stop();
|
|
});
|
|
|
|
// Verify path strings can be Unicode normalized through the
|
|
// tools/static-assets/server/mini-files.ts#unicodeNormalizePath helper
|
|
selftest.define(
|
|
"assets - helper exists to unicode normalize path strings",
|
|
async () => {
|
|
const files = require('../static-assets/server/mini-files.ts');
|
|
|
|
await selftest.expectEqual(null, files.unicodeNormalizePath(null));
|
|
|
|
const unicodeNormalizedPath = '/path/maça verde.txt'.normalize('NFC');
|
|
const testPaths = [
|
|
'/path/maça verde.txt',
|
|
'/path/mac\u0327a verde.txt',
|
|
'/path/ma\xE7a verde.txt',
|
|
];
|
|
for (const path of testPaths) {
|
|
await selftest.expectEqual(unicodeNormalizedPath, files.unicodeNormalizePath(path));
|
|
}
|
|
}
|
|
);
|