mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-01-04 09:05:49 -05:00
feat(client): add action row with interactive editor toggle to lectures (#62928)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
This commit is contained in:
@@ -28,51 +28,51 @@ describe('add-interactive-editor plugin', () => {
|
||||
element => element.type === 'interactiveEditor'
|
||||
);
|
||||
|
||||
expect(editorElements).toEqual(
|
||||
expect.arrayContaining([
|
||||
{
|
||||
data: [
|
||||
{
|
||||
ext: expect.any(String),
|
||||
name: expect.any(String),
|
||||
contents: expect.stringContaining(
|
||||
'<div>This is an interactive element</div>'
|
||||
)
|
||||
}
|
||||
],
|
||||
type: 'interactiveEditor'
|
||||
}
|
||||
])
|
||||
);
|
||||
|
||||
expect(editorElements).toEqual(
|
||||
expect.arrayContaining([
|
||||
{
|
||||
data: [
|
||||
{
|
||||
ext: expect.any(String),
|
||||
name: expect.any(String),
|
||||
contents: expect.stringContaining(
|
||||
'This is an interactive element'
|
||||
)
|
||||
}
|
||||
],
|
||||
type: 'interactiveEditor'
|
||||
},
|
||||
{
|
||||
data: [
|
||||
{
|
||||
ext: expect.any(String),
|
||||
name: expect.any(String),
|
||||
contents: expect.stringContaining(
|
||||
"console.log('Interactive JS');"
|
||||
)
|
||||
}
|
||||
],
|
||||
type: 'interactiveEditor'
|
||||
}
|
||||
])
|
||||
);
|
||||
expect(editorElements).toEqual([
|
||||
{
|
||||
type: 'interactiveEditor',
|
||||
data: [
|
||||
{
|
||||
contents: "console.log('Interactive JS');",
|
||||
ext: 'js',
|
||||
name: 'script-1',
|
||||
contentsHtml:
|
||||
'<pre><code class="language-js">console.log(\'Interactive JS\');\n</code></pre>'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: 'interactiveEditor',
|
||||
data: [
|
||||
{
|
||||
contents: '<div>This is an interactive element</div>',
|
||||
ext: 'html',
|
||||
name: 'index-1',
|
||||
contentsHtml:
|
||||
'<pre><code class="language-html"><div>This is an interactive element</div>\n</code></pre>'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: 'interactiveEditor',
|
||||
data: [
|
||||
{
|
||||
contents: '<div>This is an interactive element</div>',
|
||||
ext: 'html',
|
||||
name: 'index-1',
|
||||
contentsHtml:
|
||||
'<pre><code class="language-html"><div>This is an interactive element</div>\n</code></pre>'
|
||||
},
|
||||
{
|
||||
contents: "console.log('Interactive JS');",
|
||||
ext: 'js',
|
||||
name: 'script-1',
|
||||
contentsHtml:
|
||||
'<pre><code class="language-js">console.log(\'Interactive JS\');\n</code></pre>'
|
||||
}
|
||||
]
|
||||
}
|
||||
]);
|
||||
});
|
||||
|
||||
it('provides unique names for each file with the same extension', async () => {
|
||||
@@ -97,6 +97,9 @@ describe('add-interactive-editor plugin', () => {
|
||||
// Contents should match
|
||||
expect(files[0].contents).toBe("console.log('First JavaScript file');");
|
||||
expect(files[1].contents).toBe("console.log('Second JavaScript file');");
|
||||
|
||||
expect(files[0].contentsHtml).toContain('<pre><code class="language-js">');
|
||||
expect(files[1].contentsHtml).toContain('<pre><code class="language-js">');
|
||||
});
|
||||
|
||||
it('respects the order of elements in the original markdown', async () => {
|
||||
|
||||
Reference in New Issue
Block a user