diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 2416809..41fc0d3 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -1,16 +1,126 @@ name: End-to-end tests on: [push] jobs: - cypress-run: + vite-latest: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - - name: Cypress run + - name: Install vue + run: npm create vite@latest test-app -- --template vue + + - name: Add example code + run: | + mv ./example/src/App.vue ./test-app/src/App.vue + sed -i 's/ lang="ts"//' ./test-app/src/App.vue + mv ./example/vite.config.ts ./test-app/vite.config.js + mv ./example/src/assets/test.svg ./test-app/src/assets/test.svg + mv ./example/src/assets/style.svg ./test-app/src/assets/style.svg + mv ./example/src/assets/circle.svg ./test-app/src/assets/circle.svg + mv ./example/public/root.svg ./test-app/public/root.svg + + - name: Build + run: | + cd test-app + npm install + npm install vite-svg-loader --save-dev + npm run build + + - name: Test + uses: cypress-io/github-action@v6 + with: + start: npm run test:preview + + vite-latest-ts: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install vue-ts + run: npm create vite@latest test-app -- --template vue-ts + + - name: Add example code + run: | + mv ./example/src/App.vue ./test-app/src/App.vue + mv ./example/vite.config.ts ./test-app/vite.config.ts + mv ./example/src/vite-env.d.ts ./test-app/src/vite-env.d.ts + mv ./example/src/assets/test.svg ./test-app/src/assets/test.svg + mv ./example/src/assets/style.svg ./test-app/src/assets/style.svg + mv ./example/src/assets/circle.svg ./test-app/src/assets/circle.svg + mv ./example/public/root.svg ./test-app/public/root.svg + + - name: Build + run: | + cd test-app + npm install + npm install vite-svg-loader --save-dev + npm run build + + - name: Test + uses: cypress-io/github-action@v6 + with: + start: npm run test:preview + + vite-4: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install vue + run: npm create vite@4 test-app -- --template vue + + - name: Add example code + run: | + mv ./example/src/App.vue ./test-app/src/App.vue + sed -i 's/ lang="ts"//' ./test-app/src/App.vue + mv ./example/vite.config.ts ./test-app/vite.config.js + mv ./example/src/assets/test.svg ./test-app/src/assets/test.svg + mv ./example/src/assets/style.svg ./test-app/src/assets/style.svg + mv ./example/src/assets/circle.svg ./test-app/src/assets/circle.svg + mv ./example/public/root.svg ./test-app/public/root.svg + + - name: Build + run: | + cd test-app + npm install + npm install vite-svg-loader --save-dev + npm run build + + - name: Test + uses: cypress-io/github-action@v6 + with: + start: npm run test:preview + + vite-4-ts: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install vue-ts + run: npm create vite@4 test-app -- --template vue-ts + + - name: Add example code + run: | + mv ./example/src/App.vue ./test-app/src/App.vue + mv ./example/vite.config.ts ./test-app/vite.config.ts + mv ./example/src/vite-env.d.ts ./test-app/src/vite-env.d.ts + mv ./example/src/assets/test.svg ./test-app/src/assets/test.svg + mv ./example/src/assets/style.svg ./test-app/src/assets/style.svg + mv ./example/src/assets/circle.svg ./test-app/src/assets/circle.svg + mv ./example/public/root.svg ./test-app/public/root.svg + + - name: Build + run: | + cd test-app + npm install + npm install vite-svg-loader --save-dev + npm run build + + - name: Test uses: cypress-io/github-action@v6 with: - build: npm run example:build - start: npm run example:preview - env: - ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' + start: npm run test:preview diff --git a/cypress/integration/spec.js b/cypress/integration/spec.js index 081e52c..c5bb520 100644 --- a/cypress/integration/spec.js +++ b/cypress/integration/spec.js @@ -42,7 +42,7 @@ describe('Vite SVG Loader', () => { }) it('supports ?url param', () => { - cy.get('#url').contains(/^data:image\/svg\+xml/) + cy.get('#url').contains(/^data:image\/svg\+xml|^\/assets\/test.*\.svg/) }) it('supports ?raw param', () => { diff --git a/package.json b/package.json index 62b4055..53233a3 100644 --- a/package.json +++ b/package.json @@ -22,8 +22,7 @@ "scripts": { "lint": "standard --fix", "cypress": "cypress run", - "example:build": "cd ./example && npm ci && npm run build", - "example:preview": "cd ./example && npm run preview -- --host" + "test:preview": "cd ./test-app && npm run preview -- --host" }, "repository": { "type": "git",