This repository has been archived on 2026-04-03. You can view files and clone it, but cannot push or open issues or pull requests.
nyx/node_modules/speakingurl/test/test-rfc3986.js
Nico e2667f8e12 Initial nyx project — fork of hermes-frontend
Forked from hermes-frontend, stripped openclaw/bun specifics:
- Auth tokens: openclaw_session -> nyx_session
- Vite proxy: localhost:3003 -> localhost:8000 (assay)
- Prod WS: wss://assay.loop42.de/ws
- Workspace paths: removed openclaw-specific paths
- Added missing deps: @heroicons/vue, overlayscrollbars-vue
- Branding: title -> nyx

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 20:23:27 +02:00

128 lines
3.3 KiB
JavaScript

/* global describe,it */
var getSlug = require('../lib/speakingurl');
describe('getSlug rfc3986', function () {
'use strict';
it('"uric" characters allowed', function (done) {
var chars = [';', '?', ':', '@', '&', '=', '+', ',', '/'];
for (var i = 0; i < chars.length; i++) {
getSlug("foo " + chars[i] + " bar baz", {
uric: true
})
.should.eql("foo-" + chars[i] + "-bar-baz");
}
done();
});
it('"uricNoSlash" characters allowed', function (done) {
var chars = [';', '?', ':', '@', '&', '=', '+', ','];
for (var i = 0; i < chars.length; i++) {
getSlug("foo " + chars[i] + " bar baz", {
uricNoSlash: true
})
.should.eql("foo-" + chars[i] + "-bar-baz");
}
done();
});
it('"mark" characters allowed', function (done) {
var chars = ['.', '!', '~', '*', '\'', '(', ')'];
for (var i = 0; i < chars.length; i++) {
getSlug("foo " + chars[i] + " bar baz", {
mark: true
})
.should.eql("foo-" + chars[i] + "-bar-baz");
}
done();
});
it('"uric" characters allowed, separator ";"', function (done) {
var chars = ['?', ':', '@', '&', '=', '+', ',', '/'];
for (var i = 0; i < chars.length; i++) {
getSlug("foo " + chars[i] + " bar baz", {
uric: true,
separator: ';'
})
.should.eql("foo;" + chars[i] + ";bar;baz");
}
done();
});
it('"uric" characters allowed, separator ";" included in input string', function (done) {
getSlug("foo ; bar baz", {
uric: true,
separator: ';'
})
.should.eql("foo;bar;baz");
done();
});
it('"uricNoSlash" characters allowed, separator ";"', function (done) {
var chars = ['?', ':', '@', '&', '=', '+', ','];
for (var i = 0; i < chars.length; i++) {
getSlug("foo " + chars[i] + " bar baz", {
uricNoSlash: true,
separator: ';'
})
.should.eql("foo;" + chars[i] + ";bar;baz");
}
done();
});
it('"uricNoSlash" characters allowed, separator ";" included in input string', function (done) {
getSlug("foo ; bar baz", {
uric: true,
separator: ';'
})
.should.eql("foo;bar;baz");
done();
});
it('"mark" characters allowed, separator "."', function (done) {
var chars = ['!', '~', '*', '\'', '(', ')'];
for (var i = 0; i < chars.length; i++) {
getSlug("foo " + chars[i] + " bar baz", {
mark: true,
separator: '.'
})
.should.eql("foo." + chars[i] + ".bar.baz");
}
done();
});
it('"mark" characters allowed, separator "." included in input string', function (done) {
getSlug("foo . bar baz", {
uric: true,
separator: '.'
})
.should.eql("foo.bar.baz");
done();
});
});