Skip to content

Commit 76555fc

Browse files
committed
Tests for invalid text regex
1 parent 089514e commit 76555fc

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

tests/sitemap-xml.test.ts

+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
import { text } from '../lib/sitemap-xml';
2+
3+
describe('text function', () => {
4+
it('should replace ampersand with &', () => {
5+
const input = 'Hello & World';
6+
const output = text(input);
7+
expect(output).toBe('Hello & World');
8+
});
9+
10+
it('should replace less than sign with <', () => {
11+
const input = 'Hello < World';
12+
const output = text(input);
13+
expect(output).toBe('Hello &lt; World');
14+
});
15+
16+
it.each([
17+
['\u0000', 'Hello \u0000 World', 'Hello World'],
18+
['\u0008', 'Hello \u0008 World', 'Hello World'],
19+
['\u000B', 'Hello \u000B World', 'Hello World'],
20+
['\u000C', 'Hello \u000C World', 'Hello World'],
21+
['\u001F', 'Hello \u001F World', 'Hello World'],
22+
['\u007F', 'Hello \u007F World', 'Hello World'],
23+
['\u0084', 'Hello \u0084 World', 'Hello World'],
24+
['\u0086', 'Hello \u0086 World', 'Hello World'],
25+
['\u009F', 'Hello \u009F World', 'Hello World'],
26+
['\uD800', 'Hello \uD800 World', 'Hello World'],
27+
['\uDFFF', 'Hello \uDFFF World', 'Hello World'],
28+
['\uFDD0', 'Hello \uFDD0 World', 'Hello World'],
29+
['\uFDDF', 'Hello \uFDDF World', 'Hello World'],
30+
['\u{1FFFE}', 'Hello \u{1FFFE} World', 'Hello World'],
31+
['\u{1FFFF}', 'Hello \u{1FFFF} World', 'Hello World'],
32+
['\u{2FFFE}', 'Hello \u{2FFFE} World', 'Hello World'],
33+
['\u{2FFFF}', 'Hello \u{2FFFF} World', 'Hello World'],
34+
['\u{3FFFE}', 'Hello \u{3FFFE} World', 'Hello World'],
35+
['\u{3FFFF}', 'Hello \u{3FFFF} World', 'Hello World'],
36+
['\u{4FFFE}', 'Hello \u{4FFFE} World', 'Hello World'],
37+
['\u{4FFFF}', 'Hello \u{4FFFF} World', 'Hello World'],
38+
['\u{5FFFE}', 'Hello \u{5FFFE} World', 'Hello World'],
39+
['\u{5FFFF}', 'Hello \u{5FFFF} World', 'Hello World'],
40+
['\u{6FFFE}', 'Hello \u{6FFFE} World', 'Hello World'],
41+
['\u{6FFFF}', 'Hello \u{6FFFF} World', 'Hello World'],
42+
['\u{7FFFE}', 'Hello \u{7FFFE} World', 'Hello World'],
43+
['\u{7FFFF}', 'Hello \u{7FFFF} World', 'Hello World'],
44+
['\u{8FFFE}', 'Hello \u{8FFFE} World', 'Hello World'],
45+
['\u{8FFFF}', 'Hello \u{8FFFF} World', 'Hello World'],
46+
['\u{9FFFE}', 'Hello \u{9FFFE} World', 'Hello World'],
47+
['\u{9FFFF}', 'Hello \u{9FFFF} World', 'Hello World'],
48+
['\u{AFFFE}', 'Hello \u{AFFFE} World', 'Hello World'],
49+
['\u{AFFFF}', 'Hello \u{AFFFF} World', 'Hello World'],
50+
['\u{BFFFE}', 'Hello \u{BFFFE} World', 'Hello World'],
51+
['\u{BFFFF}', 'Hello \u{BFFFF} World', 'Hello World'],
52+
['\u{CFFFE}', 'Hello \u{CFFFE} World', 'Hello World'],
53+
['\u{CFFFF}', 'Hello \u{CFFFF} World', 'Hello World'],
54+
['\u{DFFFE}', 'Hello \u{DFFFE} World', 'Hello World'],
55+
['\u{DFFFF}', 'Hello \u{DFFFF} World', 'Hello World'],
56+
['\u{EFFFE}', 'Hello \u{EFFFE} World', 'Hello World'],
57+
['\u{EFFFF}', 'Hello \u{EFFFF} World', 'Hello World'],
58+
['\u{FFFFE}', 'Hello \u{FFFFE} World', 'Hello World'],
59+
['\u{FFFFF}', 'Hello \u{FFFFF} World', 'Hello World'],
60+
['\u{10FFFE}', 'Hello \u{10FFFE} World', 'Hello World'],
61+
['\u{10FFFF}', 'Hello \u{10FFFF} World', 'Hello World'],
62+
])('should remove invalid XML unicode character %s', (char, input, expected) => {
63+
const output = text(input);
64+
expect(output).toBe(expected);
65+
});
66+
});

0 commit comments

Comments
 (0)