Skip to content

Commit 5d79142

Browse files
committed
test: basic browser test setup
Basic browser test setup using: vitest, vitest/browser & playwrite.
1 parent 17c5410 commit 5d79142

File tree

7 files changed

+829
-11
lines changed

7 files changed

+829
-11
lines changed

.github/workflows/test.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,21 @@ jobs:
3434
- name: Install dependencies
3535
run: npm ci
3636

37+
- name: Install Playwright Browsers
38+
run: npx playwright install --with-deps
39+
3740
- name: Code quality
3841
run: npm run lint
3942

4043
- name: Build
4144
run: npm run build
45+
46+
- name: Run tests
47+
run: npm run test
48+
49+
- uses: actions/upload-artifact@v4
50+
if: ${{ !cancelled() }}
51+
with:
52+
name: playwright-report
53+
path: playwright-report/
54+
retention-days: 30

index.html

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -96,13 +96,13 @@
9696
// * Option 1. autoload - default
9797
// */
9898
// import '/src/index.js'
99-
// import SyntaxHighlightElement from '/src/index.js'
99+
import SyntaxHighlightElement from '/src/index.js'
100100

101101
/**
102102
* Option 2. Opt out of prism autoload by manually importing prism core
103103
*/
104-
import 'https://cdn.jsdelivr.net/npm/prismjs@1.30.0/components/prism-core.min.js'
105-
import SyntaxHighlightElement from '/src/index.js?define=false'
104+
// import 'https://cdn.jsdelivr.net/npm/prismjs@1.30.0/components/prism-core.min.js'
105+
// import SyntaxHighlightElement from '/src/index.js?define=false'
106106

107107
/**
108108
* Option 2.a. Load lang deps manually (without dependency resolution)
@@ -126,11 +126,11 @@
126126
* Option 2.b. resolve language dependencies and load from URL/CDN
127127
*/
128128
// - CDN
129-
import { loadPrismLanguage } from '/src/tokenizer/prism.js'
130-
await loadPrismLanguage({
131-
baseUrl: 'https://unpkg.com/prismjs@1.30.0',
132-
language: window.she.config.languages
133-
});
129+
// import { loadPrismLanguage } from '/src/tokenizer/prism.js'
130+
// await loadPrismLanguage({
131+
// baseUrl: 'https://unpkg.com/prismjs@1.30.0',
132+
// language: window.she.config.languages
133+
// });
134134
// // - npm
135135
// import { resolveLanguageDependencies } from '/src/tokenizer/prism.js'
136136
// const langDeps = resolveLanguageDependencies(window.she.config.languages);
@@ -140,7 +140,7 @@
140140
// console.log({importPath})
141141
// }
142142
// // - Manually define SyntaxHighlightElement with ?define=false once all dependecies are loaded
143-
window.SyntaxHighlightElement = SyntaxHighlightElement.define();
143+
// window.SyntaxHighlightElement = await SyntaxHighlightElement.define();
144144
</script>
145145
<script>
146146
document.addEventListener('DOMContentLoaded', () => {

0 commit comments

Comments
 (0)