diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index ce8d3d8..d1c5a68 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -30,27 +30,79 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Setup Pages
id: pages
- uses: actions/configure-pages@v2
+ uses: actions/configure-pages@v5
- name: Inject version information
run: |
DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
jq -n --arg commit "$GITHUB_SHA" --arg build "$GITHUB_RUN_NUMBER" --arg date "$DATE" '{commit: $commit, build: $build, date: $date}' > ./src/version.json
- name: Upload artifact
- uses: actions/upload-pages-artifact@v1
+ uses: actions/upload-pages-artifact@v3
with:
path: ./src
+ # Test job
+ test:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: 🏗 Prepare Playwright env
+ working-directory: ./tests
+ run: |
+ npm ci
+ PLAYWRIGHT_VERSION=$(npm ls --json @playwright/test | jq --raw-output '.dependencies["@playwright/test"].version')
+ echo "PLAYWRIGHT_VERSION=$PLAYWRIGHT_VERSION" >> $GITHUB_ENV
+
+ - name: 🧰 Cache Playwright browser binaries
+ uses: actions/cache@v4
+ id: playwright-cache
+ with:
+ path: "~/.cache/ms-playwright"
+ key: "${{ runner.os }}-playwright-${{ env.PLAYWRIGHT_VERSION }}"
+ restore-keys: |
+ ${{ runner.os }}-playwright-
+
+ - name: 🏗 Install Playwright browser binaries & OS dependencies
+ if: steps.playwright-cache.outputs.cache-hit != 'true'
+ working-directory: ./tests
+ run: |
+ sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
+ npx playwright install --with-deps
+
+ - name: 🏗 Install Playwright OS dependencies
+ if: steps.playwright-cache.outputs.cache-hit == 'true'
+ working-directory: ./tests
+ run: |
+ sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
+ npx playwright install-deps
+
+ - name: 🎭 Run Playwright
+ working-directory: ./tests
+ run: |
+ npx playwright test
+
+ - name: ⬆ Upload Playwright report
+ uses: actions/upload-artifact@v4
+ if: always()
+ with:
+ name: playwright-report
+ path: tests/playwright-report
+
+
# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
- needs: build
+ needs:
+ - build
+ - test
steps:
- name: Deploy to GitHub Pages
id: deployment
- uses: actions/deploy-pages@v1
+ uses: actions/deploy-pages@v4
diff --git a/Taskfile.yml b/Taskfile.yml
index e884531..385245f 100644
--- a/Taskfile.yml
+++ b/Taskfile.yml
@@ -2,7 +2,6 @@ version: '3'
tasks:
serve:
- dir: ./src
cmds:
- echo "Starting server on http://localhost:8000"
- - python -m http.server 8000
+ - npx http-server ./src -p 8000
diff --git a/tests/.gitignore b/tests/.gitignore
new file mode 100644
index 0000000..68c5d18
--- /dev/null
+++ b/tests/.gitignore
@@ -0,0 +1,5 @@
+node_modules/
+/test-results/
+/playwright-report/
+/blob-report/
+/playwright/.cache/
diff --git a/tests/files/test-pdf.pdf b/tests/files/test-pdf.pdf
new file mode 100644
index 0000000..94e100b
Binary files /dev/null and b/tests/files/test-pdf.pdf differ
diff --git a/tests/files/test-pdf.svg b/tests/files/test-pdf.svg
new file mode 100644
index 0000000..cd95221
--- /dev/null
+++ b/tests/files/test-pdf.svg
@@ -0,0 +1,662 @@
+
+
+
+
diff --git a/tests/package-lock.json b/tests/package-lock.json
new file mode 100644
index 0000000..abfa970
--- /dev/null
+++ b/tests/package-lock.json
@@ -0,0 +1,91 @@
+{
+ "name": "cardfoldr-tests",
+ "version": "1.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "cardfoldr-tests",
+ "version": "1.0.0",
+ "license": "ISC",
+ "devDependencies": {
+ "@playwright/test": "^1.44.1",
+ "@types/node": "^20.12.12"
+ }
+ },
+ "node_modules/@playwright/test": {
+ "version": "1.44.1",
+ "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.44.1.tgz",
+ "integrity": "sha512-1hZ4TNvD5z9VuhNJ/walIjvMVvYkZKf71axoF/uiAqpntQJXpG64dlXhoDXE3OczPuTuvjf/M5KWFg5VAVUS3Q==",
+ "dev": true,
+ "dependencies": {
+ "playwright": "1.44.1"
+ },
+ "bin": {
+ "playwright": "cli.js"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/@types/node": {
+ "version": "20.12.12",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz",
+ "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==",
+ "dev": true,
+ "dependencies": {
+ "undici-types": "~5.26.4"
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/playwright": {
+ "version": "1.44.1",
+ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.1.tgz",
+ "integrity": "sha512-qr/0UJ5CFAtloI3avF95Y0L1xQo6r3LQArLIg/z/PoGJ6xa+EwzrwO5lpNr/09STxdHuUoP2mvuELJS+hLdtgg==",
+ "dev": true,
+ "dependencies": {
+ "playwright-core": "1.44.1"
+ },
+ "bin": {
+ "playwright": "cli.js"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "optionalDependencies": {
+ "fsevents": "2.3.2"
+ }
+ },
+ "node_modules/playwright-core": {
+ "version": "1.44.1",
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.1.tgz",
+ "integrity": "sha512-wh0JWtYTrhv1+OSsLPgFzGzt67Y7BE/ZS3jEqgGBlp2ppp1ZDj8c+9IARNW4dwf1poq5MgHreEM2KV/GuR4cFA==",
+ "dev": true,
+ "bin": {
+ "playwright-core": "cli.js"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/undici-types": {
+ "version": "5.26.5",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
+ "dev": true
+ }
+ }
+}
diff --git a/tests/package.json b/tests/package.json
new file mode 100644
index 0000000..56228ce
--- /dev/null
+++ b/tests/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "cardfoldr-tests",
+ "version": "1.0.0",
+ "description": "",
+ "main": "index.js",
+ "scripts": {
+ "start": "npx http-server ../src -p 8000",
+ "test": "npx playwright test",
+ "test-ui": "npx playwright test --ui",
+ "update-screenshots": "npx playwright test --update-snapshots"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "devDependencies": {
+ "@playwright/test": "^1.44.1",
+ "@types/node": "^20.12.12"
+ }
+}
diff --git a/tests/playwright.config.js b/tests/playwright.config.js
new file mode 100644
index 0000000..20d93d2
--- /dev/null
+++ b/tests/playwright.config.js
@@ -0,0 +1,76 @@
+// @ts-check
+const { defineConfig, devices } = require('@playwright/test');
+
+/**
+ * @see https://playwright.dev/docs/test-configuration
+ */
+module.exports = defineConfig({
+ testDir: './specs',
+ fullyParallel: true,
+ /* Fail the build on CI if you accidentally left test.only in the source code. */
+ forbidOnly: !!process.env.CI,
+ /* Retry on CI only */
+ retries: process.env.CI ? 2 : 0,
+ /* Opt out of parallel tests on CI. */
+ workers: process.env.CI ? 1 : undefined,
+ /* Reporter to use. See https://playwright.dev/docs/test-reporters */
+ reporter: 'html',
+
+ /* Screenshot settings */
+ snapshotPathTemplate: '{testDir}/screenshots/{testFilePath}/{testName}/{arg}{ext}',
+
+ /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
+ use: {
+ /* Base URL to use in actions like `await page.goto('/')`. */
+ baseURL: 'http://127.0.0.1:8000',
+
+ /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
+ trace: 'on-first-retry',
+ },
+
+ /* Configure projects for major browsers */
+ projects: [
+ {
+ name: 'chromium',
+ use: { ...devices['Desktop Chrome'] },
+ },
+
+ {
+ name: 'firefox',
+ use: { ...devices['Desktop Firefox'] },
+ },
+
+ /*{
+ name: 'webkit',
+ use: { ...devices['Desktop Safari'] },
+ },*/
+
+ /* Test against mobile viewports. */
+ // {
+ // name: 'Mobile Chrome',
+ // use: { ...devices['Pixel 5'] },
+ // },
+ // {
+ // name: 'Mobile Safari',
+ // use: { ...devices['iPhone 12'] },
+ // },
+
+ /* Test against branded browsers. */
+ // {
+ // name: 'Microsoft Edge',
+ // use: { ...devices['Desktop Edge'], channel: 'msedge' },
+ // },
+ // {
+ // name: 'Google Chrome',
+ // use: { ...devices['Desktop Chrome'], channel: 'chrome' },
+ // },
+ ],
+
+ /* Run your local dev server before starting the tests */
+ webServer: {
+ command: 'npm run start',
+ url: 'http://127.0.0.1:8000',
+ reuseExistingServer: !process.env.CI,
+ },
+});
+
diff --git a/tests/specs/error-free-load.spec.js b/tests/specs/error-free-load.spec.js
new file mode 100644
index 0000000..c5628ed
--- /dev/null
+++ b/tests/specs/error-free-load.spec.js
@@ -0,0 +1,18 @@
+// @ts-check
+const { test, expect } = require('@playwright/test');
+
+test("Error free page load", async ({page}) => {
+ const errors = [];
+ page.on("pageerror", (error) => {
+ errors.push(`[${error.name}] ${error.message}`);
+ });
+ page.on("console", (msg) => {
+ if (msg.type() === "error") {
+ errors.push(`[${msg.type()}] ${msg.text()}`);
+ }
+ });
+
+ await page.goto("./");
+
+ await expect(errors).toStrictEqual([]);
+});
diff --git a/tests/specs/extract-cards.spec.js b/tests/specs/extract-cards.spec.js
new file mode 100644
index 0000000..e1475a9
--- /dev/null
+++ b/tests/specs/extract-cards.spec.js
@@ -0,0 +1,91 @@
+// @ts-check
+const { test, expect } = require('@playwright/test');
+
+const gotoPage = async (page) => {
+ await page.goto("./?grid-count-x=3&grid-count-y=3&grid-width=40&grid-height=40&grid-start-x=0&grid-start-y=0&grid-margin-x=0&grid-margin-y=0&grid-cut-margin=0&grid-step-size=0.1&grid-source-pages=&grid-back-pages=");
+}
+
+const loadTestPdf = async (page) => {
+ await page.locator("#file").setInputFiles("./files/test-pdf.pdf");
+ await expect(page.locator("#pages > .page")).toHaveCount(3);
+}
+
+const loadTestPdfAsBack = async (page) => {
+ await page.locator("#background").setInputFiles("./files/test-pdf.pdf");
+ await expect(page.locator("#pages-back > .page")).toHaveCount(3);
+}
+
+const checkCards = async (page, count) => {
+ await expect(page.locator("#cards > .card")).toHaveCount(count);
+
+ for (let i = 1; i <= count; i++) {
+ const card = await page.locator(`#cards > .card:nth-child(${i})`);
+ const frontImg = await card.locator("img.front").first();
+ const backImg = await card.locator("img.back").first();
+
+ const width = frontImg.width;
+ const height = frontImg.height;
+
+ const options = {
+ maxDiffPixelRatio: 0.02
+ }
+ await expect(frontImg).toHaveScreenshot(`card-${i}-front.png`, options);
+ await expect(backImg).toHaveScreenshot(`card-${i}-back.png`, options);
+ }
+}
+
+test("Card extraction: last page", async ({page}) => {
+ await gotoPage(page);
+ await loadTestPdf(page);
+
+ await page.locator("[data-query='cards-backs']").selectOption("lastpage");
+ await page.locator("#extractCards").click();
+
+ await checkCards(page, 18);
+});
+
+test("Card extraction: duplex right", async ({page}) => {
+ await gotoPage(page);
+ await loadTestPdf(page);
+
+ await page.locator("#pages > .page:nth-child(3) .page-info").first().click();
+ await expect(page.locator("#pages > .page:nth-child(3)")).toHaveClass(/excluded/);
+ await page.locator("[data-query='cards-backs']").selectOption("duplex");
+ await page.locator("#extractCards").click();
+
+ await checkCards(page, 9);
+});
+
+test("Card extraction: duplex down", async ({page}) => {
+ await gotoPage(page);
+ await loadTestPdf(page);
+
+ await page.locator("#pages > .page:nth-child(3) .page-info").first().click();
+ await expect(page.locator("#pages > .page:nth-child(3)")).toHaveClass(/excluded/);
+ await page.locator("[data-query='cards-backs']").selectOption("duplex2");
+ await page.locator("#extractCards").click();
+
+ await checkCards(page, 9);
+});
+
+test("Card extraction: file single", async ({page}) => {
+ await gotoPage(page);
+ await loadTestPdf(page);
+ await loadTestPdfAsBack(page);
+
+ await page.locator("[data-query='cards-backs']").selectOption("file");
+ await page.locator("#extractCards").click();
+
+ await checkCards(page, 27);
+});
+
+test("Card extraction: file all", async ({page}) => {
+ await gotoPage(page);
+ await loadTestPdf(page);
+ await loadTestPdfAsBack(page);
+
+ await page.locator("[data-query='cards-backs']").selectOption("fileall");
+ await page.locator("#extractCards").click();
+
+ await checkCards(page, 27);
+});
diff --git a/tests/specs/fill-inputs-from-query.spec.js b/tests/specs/fill-inputs-from-query.spec.js
new file mode 100644
index 0000000..1b394b7
--- /dev/null
+++ b/tests/specs/fill-inputs-from-query.spec.js
@@ -0,0 +1,32 @@
+// @ts-check
+const { test, expect } = require('@playwright/test');
+
+test("Fill inputs from query", async ({page}) => {
+ await page.goto("./?grid-count-x=3&grid-count-y=3&grid-width=40&grid-height=40&grid-start-x=0&grid-start-y=0&grid-margin-x=0&grid-margin-y=0&grid-cut-margin=0&grid-step-size=0.1&grid-source-pages=&grid-back-pages=&cards-backs=fileall&cards-optimize=filesize&cards-rotate-backs=false&output-page-size=A4&output-foldline=vertical&output-edge=bottom&output-printer-margin=5&output-card-margin=2&output-folding-margin=2&output-cutter-offset=0");
+
+ // verify the inputs are filled
+ await expect(page.locator("[data-query='grid-count-x']")).toHaveValue("3");
+ await expect(page.locator("[data-query='grid-count-y']")).toHaveValue("3");
+ await expect(page.locator("[data-query='grid-width']")).toHaveValue("40");
+ await expect(page.locator("[data-query='grid-height']")).toHaveValue("40");
+ await expect(page.locator("[data-query='grid-start-x']")).toHaveValue("0");
+ await expect(page.locator("[data-query='grid-start-y']")).toHaveValue("0");
+ await expect(page.locator("[data-query='grid-margin-x']")).toHaveValue("0");
+ await expect(page.locator("[data-query='grid-margin-y']")).toHaveValue("0");
+ await expect(page.locator("[data-query='grid-cut-margin']")).toHaveValue("0");
+ await expect(page.locator("[data-query='grid-step-size']")).toHaveValue("0.1");
+ await expect(page.locator("[data-query='grid-source-pages']")).toHaveValue("");
+ await expect(page.locator("[data-query='grid-back-pages']")).toHaveValue("");
+
+ await expect(page.locator("[data-query='cards-backs']")).toHaveValue("fileall");
+ await expect(page.locator("[data-query='cards-optimize']")).toHaveValue("filesize");
+ await expect(page.locator("[data-query='cards-rotate-backs']")).not.toBeChecked();
+
+ await expect(page.locator("[data-query='output-page-size']")).toHaveValue("A4");
+ await expect(page.locator("[data-query='output-foldline']")).toHaveValue("vertical");
+ await expect(page.locator("[data-query='output-edge']")).toHaveValue("bottom");
+ await expect(page.locator("[data-query='output-printer-margin']")).toHaveValue("5");
+ await expect(page.locator("[data-query='output-card-margin']")).toHaveValue("2");
+ await expect(page.locator("[data-query='output-folding-margin']")).toHaveValue("2");
+ await expect(page.locator("[data-query='output-cutter-offset']")).toHaveValue("0");
+});
diff --git a/tests/specs/load-pdfs.spec.js b/tests/specs/load-pdfs.spec.js
new file mode 100644
index 0000000..e307ea2
--- /dev/null
+++ b/tests/specs/load-pdfs.spec.js
@@ -0,0 +1,20 @@
+// @ts-check
+const { test, expect } = require('@playwright/test');
+
+test("Load one PDF", async ({page}) => {
+ await page.goto("./");
+
+ await page.locator("#file").setInputFiles("./files/test-pdf.pdf");
+
+ await expect(page.locator("#pages > .page")).toHaveCount(3);
+});
+
+test("Load two PDFs", async ({page}) => {
+ await page.goto("./");
+
+ await page.locator("#file").setInputFiles("./files/test-pdf.pdf");
+ await page.locator("#background").setInputFiles("./files/test-pdf.pdf");
+
+ await expect(page.locator("#pages > .page")).toHaveCount(3);
+ await expect(page.locator("#pages-back > .page")).toHaveCount(3);
+});
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-1-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-1-back.png
new file mode 100644
index 0000000..1d9e404
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-1-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-1-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-1-front.png
new file mode 100644
index 0000000..b3ea8cc
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-1-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-2-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-2-back.png
new file mode 100644
index 0000000..16dcff2
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-2-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-2-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-2-front.png
new file mode 100644
index 0000000..bc1e6f8
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-2-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-3-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-3-back.png
new file mode 100644
index 0000000..b1b8e00
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-3-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-3-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-3-front.png
new file mode 100644
index 0000000..a772518
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-3-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-4-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-4-back.png
new file mode 100644
index 0000000..25da3eb
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-4-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-4-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-4-front.png
new file mode 100644
index 0000000..f1dc78a
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-4-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-5-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-5-back.png
new file mode 100644
index 0000000..9913e24
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-5-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-5-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-5-front.png
new file mode 100644
index 0000000..21899e8
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-5-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-6-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-6-back.png
new file mode 100644
index 0000000..b45bc2d
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-6-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-6-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-6-front.png
new file mode 100644
index 0000000..a65f85c
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-6-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-7-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-7-back.png
new file mode 100644
index 0000000..54c5bd3
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-7-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-7-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-7-front.png
new file mode 100644
index 0000000..32a33e6
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-7-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-8-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-8-back.png
new file mode 100644
index 0000000..46615d5
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-8-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-8-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-8-front.png
new file mode 100644
index 0000000..441968a
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-8-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-9-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-9-back.png
new file mode 100644
index 0000000..539be5c
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-9-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-9-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-9-front.png
new file mode 100644
index 0000000..92a6f3f
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-down/card-9-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-1-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-1-back.png
new file mode 100644
index 0000000..8406da5
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-1-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-1-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-1-front.png
new file mode 100644
index 0000000..b3ea8cc
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-1-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-2-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-2-back.png
new file mode 100644
index 0000000..3833139
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-2-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-2-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-2-front.png
new file mode 100644
index 0000000..bc1e6f8
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-2-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-3-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-3-back.png
new file mode 100644
index 0000000..4077d33
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-3-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-3-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-3-front.png
new file mode 100644
index 0000000..a772518
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-3-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-4-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-4-back.png
new file mode 100644
index 0000000..74d36a8
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-4-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-4-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-4-front.png
new file mode 100644
index 0000000..f1dc78a
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-4-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-5-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-5-back.png
new file mode 100644
index 0000000..963845c
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-5-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-5-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-5-front.png
new file mode 100644
index 0000000..21899e8
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-5-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-6-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-6-back.png
new file mode 100644
index 0000000..fbb24a1
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-6-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-6-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-6-front.png
new file mode 100644
index 0000000..a65f85c
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-6-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-7-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-7-back.png
new file mode 100644
index 0000000..15b1017
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-7-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-7-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-7-front.png
new file mode 100644
index 0000000..32a33e6
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-7-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-8-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-8-back.png
new file mode 100644
index 0000000..f5ce616
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-8-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-8-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-8-front.png
new file mode 100644
index 0000000..441968a
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-8-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-9-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-9-back.png
new file mode 100644
index 0000000..bdb9adf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-9-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-9-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-9-front.png
new file mode 100644
index 0000000..92a6f3f
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-duplex-right/card-9-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-1-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-1-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-1-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-1-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-1-front.png
new file mode 100644
index 0000000..3e5b59c
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-1-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-10-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-10-back.png
new file mode 100644
index 0000000..70f4b9c
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-10-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-10-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-10-front.png
new file mode 100644
index 0000000..7903e52
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-10-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-11-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-11-back.png
new file mode 100644
index 0000000..86ddba0
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-11-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-11-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-11-front.png
new file mode 100644
index 0000000..736134e
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-11-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-12-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-12-back.png
new file mode 100644
index 0000000..47b9626
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-12-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-12-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-12-front.png
new file mode 100644
index 0000000..610fa6a
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-12-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-13-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-13-back.png
new file mode 100644
index 0000000..c5749c2
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-13-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-13-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-13-front.png
new file mode 100644
index 0000000..de9d277
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-13-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-14-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-14-back.png
new file mode 100644
index 0000000..e420b87
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-14-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-14-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-14-front.png
new file mode 100644
index 0000000..0231ce1
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-14-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-15-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-15-back.png
new file mode 100644
index 0000000..8adbd71
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-15-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-15-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-15-front.png
new file mode 100644
index 0000000..71e3778
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-15-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-16-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-16-back.png
new file mode 100644
index 0000000..4348a66
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-16-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-16-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-16-front.png
new file mode 100644
index 0000000..35f7949
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-16-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-17-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-17-back.png
new file mode 100644
index 0000000..e4bb6de
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-17-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-17-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-17-front.png
new file mode 100644
index 0000000..ab72537
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-17-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-18-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-18-back.png
new file mode 100644
index 0000000..b935fc9
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-18-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-18-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-18-front.png
new file mode 100644
index 0000000..335df89
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-18-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-19-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-19-back.png
new file mode 100644
index 0000000..5bc80b9
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-19-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-19-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-19-front.png
new file mode 100644
index 0000000..a596d12
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-19-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-2-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-2-back.png
new file mode 100644
index 0000000..e96bd25
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-2-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-2-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-2-front.png
new file mode 100644
index 0000000..8589ff6
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-2-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-20-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-20-back.png
new file mode 100644
index 0000000..073d811
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-20-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-20-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-20-front.png
new file mode 100644
index 0000000..e5575c5
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-20-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-21-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-21-back.png
new file mode 100644
index 0000000..88f926e
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-21-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-21-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-21-front.png
new file mode 100644
index 0000000..21e4898
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-21-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-22-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-22-back.png
new file mode 100644
index 0000000..88c80ef
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-22-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-22-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-22-front.png
new file mode 100644
index 0000000..9431f30
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-22-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-23-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-23-back.png
new file mode 100644
index 0000000..729b8f1
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-23-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-23-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-23-front.png
new file mode 100644
index 0000000..d59865e
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-23-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-24-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-24-back.png
new file mode 100644
index 0000000..7c40cdf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-24-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-24-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-24-front.png
new file mode 100644
index 0000000..e7af650
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-24-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-25-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-25-back.png
new file mode 100644
index 0000000..0b39866
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-25-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-25-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-25-front.png
new file mode 100644
index 0000000..8fd61b0
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-25-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-26-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-26-back.png
new file mode 100644
index 0000000..5d4de34
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-26-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-26-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-26-front.png
new file mode 100644
index 0000000..044b203
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-26-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-27-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-27-back.png
new file mode 100644
index 0000000..ed088d4
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-27-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-27-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-27-front.png
new file mode 100644
index 0000000..c64988e
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-27-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-3-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-3-back.png
new file mode 100644
index 0000000..b84d6fd
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-3-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-3-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-3-front.png
new file mode 100644
index 0000000..4bc61b9
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-3-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-4-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-4-back.png
new file mode 100644
index 0000000..45dce49
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-4-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-4-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-4-front.png
new file mode 100644
index 0000000..8cc3192
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-4-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-5-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-5-back.png
new file mode 100644
index 0000000..bd9b5f6
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-5-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-5-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-5-front.png
new file mode 100644
index 0000000..1528f0f
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-5-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-6-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-6-back.png
new file mode 100644
index 0000000..0f7131a
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-6-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-6-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-6-front.png
new file mode 100644
index 0000000..a292e5e
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-6-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-7-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-7-back.png
new file mode 100644
index 0000000..79a4567
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-7-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-7-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-7-front.png
new file mode 100644
index 0000000..dc0360f
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-7-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-8-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-8-back.png
new file mode 100644
index 0000000..dcdfb94
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-8-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-8-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-8-front.png
new file mode 100644
index 0000000..bc9d223
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-8-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-9-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-9-back.png
new file mode 100644
index 0000000..95bc4cf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-9-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-9-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-9-front.png
new file mode 100644
index 0000000..eb919a9
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-all/card-9-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-1-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-1-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-1-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-1-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-1-front.png
new file mode 100644
index 0000000..3e5b59c
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-1-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-10-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-10-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-10-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-10-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-10-front.png
new file mode 100644
index 0000000..7903e52
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-10-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-11-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-11-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-11-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-11-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-11-front.png
new file mode 100644
index 0000000..736134e
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-11-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-12-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-12-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-12-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-12-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-12-front.png
new file mode 100644
index 0000000..610fa6a
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-12-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-13-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-13-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-13-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-13-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-13-front.png
new file mode 100644
index 0000000..de9d277
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-13-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-14-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-14-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-14-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-14-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-14-front.png
new file mode 100644
index 0000000..0231ce1
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-14-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-15-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-15-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-15-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-15-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-15-front.png
new file mode 100644
index 0000000..71e3778
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-15-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-16-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-16-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-16-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-16-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-16-front.png
new file mode 100644
index 0000000..35f7949
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-16-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-17-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-17-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-17-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-17-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-17-front.png
new file mode 100644
index 0000000..ab72537
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-17-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-18-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-18-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-18-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-18-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-18-front.png
new file mode 100644
index 0000000..335df89
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-18-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-19-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-19-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-19-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-19-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-19-front.png
new file mode 100644
index 0000000..a596d12
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-19-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-2-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-2-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-2-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-2-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-2-front.png
new file mode 100644
index 0000000..8589ff6
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-2-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-20-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-20-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-20-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-20-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-20-front.png
new file mode 100644
index 0000000..e5575c5
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-20-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-21-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-21-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-21-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-21-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-21-front.png
new file mode 100644
index 0000000..21e4898
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-21-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-22-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-22-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-22-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-22-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-22-front.png
new file mode 100644
index 0000000..9431f30
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-22-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-23-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-23-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-23-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-23-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-23-front.png
new file mode 100644
index 0000000..d59865e
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-23-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-24-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-24-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-24-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-24-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-24-front.png
new file mode 100644
index 0000000..e7af650
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-24-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-25-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-25-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-25-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-25-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-25-front.png
new file mode 100644
index 0000000..8fd61b0
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-25-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-26-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-26-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-26-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-26-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-26-front.png
new file mode 100644
index 0000000..044b203
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-26-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-27-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-27-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-27-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-27-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-27-front.png
new file mode 100644
index 0000000..c64988e
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-27-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-3-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-3-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-3-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-3-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-3-front.png
new file mode 100644
index 0000000..4bc61b9
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-3-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-4-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-4-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-4-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-4-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-4-front.png
new file mode 100644
index 0000000..8cc3192
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-4-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-5-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-5-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-5-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-5-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-5-front.png
new file mode 100644
index 0000000..1528f0f
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-5-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-6-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-6-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-6-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-6-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-6-front.png
new file mode 100644
index 0000000..a292e5e
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-6-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-7-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-7-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-7-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-7-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-7-front.png
new file mode 100644
index 0000000..dc0360f
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-7-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-8-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-8-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-8-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-8-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-8-front.png
new file mode 100644
index 0000000..bc9d223
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-8-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-9-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-9-back.png
new file mode 100644
index 0000000..e4a8cbf
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-9-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-9-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-9-front.png
new file mode 100644
index 0000000..eb919a9
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-file-single/card-9-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-1-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-1-back.png
new file mode 100644
index 0000000..bcde6da
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-1-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-1-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-1-front.png
new file mode 100644
index 0000000..b3ea8cc
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-1-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-10-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-10-back.png
new file mode 100644
index 0000000..bcde6da
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-10-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-10-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-10-front.png
new file mode 100644
index 0000000..6bdf88d
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-10-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-11-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-11-back.png
new file mode 100644
index 0000000..bcde6da
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-11-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-11-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-11-front.png
new file mode 100644
index 0000000..5a8511c
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-11-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-12-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-12-back.png
new file mode 100644
index 0000000..bcde6da
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-12-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-12-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-12-front.png
new file mode 100644
index 0000000..0587cab
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-12-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-13-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-13-back.png
new file mode 100644
index 0000000..bcde6da
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-13-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-13-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-13-front.png
new file mode 100644
index 0000000..134439a
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-13-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-14-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-14-back.png
new file mode 100644
index 0000000..bcde6da
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-14-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-14-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-14-front.png
new file mode 100644
index 0000000..eba264f
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-14-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-15-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-15-back.png
new file mode 100644
index 0000000..bcde6da
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-15-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-15-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-15-front.png
new file mode 100644
index 0000000..dc63bde
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-15-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-16-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-16-back.png
new file mode 100644
index 0000000..bcde6da
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-16-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-16-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-16-front.png
new file mode 100644
index 0000000..08aa0e5
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-16-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-17-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-17-back.png
new file mode 100644
index 0000000..bcde6da
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-17-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-17-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-17-front.png
new file mode 100644
index 0000000..7c3d73d
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-17-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-18-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-18-back.png
new file mode 100644
index 0000000..bcde6da
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-18-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-18-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-18-front.png
new file mode 100644
index 0000000..aaec335
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-18-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-2-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-2-back.png
new file mode 100644
index 0000000..bcde6da
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-2-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-2-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-2-front.png
new file mode 100644
index 0000000..bc1e6f8
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-2-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-3-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-3-back.png
new file mode 100644
index 0000000..bcde6da
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-3-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-3-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-3-front.png
new file mode 100644
index 0000000..a772518
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-3-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-4-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-4-back.png
new file mode 100644
index 0000000..bcde6da
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-4-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-4-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-4-front.png
new file mode 100644
index 0000000..f1dc78a
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-4-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-5-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-5-back.png
new file mode 100644
index 0000000..bcde6da
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-5-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-5-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-5-front.png
new file mode 100644
index 0000000..21899e8
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-5-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-6-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-6-back.png
new file mode 100644
index 0000000..bcde6da
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-6-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-6-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-6-front.png
new file mode 100644
index 0000000..a65f85c
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-6-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-7-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-7-back.png
new file mode 100644
index 0000000..bcde6da
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-7-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-7-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-7-front.png
new file mode 100644
index 0000000..32a33e6
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-7-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-8-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-8-back.png
new file mode 100644
index 0000000..bcde6da
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-8-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-8-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-8-front.png
new file mode 100644
index 0000000..441968a
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-8-front.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-9-back.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-9-back.png
new file mode 100644
index 0000000..bcde6da
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-9-back.png differ
diff --git a/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-9-front.png b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-9-front.png
new file mode 100644
index 0000000..92a6f3f
Binary files /dev/null and b/tests/specs/screenshots/extract-cards.spec.js/Card-extraction-last-page/card-9-front.png differ
diff --git a/tests/test-pdf.pdf b/tests/test-pdf.pdf
deleted file mode 100644
index 7e139be..0000000
Binary files a/tests/test-pdf.pdf and /dev/null differ
diff --git a/tests/test-pdf.svg b/tests/test-pdf.svg
deleted file mode 100644
index 301870f..0000000
--- a/tests/test-pdf.svg
+++ /dev/null
@@ -1,318 +0,0 @@
-
-
-
-