hello world<
')).toBe(true);
expect(isValidContent('
5 < 10
')).toBe(true);
expect(isValidContent('
a
')).toBe(true);
});
});
describe('isValidContent - 有效的 script 内容', () => {
it('应该接受完整的 script 标签', () => {
expect(isValidContent('')).toBe(true);
expect(isValidContent('')).toBe(true);
expect(isValidContent('')).toBe(true);
});
it('应该接受使用单引号的 script 标签', () => {
expect(isValidContent("")).toBe(true);
});
it('应该接受带有多行代码的 script 标签', () => {
const content = ``;
expect(isValidContent(content)).toBe(true);
});
});
describe('isValidContent - 无效的 script 内容', () => {
it('应该拒绝没有 id 的 script 标签', () => {
expect(isValidContent('')).toBe(false);
});
it('应该拒绝没有闭合标签的 script', () => {
expect(isValidContent(' {
expect(isValidContent('')).toBe(false);
expect(isValidContent('')).toBe(false);
});
it('应该拒绝末尾有孤立 < 字符的 script 内容', () => {
expect(isValidContent('')).toBe(true);
expect(isValidContent('')).toBe(true);
});
});
describe('isValidContent - 有效的 style 内容', () => {
it('应该接受完整的 style 标签', () => {
expect(isValidContent('')).toBe(true);
expect(isValidContent('')).toBe(true);
expect(isValidContent('')).toBe(true);
});
it('应该接受使用单引号的 style 标签', () => {
expect(isValidContent("")).toBe(true);
});
it('应该接受带有多行样式的 style 标签', () => {
const content = ``;
expect(isValidContent(content)).toBe(true);
});
});
describe('isValidContent - 无效的 style 内容', () => {
it('应该拒绝没有 id 的 style 标签', () => {
expect(isValidContent('')).toBe(false);
});
it('应该拒绝没有闭合标签的 style', () => {
expect(isValidContent(' {
expect(isValidContent('')).toBe(false);
expect(isValidContent('')).toBe(false);
});
it('应该拒绝末尾有孤立 < 字符的 style 内容', () => {
expect(isValidContent('')).toBe(true);
});
});
describe('isValidContent - 边界情况', () => {
it('应该拒绝空字符串', () => {
expect(isValidContent('')).toBe(false);
});
it('应该拒绝只有空格的字符串', () => {
expect(isValidContent(' ')).toBe(false);
});
it('应该拒绝 null 和 undefined', () => {
expect(isValidContent(null as any)).toBe(false);
expect(isValidContent(undefined as any)).toBe(false);
});
it('应该拒绝非字符串类型', () => {
expect(isValidContent(123 as any)).toBe(false);
expect(isValidContent({} as any)).toBe(false);
expect(isValidContent([] as any)).toBe(false);
});
it('应该拒绝纯文本内容(不是标签)', () => {
expect(isValidContent('hello world')).toBe(false);
});
it('应该接受带有前导空格的有效内容', () => {
expect(isValidContent('
content
')).toBe(true);
expect(isValidContent(' ')).toBe(true);
expect(isValidContent(' ')).toBe(true);
});
});
});