add tests

This commit is contained in:
Pig Fang 2018-07-06 11:32:46 +08:00
parent a42b0467e0
commit 262fb1d6cf
6 changed files with 8044 additions and 923 deletions

View File

@ -5,6 +5,7 @@ module.exports = {
}, },
"extends": "eslint:recommended", "extends": "eslint:recommended",
"parserOptions": { "parserOptions": {
"ecmaVersion": "2018",
"sourceType": "module" "sourceType": "module"
}, },
"rules": { "rules": {

39
karma.conf.js Normal file
View File

@ -0,0 +1,39 @@
/* eslint-env node */
process.env.CHROME_BIN = require("puppeteer").executablePath();
module.exports = function (config) {
config.set({
basePath: "",
frameworks: ["mocha"],
files: [
"test/test.js"
],
exclude: [],
preprocessors: {
"test/test.js": ["webpack"]
},
webpack: {
mode: "development",
module: {
rules: [
{
test: /\.png$/i,
loader: "url-loader"
}
]
}
},
webpackMiddleware: {
stats: "errors-only"
},
reporters: ["progress"],
port: 9876,
colors: true,
logLevel: config.LOG_WARN,
autoWatch: false,
browsers: ["ChromeHeadless"],
singleRun: true,
concurrency: Infinity
});
};

8880
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,8 @@
"scripts": { "scripts": {
"build": "rollup -c tools/rollup.module.js && rollup -c tools/rollup.browser.js && rollup -c tools/rollup.browser.min.js", "build": "rollup -c tools/rollup.module.js && rollup -c tools/rollup.browser.js && rollup -c tools/rollup.browser.min.js",
"prepare": "npm test && rm -rf build && npm run build", "prepare": "npm test && rm -rf build && npm run build",
"test": "eslint src/** tools/** && tslint -c tslint.json types/**.ts", "test": "karma start && npm run lint",
"lint": "eslint src/** tools/** && tslint -c tslint.json types/**.ts",
"dev": "npm-run-all --parallel watch serve", "dev": "npm-run-all --parallel watch serve",
"watch": "rollup -w -c tools/rollup.browser.js", "watch": "rollup -w -c tools/rollup.browser.js",
"serve": "ws" "serve": "ws"
@ -41,9 +42,16 @@
"babel-cli": "^6.26.0", "babel-cli": "^6.26.0",
"babel-plugin-external-helpers": "^6.22.0", "babel-plugin-external-helpers": "^6.22.0",
"babel-preset-env": "^1.6.1", "babel-preset-env": "^1.6.1",
"chai": "^4.1.2",
"eslint": "^4.19.1", "eslint": "^4.19.1",
"karma": "^2.0.4",
"karma-chrome-launcher": "^2.2.0",
"karma-mocha": "^1.3.0",
"karma-webpack": "^3.0.0",
"local-web-server": "^2.5.2", "local-web-server": "^2.5.2",
"mocha": "^5.2.0",
"npm-run-all": "^4.1.2", "npm-run-all": "^4.1.2",
"puppeteer": "^1.5.0",
"rollup": "^0.58.2", "rollup": "^0.58.2",
"rollup-plugin-babel": "^3.0.4", "rollup-plugin-babel": "^3.0.4",
"rollup-plugin-license": "^0.6.0", "rollup-plugin-license": "^0.6.0",
@ -51,6 +59,8 @@
"rollup-plugin-uglify": "^3.0.0", "rollup-plugin-uglify": "^3.0.0",
"tslint": "^5.10.0", "tslint": "^5.10.0",
"typescript": "^2.8.3", "typescript": "^2.8.3",
"uglify-es": "^3.3.10" "uglify-es": "^3.3.10",
"url-loader": "^1.0.1",
"webpack": "^4.15.1"
} }
} }

4
test/.eslintrc.yaml Normal file
View File

@ -0,0 +1,4 @@
extends: ../.eslintrc.js
env:
mocha: true
browser: true

29
test/test.js Normal file
View File

@ -0,0 +1,29 @@
import { expect } from "chai";
import * as skinview3d from "../src/skinview3d";
import skin1_8Default from "./textures/skin-1.8-default-no_hd.png";
import skin1_8Slim from "./textures/skin-1.8-slim-no_hd.png";
import skinOldDefault from "./textures/skin-old-default-no_hd.png";
describe("detect model of texture", () => {
it("1.8 default", async () => {
const image = document.createElement("img");
image.src = skin1_8Default;
await Promise.resolve();
expect(skinview3d.isSlimSkin(image)).to.equal(false);
});
it("1.8 slim", async () => {
const image = document.createElement("img");
image.src = skin1_8Slim;
await Promise.resolve();
expect(skinview3d.isSlimSkin(image)).to.equal(true);
});
it("old default", async () => {
const image = document.createElement("img");
image.src = skinOldDefault;
await Promise.resolve();
expect(skinview3d.isSlimSkin(image)).to.equal(false);
});
});