wraith/node_modules/speakingurl/test/test-truncate.js
Vantz Stockwell 2848d79915 feat: Phase 1 complete — Tauri v2 foundation
Rust backend: SQLite (WAL mode, 8 tables), vault encryption
(Argon2id + AES-256-GCM), settings/connections/credentials
services, 19 Tauri command wrappers. 46/46 tests passing.

Vue 3 frontend: unlock/create vault flow, Pinia app store,
Tailwind CSS v4 dark theme with Wraith branding.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 15:09:41 -04:00

68 lines
1.6 KiB
JavaScript

/* global describe,it */
var getSlug = require('../lib/speakingurl');
describe('getSlug smart truncate', function () {
'use strict';
it('should maintain case characters, with smart truncate', function (done) {
getSlug('Foobarbaz, Bar Baz', {
truncate: 12
})
.should.eql('foobarbaz');
getSlug('Foobarbaz, Bar Baz', {
truncate: 15
})
.should.eql('foobarbaz-bar');
getSlug(' Foobarbaz, Bar Baz', {
truncate: 15
})
.should.eql('foobarbaz-bar');
getSlug(' Foobarbaz, Bar Baz', {
truncate: 15
})
.should.eql('foobarbaz-bar');
getSlug('Foo Foo bar Zoo Bar Baz', {
truncate: 15
})
.should.eql('foo-foo-bar-zoo');
getSlug('Foo Foo bar ZooBar Baz', {
truncate: 15
})
.should.eql('foo-foo-bar');
getSlug('Foo Foo bar ZooBar Baz', {
truncate: 15
})
.should.eql('foo-foo-bar');
getSlug('Foo Foo Bar Bar', {
truncate: "foo"
})
.should.eql('foo-foo-bar-bar');
getSlug('Foo Foo Bar Bar', {
truncate: false
})
.should.eql('foo-foo-bar-bar');
getSlug('Foo Foo Bar Bar', {
truncate: true
})
.should.eql('foo-foo-bar-bar');
getSlug('a Foo', {
truncate: true
})
.should.eql('a-foo');
done();
});
});