Skip to content

Commit

Permalink
test: ๐Ÿ’ added e2e tests and some changes
Browse files Browse the repository at this point in the history
  • Loading branch information
suchcodemuchwow committed Jan 14, 2024
1 parent 9d90f02 commit f5dd7ea
Show file tree
Hide file tree
Showing 32 changed files with 1,378 additions and 683 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/frontend-e2e.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Frontend E2E tests
on:
push:
branches: [ main, master ]
paths:
- 'apps/frontend/**'
pull_request:
branches: [ main, master ]
paths:
- 'apps/frontend/**'
jobs:
test:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Install dependencies
run: npm install -g pnpm && pnpm install
- name: Install Playwright Browsers
run: pnpm exec playwright install --with-deps
- name: Run Playwright tests
run: pnpm exec playwright test
- uses: actions/upload-artifact@v3
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30
124 changes: 8 additions & 116 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,12 @@ storage
# Expo
.expo/
dist/
expo-env.d.ts
apps/expo/.gitignore

# Production
build
ios
android

# TypeScript
*.tsbuildinfo
Expand All @@ -68,118 +69,9 @@ logs
*.njsproj
*.sln
*.sw?
apps/desktop/dist-electron/main.js
apps/desktop/dist-electron/preload.js
apps/desktop/release/0.0.1/builder-debug.yml
apps/desktop/release/0.0.1/Onelove-Mac-0.0.1-Installer.dmg
apps/desktop/release/0.0.1/Onelove-Mac-0.0.1-Installer.dmg.blockmap
apps/desktop/release/0.0.1/YourAppName-Mac-0.0.1-Installer.dmg
apps/desktop/release/0.0.1/YourAppName-Mac-0.0.1-Installer.dmg.blockmap
apps/desktop/release/0.0.1/.icon-icns/icon.icns
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Info.plist
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/PkgInfo
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Electron Framework
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Helpers
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Libraries
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Resources
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/Current
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Helpers/chrome_crashpad_handler
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libEGL.dylib
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libffmpeg.dylib
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libGLESv2.dylib
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libvk_swiftshader.dylib
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/vk_swiftshader_icd.json
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/chrome_100_percent.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/chrome_200_percent.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/icudtl.dat
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/Info.plist
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/MainMenu.nib
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/resources.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/v8_context_snapshot.arm64.bin
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/af.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/am.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/ar.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/bg.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/bn.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/ca.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/cs.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/da.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/de.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/el.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/en.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/en_GB.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/es.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/es_419.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/et.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/fa.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/fi.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/fil.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/fr.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/gu.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/he.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/hi.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/hr.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/hu.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/id.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/it.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/ja.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/kn.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/ko.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/lt.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/lv.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/ml.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/mr.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/ms.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/nb.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/nl.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/pl.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/pt_BR.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/pt_PT.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/ro.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/ru.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/sk.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/sl.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/sr.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/sv.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/sw.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/ta.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/te.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/th.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/tr.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/uk.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/ur.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/vi.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/zh_CN.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/zh_TW.lproj/locale.pak
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Mantle.framework/Mantle
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Mantle.framework/Resources
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Mantle.framework/Versions/Current
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Mantle.framework/Versions/A/Mantle
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Mantle.framework/Versions/A/Resources/Info.plist
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Onelove Helper (GPU).app/Contents/Info.plist
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Onelove Helper (GPU).app/Contents/PkgInfo
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Onelove Helper (GPU).app/Contents/MacOS/Onelove Helper (GPU)
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Onelove Helper (Plugin).app/Contents/Info.plist
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Onelove Helper (Plugin).app/Contents/PkgInfo
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Onelove Helper (Plugin).app/Contents/MacOS/Onelove Helper (Plugin)
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Onelove Helper (Renderer).app/Contents/Info.plist
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Onelove Helper (Renderer).app/Contents/PkgInfo
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Onelove Helper (Renderer).app/Contents/MacOS/Onelove Helper (Renderer)
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Onelove Helper.app/Contents/Info.plist
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Onelove Helper.app/Contents/PkgInfo
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Onelove Helper.app/Contents/MacOS/Onelove Helper
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/ReactiveObjC.framework/ReactiveObjC
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/ReactiveObjC.framework/Resources
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/ReactiveObjC.framework/Versions/Current
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/ReactiveObjC.framework/Versions/A/ReactiveObjC
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/ReactiveObjC.framework/Versions/A/Resources/Info.plist
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Squirrel.framework/Resources
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Squirrel.framework/Squirrel
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Squirrel.framework/Versions/Current
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Squirrel.framework/Versions/A/Squirrel
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Squirrel.framework/Versions/A/Resources/Info.plist
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Frameworks/Squirrel.framework/Versions/A/Resources/ShipIt
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/MacOS/Onelove
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Resources/app.asar
apps/desktop/release/0.0.1/mac-arm64/Onelove.app/Contents/Resources/icon.icns
apps/desktop/dist-electron/*
apps/desktop/release/*
apps/mobile/artifacts/*

# Test Coverage
playwright-report
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@ pnpm install

# Then simply start your app
pnpm dev

# https://wix.github.io/Detox/docs/introduction/environment-setup#2-macos-only-applesimutils
brew tap wix/brew
brew install applesimutils
```

## Motivation
Expand Down
5 changes: 5 additions & 0 deletions apps/frontend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
node_modules/
/test-results/
/playwright-report/
/blob-report/
/playwright/.cache/
87 changes: 45 additions & 42 deletions apps/frontend/app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,52 +2,55 @@

import React from "react";

import { Footer, HeroHeader, Navbar } from "@acme/ui";
import type { Social } from "@acme/ui";
import { HeroHeader, Navbar } from "@acme/ui";

const header = {
title: "Welcome to Onelove!",
subtitle:
"Web ๐Ÿ›œ Mobile ๐Ÿ“ฑ Desktop ๐Ÿ–ฅ๏ธ Browser Extensions ๐Ÿ”ฎ APIs ๐Ÿ‘ฎโ€โ™‚๏ธ and Scraper ๐Ÿ•ธ๏ธ",
image: "sloth.png",
};

const site = {
name: "Onelove",
author: "suchcodemuchwow",
navLinks: [
{
route: "Home",
path: "/",
},
],
};

const social: Social[] = [
{
href: "https://www.github.com/suchcodemuchwow/onelove",
platform: "github",
},
{
href: "https://www.twitter.com/suchcodemuchwow",
platform: "twitter",
},
{
href: "https://www.instagram.com/suchcodemuchwow",
platform: "instagram",
},
{
href: "https://www.linkedin.com/in/suchcodemuchwow",
platform: "linkedin",
},
];

export default function Page() {
return (
<div className={"my-4 h-screen"}>
<Navbar
siteName={"Onelove"}
navLinks={[
{
route: "Home",
path: "/",
},
{
route: "Technologies",
path: "#tech",
},
{
route: "Social",
path: "#social",
},
]}
/>
<div className={"flex h-screen flex-col p-4"}>
<Navbar siteName={site.name} navLinks={site.navLinks} />
<HeroHeader
header={"Welcome to Onelove!"}
subheader={
"Web ๐Ÿ›œ, Mobile ๐Ÿ“ฑ, Desktop ๐Ÿ–ฅ๏ธ, Browser Extensions ๐Ÿ”ฎ, APIs ๐Ÿ‘ฎโ€โ™‚๏ธ and Scrapers ๐Ÿ•ธ๏ธ"
}
image={"sloth.png"}
/>
<Footer
siteName={"Onelove"}
author={"suchcodemuchwow"}
navLinks={[
{
route: "Home",
path: "/",
},
{
route: "Technologies",
path: "#tech",
},
{
route: "Social",
path: "#social",
},
]}
header={header.title}
subheader={header.subtitle}
image={header.image}
social={social}
/>
</div>
);
Expand Down
20 changes: 20 additions & 0 deletions apps/frontend/e2e/example.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { expect, test } from "@playwright/test";

test("has title", async ({ page }) => {
await page.goto("localhost:3000");

// Expect a title "to contain" a substring.
await expect(page).toHaveTitle(/Onelove/);
});

test("get started link", async ({ page }) => {
await page.goto("localhost:3000");

const header = await page.getByText("Welcome to Onelove!");
const subHeader = await page.getByText(
"Web ๐Ÿ›œ Mobile ๐Ÿ“ฑ Desktop ๐Ÿ–ฅ๏ธ Browser Extensions ๐Ÿ”ฎ APIs ๐Ÿ‘ฎโ€โ™‚๏ธ and Scraper ๐Ÿ•ธ๏ธ",
);

await expect(header).toBeVisible();
await expect(subHeader).toBeVisible();
});
11 changes: 9 additions & 2 deletions apps/frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,13 @@
"private": true,
"scripts": {
"build": "next build",
"build:e2e": "next build",
"clean": "rm -rf node_modules .turbo .next",
"dev": "next dev",
"format": "prettier --check . --ignore-path ../../.gitignore",
"lint": "eslint . --max-warnings 0",
"open-browser": "open http://0.0.0.0:3000",
"start": "next start",
"test:e2e": "../../node_modules/.bin/playwright test",
"typecheck": "tsc --noEmit"
},
"prettier": "@acme/prettier-config",
Expand All @@ -24,12 +25,18 @@
"eslintIgnore": [
".next",
"node_modules",
"next-env.d.ts"
"next-env.d.ts",
"playwright.config.ts",
"e2e"
],
"dependencies": {
"@acme/ui": "workspace:*",
"next": "^14.0.3",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"devDependencies": {
"@playwright/test": "^1.40.1",
"@types/node": "^20.3.1"
}
}
Loading

0 comments on commit f5dd7ea

Please sign in to comment.