hunk.code_window:     `,
     });
     test("image URLs", async ({ page }) => {
       let app = new PlaywrightFixture(appFixture, page);
       await app.goto("/image-urls-test");
       let locator = await page.locator("[data-testid='image-urls']");
       let backgroundImage = await locator.evaluate(
  
hunk.labels: keep keep keep add keep keep keep
hunk.after_edit:     let imgStatus: number | null = null;
       app.page.on("response", (res) => {
         if (res.url().endsWith(".svg")) imgStatus = res.status();
       });
  
hunk.file_path: integration/css-side-effect-imports-test.ts
hunk.type: add
file: name: 🧪 Test (shared)
  
  on:
    workflow_call:
      inputs:
        node_version:
          required: true
          # this is limited to string | boolean | number (https://github.community/t/can-action-inputs-be-arrays/16457)
          # but we want to pass an array (node_version: "[14, 16, 18]"),
          # so we'll need to manually stringify it for now
          type: string
  
  env:
    CI: true
    CYPRESS_INSTALL_BINARY: 0
  
  jobs:
    build:
      name: ⚙️ Build
      runs-on: ubuntu-latest
      steps:
        - name: 🛑 Cancel Previous Runs
          uses: styfle/cancel-workflow-action@0.11.0
  
        - name: ⬇️ Checkout repo
          uses: actions/checkout@v3
  
        - name: ⎔ Setup node
          uses: actions/setup-node@v3
          with:
            node-version-file: ".nvmrc"
            cache: "yarn"
  
        - name: 📥 Install deps
          run: yarn --frozen-lockfile
  
        - name: 🏗 Build
          run: yarn build
  
    test:
      name: "🧪 Test: (OS: ${{ matrix.os }} Node: ${{ matrix.node }})"
      strategy:
        fail-fast: false
        matrix:
          os:
            - ubuntu-latest
            # - macos-latest
            - windows-latest
          node: ${{ fromJSON(inputs.node_version) }}
      runs-on: ${{ matrix.os }}
      steps:
        - name: 🛑 Cancel Previous Runs
          uses: styfle/cancel-workflow-action@0.11.0
  
        - name: ⬇️ Checkout repo
          uses: actions/checkout@v3
  
        - name: ⎔ Setup node ${{ matrix.node }}
          uses: actions/setup-node@v3
          with:
            node-version: ${{ matrix.node }}
            cache: "yarn"
  
        - name: 📥 Install deps
          run: yarn --frozen-lockfile
  
        # It's faster to use the built `cli.js` in tests if its available and up-to-date
        - name: 🏗 Build
          run: yarn build
  
        - name: 🧪 Run Primary Tests
          run: "yarn test:primary"
  
    ubuntu-integration:
      name: '👀 Integration Test: (OS: "ubuntu-latest" Node: "${{ matrix.node }}" Browser: "${{ matrix.browser }}")'
      strategy:
        fail-fast: false
        matrix:
          node: ${{ fromJSON(inputs.node_version) }}
          browser: ["chromium", "firefox"]
  
      runs-on: ubuntu-latest
      steps:
        - name: 🛑 Cancel Previous Runs
          uses: styfle/cancel-workflow-action@0.10.0
  
        - name: ⬇️ Checkout repo
          uses: actions/checkout@v3
  
        - name: ⎔ Setup node ${{ matrix.node }}
          uses: actions/setup-node@v3
          with:
            node-version: ${{ matrix.node }}
            cache: "yarn"
  
        - name: 📥 Install deps
          run: yarn --frozen-lockfile
  
        - name: 📥 Install Playwright
          run: npx playwright install --with-deps
  
        - name: 👀 Run Integration Tests ${{ matrix.browser }}
          run: "yarn test:integration --project=${{ matrix.browser }}"
  
    macos-integration:
      name: '👀 Integration Test: (OS: "macos-latest" Node: "${{ matrix.node }}" Browser: "${{ matrix.browser }}")'
      strategy:
        fail-fast: false
        matrix:
          node: ${{ fromJSON(inputs.node_version) }}
          browser: ["webkit"]
  
      runs-on: macos-latest
      steps:
        - name: 🛑 Cancel Previous Runs
          uses: styfle/cancel-workflow-action@0.10.0
  
        - name: ⬇️ Checkout repo
          uses: actions/checkout@v3
  
        - name: ⎔ Setup node ${{ matrix.node }}
          uses: actions/setup-node@v3
          with:
            node-version: ${{ matrix.node }}
            cache: "yarn"
  
        - name: 📥 Install deps
          run: yarn --frozen-lockfile
  
        - name: 📥 Install Playwright
          run: npx playwright install --with-deps
  
        - name: 👀 Run Integration Tests ${{ matrix.browser }}
          run: "yarn test:integration --project=${{ matrix.browser }}"
  
    windows-integration:
      name: '👀 Integration Test: (OS: "windows-latest" Node: "${{ matrix.node }}" Browser: "${{ matrix.browser }}")'
      strategy:
        fail-fast: false
        matrix:
          node: ${{ fromJSON(inputs.node_version) }}
          browser: ["edge"]
  
      runs-on: windows-latest
      steps:
        - name: 🛑 Cancel Previous Runs
          uses: styfle/cancel-workflow-action@0.11.0
  
        - name: ⬇️ Checkout repo
          uses: actions/checkout@v3
  
        - name: ⎔ Setup node ${{ matrix.node }}
          uses: actions/setup-node@v3
          with:
            node-version: ${{ matrix.node }}
            cache: "yarn"
  
        - name: 📥 Install deps
          run: yarn --frozen-lockfile
  
        - name: 📥 Install Playwright
          run: npx playwright install --with-deps
  
        - name: 👀 Run Integration Tests ${{ matrix.browser }}
          run: "yarn test:integration --project=${{ matrix.browser }}"
  