Fix and update tests and use pnpm instead of yarn
parent
18e9b57e12
commit
fa6baa75b7
|
|
@ -3,13 +3,13 @@
|
||||||
## Run all tests in testfiles matching some pattern
|
## Run all tests in testfiles matching some pattern
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
yarn test pixiv
|
pnpm test pixiv
|
||||||
```
|
```
|
||||||
|
|
||||||
## Run one specific test ({{describe name}} {{it name}})
|
## Run one specific test ({{describe name}} {{it name}})
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
yarn test pixiv -t "get pixiv post 96268450 \(multipage, expanded\) should find exactly four posts"
|
pnpm test pixiv -t "get pixiv post 96268450 \(multipage, expanded\) should find exactly four posts"
|
||||||
```
|
```
|
||||||
|
|
||||||
For some reason you need to escape the parentheses.
|
For some reason you need to escape the parentheses.
|
||||||
|
|
@ -17,7 +17,7 @@ For some reason you need to escape the parentheses.
|
||||||
## Debug puppeteer tests
|
## Debug puppeteer tests
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
yarn test:debug # you can add more arguments if you want
|
pnpm test:debug # you can add more arguments if you want
|
||||||
```
|
```
|
||||||
|
|
||||||
This will disable headless mode.
|
This will disable headless mode.
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
module.exports = {
|
module.exports = {
|
||||||
launch: {
|
launch: {
|
||||||
headless: process.env.HEADLESS !== "false",
|
headless: process.env.HEADLESS !== "false" ? "new" : false,
|
||||||
executablePath: process.env.CHROME_BIN || null,
|
executablePath: process.env.CHROME_BIN || null,
|
||||||
args: process.env.CI ? ["--disable-gpu", "--disable-dev-shm-usage", "--no-sandbox"] : [],
|
args: process.env.CI ? ["--disable-gpu", "--disable-dev-shm-usage", "--no-sandbox"] : [],
|
||||||
},
|
},
|
||||||
|
|
|
||||||
35
package.json
35
package.json
|
|
@ -18,32 +18,31 @@
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"js-cookie": "^3.0.5",
|
"js-cookie": "^3.0.5",
|
||||||
"turndown": "^7.1.1"
|
"turndown": "^7.1.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/expect-puppeteer": "^4.4.7",
|
"@types/expect-puppeteer": "^5.0.5",
|
||||||
"@types/jest": "^26.0.14",
|
"@types/jest": "^29.5.7",
|
||||||
"@types/jest-environment-puppeteer": "^4.4.1",
|
"@types/jest-environment-puppeteer": "^5.0.5",
|
||||||
"@types/js-cookie": "^3.0.3",
|
"@types/js-cookie": "^3.0.5",
|
||||||
"@types/jsdom": "^12.2.4",
|
"@types/jsdom": "^12.2.4",
|
||||||
"@types/puppeteer": "^5.4.4",
|
"@types/turndown": "^5.0.3",
|
||||||
"@types/turndown": "^5.0.1",
|
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.48.1",
|
"@typescript-eslint/parser": "^5.62.0",
|
||||||
"@typescript-eslint/parser": "^5.48.1",
|
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"eslint": "8.7.0",
|
"eslint": "8.7.0",
|
||||||
"eslint-plugin-import": "^2.25.2",
|
"eslint-plugin-import": "^2.29.0",
|
||||||
"eslint-plugin-n": "^15.0.0",
|
"eslint-plugin-n": "^15.7.0",
|
||||||
"eslint-plugin-promise": "^6.0.0",
|
"eslint-plugin-promise": "^6.1.1",
|
||||||
"jest": "^26.6.3",
|
"jest": "^29.7.0",
|
||||||
"jest-puppeteer": "^6.0.0",
|
"jest-puppeteer": "^9.0.1",
|
||||||
"jest-ts-webcompat-resolver": "^1.0.0",
|
"jest-ts-webcompat-resolver": "^1.0.0",
|
||||||
"jsdom": "^15.2.1",
|
"jsdom": "^15.2.1",
|
||||||
"prettier": "2.5.1",
|
"prettier": "2.5.1",
|
||||||
"puppeteer": "^13.1.2",
|
"puppeteer": "^21.5.0",
|
||||||
"ts-jest": "^26.5.6",
|
"ts-jest": "^29.1.1",
|
||||||
"ts-node": "^10.9.1",
|
"ts-node": "^10.9.1",
|
||||||
"typescript": "^4.9.4"
|
"typescript": "^4.9.5"
|
||||||
},
|
},
|
||||||
"exports": {
|
"exports": {
|
||||||
".": "./dist/index.js",
|
".": "./dist/index.js",
|
||||||
|
|
@ -59,7 +58,7 @@
|
||||||
"ts",
|
"ts",
|
||||||
"js"
|
"js"
|
||||||
],
|
],
|
||||||
"testTimeout": 15000,
|
"testTimeout": 30000,
|
||||||
"testRegex": "^.+\\.test\\.ts$",
|
"testRegex": "^.+\\.test\\.ts$",
|
||||||
"setupFilesAfterEnv": [
|
"setupFilesAfterEnv": [
|
||||||
"./src/test/jest.setup.ts"
|
"./src/test/jest.setup.ts"
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,7 +1,7 @@
|
||||||
import { scrapeUrl } from "../test/engine.js";
|
import { scrapeUrl } from "../test/engine.js";
|
||||||
|
|
||||||
test("get chan.sankakucomplex.com post 19614481 with notes", async () => {
|
test("get chan.sankakucomplex.com post 19614481 with notes", async () => {
|
||||||
const pageUrl = "https://chan.sankakucomplex.com/post/show/507e986a62cc5b866d92ad491dcfb1a4";
|
const pageUrl = "https://chan.sankakucomplex.com/posts/show/507e986a62cc5b866d92ad491dcfb1a4";
|
||||||
const res = await scrapeUrl(pageUrl);
|
const res = await scrapeUrl(pageUrl);
|
||||||
expect(res.posts.length).toBe(1);
|
expect(res.posts.length).toBe(1);
|
||||||
expect(res.posts[0]).toHaveTag("bangs");
|
expect(res.posts[0]).toHaveTag("bangs");
|
||||||
|
|
@ -18,13 +18,13 @@ test("get chan.sankakucomplex.com post 19614481 with notes", async () => {
|
||||||
|
|
||||||
test("get chan.sankakucomplex.com post 29354061 with notes", async () => {
|
test("get chan.sankakucomplex.com post 29354061 with notes", async () => {
|
||||||
// Kinda sketchy
|
// Kinda sketchy
|
||||||
const pageUrl = "https://chan.sankakucomplex.com/post/show/c8376f02608548365d394a658e85cb3f";
|
const pageUrl = "https://chan.sankakucomplex.com/posts/show/c8376f02608548365d394a658e85cb3f";
|
||||||
const res = await scrapeUrl(pageUrl);
|
const res = await scrapeUrl(pageUrl);
|
||||||
expect(res.posts.length).toBe(1);
|
expect(res.posts.length).toBe(1);
|
||||||
expect(res.posts[0]).toHaveTag("bangs");
|
expect(res.posts[0]).toHaveTag("bangs");
|
||||||
expect(res.posts[0]).toHaveTag("braid");
|
expect(res.posts[0]).toHaveTag("braid");
|
||||||
expect(res.posts[0]).toHaveTag("sankuro");
|
expect(res.posts[0]).toHaveTag("sankuro");
|
||||||
expect(res.posts[0]).toHaveNote("No. \nI already told you...");
|
expect(res.posts[0].notes[0].text).toContain("I already told you");
|
||||||
expect(res.posts[0].pageUrl).toBe(pageUrl);
|
expect(res.posts[0].pageUrl).toBe(pageUrl);
|
||||||
expect(res.posts[0].contentUrl).toContain("sankakucomplex.com/data/c8/37/c8376f02608548365d394a658e85cb3f.jpg");
|
expect(res.posts[0].contentUrl).toContain("sankakucomplex.com/data/c8/37/c8376f02608548365d394a658e85cb3f.jpg");
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ export default class Zerochan extends ScrapeEngineBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
let category: TagCategory | undefined;
|
let category: TagCategory | undefined;
|
||||||
const className = tagElement.className.replace("emphasis", "").trim();
|
const className = tagElement.classList[0];
|
||||||
switch (className) {
|
switch (className) {
|
||||||
case "game":
|
case "game":
|
||||||
case "series":
|
case "series":
|
||||||
|
|
@ -60,7 +60,6 @@ export default class Zerochan extends ScrapeEngineBase {
|
||||||
category = "copyright";
|
category = "copyright";
|
||||||
break;
|
break;
|
||||||
case "character":
|
case "character":
|
||||||
case "character group":
|
|
||||||
category = "character";
|
category = "character";
|
||||||
break;
|
break;
|
||||||
case "mangaka":
|
case "mangaka":
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue