summaryrefslogtreecommitdiff
path: root/packages/integrations/vue/test/toTsx.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/vue/test/toTsx.test.js')
-rw-r--r--packages/integrations/vue/test/toTsx.test.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/packages/integrations/vue/test/toTsx.test.js b/packages/integrations/vue/test/toTsx.test.js
new file mode 100644
index 000000000..bbb993788
--- /dev/null
+++ b/packages/integrations/vue/test/toTsx.test.js
@@ -0,0 +1,45 @@
+import { toTSX } from '../dist/editor.cjs';
+import { describe, it } from 'node:test';
+import assert from 'node:assert/strict';
+
+describe('toTSX function', () => {
+ it('should correctly transform Vue code to TSX with comments', () => {
+ const vueCode = `
+ <template>
+ <div>{{ msg }}</div>
+ </template>
+
+ <script setup>
+ // This is a comment in script setup
+ // defineProps(['msg']);
+ // console.log('foo)
+ </script>
+ `;
+
+ const className = 'MyComponent';
+ const result = toTSX(vueCode, className);
+
+ // Replace the expectations below with the expected result based on your logic
+ assert.strictEqual(result, `export default function ${className}__AstroComponent_(_props: Record<string, any>): any {}`)
+ });
+ it('should correctly transform Vue code to TSX', () => {
+ const vueCode = `
+ <template>
+ <div @click="handleClick">{{ msg }}</div>
+ </template>
+
+ <script setup>
+ const props defineProps({
+ msg: String
+ });
+ const handleClick = () => {
+ console.log('foo');
+ }
+ </script>
+ `;
+
+ const className = 'MyComponent';
+ const result = toTSX(vueCode, className);
+ assert.strictEqual(result.replace(/\s/g, ''), `import{defineProps}from'vue';constProps=defineProps({msg:String})exportdefaultfunction${className}__AstroComponent_(_props:typeofProps):any{<div></div>}`)
+ });
+});
t='13' alt='Gravatar' /> natemoo-re 1-2/+3 2022-02-04fix: HTML/SVG boolean attributes (#2538)Gravatar Nate Moore 2-3/+21 2022-02-04[ci] yarn formatGravatar matthewp 1-4/+2 2022-02-04fix: import local plugins into markdown (#2534)Gravatar Juan Martín Seery 9-22/+41 2022-02-04[ci] collect statsGravatar FredKSchott 1-0/+1 2022-02-03Append to list of HMR modules, don't override (#2532)Gravatar Matthew Phillips 2-1/+6 2022-02-03add back dev server host support (#2531)Gravatar Fred K. Schott 2-1/+14 2022-02-03simplify status code regexGravatar Fred K. Schott 2-87/+4 2022-02-03Adding StackUp Digital to the list of sponsors (#2521)Gravatar Astroalex 3-0/+10 2022-02-03[ci] collect statsGravatar FredKSchott 1-0/+1 2022-02-03[ci] yarn formatGravatar FredKSchott 2-3/+85 2022-02-02Handles all http error code file names the same as 404 files. (#2525)Gravatar Zade Viggers 2-4/+7 2022-02-02fix(sitemap): remove debug if sitemap disabled (#2514)Gravatar Mark Pinero 1-2/+2 2022-02-02[ci] update lockfile (#2515)Gravatar Fred K. Schott 1-276/+279 2022-02-02[ci] yarn formatGravatar matthewp 1-8/+8 2022-02-02[ci] release (next) (#2523)astro@0.23.0-next.1Gravatar github-actions[bot] 28-34/+41 2022-02-02[ci] yarn formatGravatar matthewp 2-17/+29 2022-02-02Fix support for scss in static build (#2522)Gravatar Matthew Phillips 6-20/+114 2022-02-02[ci] collect statsGravatar FredKSchott 1-0/+1 2022-02-01[ci] yarn formatGravatar matthewp 2-12/+12 2022-02-01[ci] release (next) (#2492)astro@0.23.0-next.0@astrojs/test-static-build-pkg@0.0.2@astrojs/markdown-remark@0.6.1-next.0Gravatar github-actions[bot] 31-43/+93 2022-02-01[ci] collect statsGravatar FredKSchott 1-0/+1 2022-01-31update congratsbot format againGravatar Fred K. Schott 1-1/+1 2022-01-31update congratsbot againGravatar Fred K. Schott 1-1/+1 2022-01-31Remove SVG animation on GitHub/NPM (#2512)Gravatar Nate Moore 1-21/+0 2022-01-31[ci] yarn formatGravatar natemoo-re 2-4/+6 2022-01-31Add Shiki as an alternative to Prism (#2497)Gravatar Juan Martín Seery 26-9/+356 2022-01-31Deprecate unescaped HTML inside of expressions (#2489)Gravatar Nate Moore 9-31/+74