Move to jest for testing (#278)

* chore(package): update core-js to version 3.0.1

Closes #275

* move to jest
pull/282/head
Glen Cheney 5 years ago committed by GitHub
parent d0bd0413fd
commit 8962f8087b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,5 +1,13 @@
{ {
"presets": [ "presets": [
"@babel/preset-env" [
"@babel/preset-env",
{
"targets": {
"browsers": "> 1%, not dead, not IE < 11, not OperaMini all",
"node": "current"
}
}
]
] ]
} }

16
dist/shuffle.js vendored

@ -138,6 +138,8 @@
}; };
var tinyEmitter = E; var tinyEmitter = E;
var TinyEmitter = E;
tinyEmitter.TinyEmitter = TinyEmitter;
var proto = typeof Element !== 'undefined' ? Element.prototype : {}; var proto = typeof Element !== 'undefined' ? Element.prototype : {};
var vendor = proto.matches var vendor = proto.matches
@ -338,7 +340,7 @@
HIDDEN: 'shuffle-item--hidden' HIDDEN: 'shuffle-item--hidden'
}; };
var id$1 = 0; var id = 0;
var ShuffleItem = var ShuffleItem =
/*#__PURE__*/ /*#__PURE__*/
@ -346,8 +348,8 @@
function ShuffleItem(element) { function ShuffleItem(element) {
_classCallCheck(this, ShuffleItem); _classCallCheck(this, ShuffleItem);
id$1 += 1; id += 1;
this.id = id$1; this.id = id;
this.element = element; this.element = element;
/** /**
* Used to separate items for layout and shrink. * Used to separate items for layout and shrink.
@ -865,7 +867,7 @@
} // Used for unique instance variables } // Used for unique instance variables
var id$2 = 0; var id$1 = 0;
var Shuffle = var Shuffle =
/*#__PURE__*/ /*#__PURE__*/
@ -911,8 +913,8 @@
} }
_this.element = el; _this.element = el;
_this.id = 'shuffle_' + id$2; _this.id = 'shuffle_' + id$1;
id$2 += 1; id$1 += 1;
_this._init(); _this._init();
@ -1321,7 +1323,7 @@
calculatedColumns = Math.round(calculatedColumns); calculatedColumns = Math.round(calculatedColumns);
} }
this.cols = Math.max(Math.floor(calculatedColumns), 1); this.cols = Math.max(Math.floor(calculatedColumns || 0), 1);
this.containerWidth = containerWidth; this.containerWidth = containerWidth;
this.colWidth = columnWidth; this.colWidth = columnWidth;
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -138,6 +138,8 @@
}; };
var tinyEmitter = E; var tinyEmitter = E;
var TinyEmitter = E;
tinyEmitter.TinyEmitter = TinyEmitter;
var proto = typeof Element !== 'undefined' ? Element.prototype : {}; var proto = typeof Element !== 'undefined' ? Element.prototype : {};
var vendor = proto.matches var vendor = proto.matches
@ -338,7 +340,7 @@
HIDDEN: 'shuffle-item--hidden' HIDDEN: 'shuffle-item--hidden'
}; };
var id$1 = 0; var id = 0;
var ShuffleItem = var ShuffleItem =
/*#__PURE__*/ /*#__PURE__*/
@ -346,8 +348,8 @@
function ShuffleItem(element) { function ShuffleItem(element) {
_classCallCheck(this, ShuffleItem); _classCallCheck(this, ShuffleItem);
id$1 += 1; id += 1;
this.id = id$1; this.id = id;
this.element = element; this.element = element;
/** /**
* Used to separate items for layout and shrink. * Used to separate items for layout and shrink.
@ -865,7 +867,7 @@
} // Used for unique instance variables } // Used for unique instance variables
var id$2 = 0; var id$1 = 0;
var Shuffle = var Shuffle =
/*#__PURE__*/ /*#__PURE__*/
@ -911,8 +913,8 @@
} }
_this.element = el; _this.element = el;
_this.id = 'shuffle_' + id$2; _this.id = 'shuffle_' + id$1;
id$2 += 1; id$1 += 1;
_this._init(); _this._init();
@ -1321,7 +1323,7 @@
calculatedColumns = Math.round(calculatedColumns); calculatedColumns = Math.round(calculatedColumns);
} }
this.cols = Math.max(Math.floor(calculatedColumns), 1); this.cols = Math.max(Math.floor(calculatedColumns || 0), 1);
this.containerWidth = containerWidth; this.containerWidth = containerWidth;
this.colWidth = columnWidth; this.colWidth = columnWidth;
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,22 +1,9 @@
const gulp = require('gulp'); const gulp = require('gulp');
const mochaPhantomJS = require('gulp-mocha-phantomjs'); const shell = require('gulp-shell');
const config = require('../config');
module.exports = function test() { module.exports = function test() {
return gulp.src('test/runner.html', { return gulp.src('package.json', {
read: false, read: false,
}) })
.pipe(mochaPhantomJS({ .pipe(shell(['npx jest']));
phantomjs: {
useColors: true,
},
}))
// https://github.com/gulpjs/gulp/issues/259#issuecomment-61976830
.on('error', function onerror(err) {
if (config.watch) {
console.error(err.message);
this.emit('end');
}
});
}; };

@ -0,0 +1,26 @@
module.exports = {
// Automatically clear mock calls and instances between every test
clearMocks: true,
// The directory where Jest should output its coverage files
coverageDirectory: 'coverage',
// An array of regexp pattern strings used to skip coverage collection
coveragePathIgnorePatterns: [
'/node_modules/',
'/test/',
],
// A list of reporter names that Jest uses when writing coverage reports
coverageReporters: [
'text',
'lcov',
],
// An array of regexp pattern strings that are matched against all test paths,
// matched tests are skipped
testPathIgnorePatterns: [
'<rootDir>/gulp/',
'/node_modules/',
],
};

@ -24,7 +24,7 @@
"gulp": "gulp", "gulp": "gulp",
"build": "npm run gulp && npm run css", "build": "npm run gulp && npm run css",
"serve": "gulp jekyll", "serve": "gulp jekyll",
"test": "eslint src && gulp test", "test": "eslint src && jest",
"watch": "gulp watch" "watch": "gulp watch"
}, },
"repository": { "repository": {
@ -46,30 +46,26 @@
"array-parallel": "^0.1.3", "array-parallel": "^0.1.3",
"matches-selector": "^1.0.0", "matches-selector": "^1.0.0",
"throttleit": "^1.0.0", "throttleit": "^1.0.0",
"tiny-emitter": "^2.0.1" "tiny-emitter": "^2.1.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.1.6", "@babel/core": "^7.4.3",
"@babel/preset-env": "^7.1.6", "@babel/preset-env": "^7.4.3",
"autoprefixer": "^9.1.2", "autoprefixer": "^9.5.1",
"chai": "^4.0.1", "cssnano": "^4.1.10",
"chai-dom": "^1.7.0", "eslint": "^5.16.0",
"core-js": "^2.5.3",
"cssnano": "^4.0.5",
"eslint": "^5.9.0",
"eslint-config-airbnb-base": "^13.1.0", "eslint-config-airbnb-base": "^13.1.0",
"eslint-plugin-import": "^2.14.0", "eslint-plugin-import": "^2.16.0",
"gulp": "^4.0.0", "gulp": "^4.0.0",
"gulp-mocha-phantomjs": "^0.12.2",
"gulp-postcss": "^8.0.0", "gulp-postcss": "^8.0.0",
"gulp-sass": "^4.0.0", "gulp-sass": "^4.0.0",
"gulp-shell": "^0.7.0", "gulp-shell": "^0.7.0",
"mocha": "^6.0.0", "jest": "^24.7.1",
"rollup": "^1.1.0", "rollup": "^1.9.1",
"rollup-plugin-babel": "^4.0.3", "rollup-plugin-babel": "^4.0.3",
"rollup-plugin-commonjs": "^9.1.0", "rollup-plugin-commonjs": "^9.3.4",
"rollup-plugin-node-resolve": "^4.0.0", "rollup-plugin-node-resolve": "^4.2.2",
"rollup-plugin-terser": "^4.0.2", "rollup-plugin-terser": "^4.0.4",
"sinon": "^7.1.1" "sinon": "^7.3.1"
} }
} }

@ -436,7 +436,7 @@ class Shuffle extends TinyEmitter {
calculatedColumns = Math.round(calculatedColumns); calculatedColumns = Math.round(calculatedColumns);
} }
this.cols = Math.max(Math.floor(calculatedColumns), 1); this.cols = Math.max(Math.floor(calculatedColumns || 0), 1);
this.containerWidth = containerWidth; this.containerWidth = containerWidth;
this.colWidth = columnWidth; this.colWidth = columnWidth;
} }

@ -1,3 +1,4 @@
export const regular = `
<div id="regular"> <div id="regular">
<div class="item" data-age="21" id="item1" data-groups='["design", "red"]'>Person 1</div> <div class="item" data-age="21" id="item1" data-groups='["design", "red"]'>Person 1</div>
<div class="item" data-age="50" id="item2" data-groups='["design", "blue"]'>Person 2</div> <div class="item" data-age="50" id="item2" data-groups='["design", "blue"]'>Person 2</div>
@ -10,3 +11,19 @@
<div class="item" data-age="28" id="item9" data-groups='["design", "red"]'>Person 9</div> <div class="item" data-age="28" id="item9" data-groups='["design", "red"]'>Person 9</div>
<div class="item" data-age="25" id="item10" data-groups='["technology", "black"]'>Person 10</div> <div class="item" data-age="25" id="item10" data-groups='["technology", "black"]'>Person 10</div>
</div> </div>
`;
export const delimiter = `
<div id="delimiter">
<div class="item" id="item1" data-groups='design,red'>Person 1</div>
<div class="item" id="item2" data-groups='design,blue'>Person 2</div>
<div class="item" id="item3" data-groups='strategy,green'>Person 3</div>
<div class="item" id="item4" data-groups='ux,green'>Person 4</div>
<div class="item" id="item5" data-groups='ux,blue'>Person 5</div>
<div class="item" id="item6" data-groups='ux,red'>Person 6</div>
<div class="item" id="item7" data-groups='newbiz'>Person 7</div>
<div class="item" id="item8" data-groups='technology,black'>Person 8</div>
<div class="item" id="item9" data-groups='design,red'>Person 9</div>
<div class="item" id="item10" data-groups='technology,black'>Person 10</div>
</div>
`

@ -1,12 +0,0 @@
<div id="delimiter">
<div class="item" id="item1" data-groups='design,red'>Person 1</div>
<div class="item" id="item2" data-groups='design,blue'>Person 2</div>
<div class="item" id="item3" data-groups='strategy,green'>Person 3</div>
<div class="item" id="item4" data-groups='ux,green'>Person 4</div>
<div class="item" id="item5" data-groups='ux,blue'>Person 5</div>
<div class="item" id="item6" data-groups='ux,red'>Person 6</div>
<div class="item" id="item7" data-groups='newbiz'>Person 7</div>
<div class="item" id="item8" data-groups='technology,black'>Person 8</div>
<div class="item" id="item9" data-groups='design,red'>Person 9</div>
<div class="item" id="item10" data-groups='technology,black'>Person 10</div>
</div>

@ -1,31 +0,0 @@
<html>
<head>
<meta charset="utf-8">
<title>Mocha Tests</title>
<link href="../node_modules/mocha/mocha.css" rel="stylesheet" />
</head>
<body>
<div id="mocha"></div>
<!-- Polyfills -->
<script src="../node_modules/core-js/client/shim.min.js"></script>
<!-- Testing Framework -->
<script src="../node_modules/mocha/mocha.js"></script>
<script src="../node_modules/chai/chai.js"></script>
<script src="../node_modules/chai-dom/chai-dom.js"></script>
<script src="../node_modules/sinon/pkg/sinon.js"></script>
<!-- Source -->
<script src="../dist/shuffle.js"></script>
<script>mocha.setup('bdd')</script>
<script src="test.js"></script>
<script>
mocha.checkLeaks();
mocha.globals([]);
mocha.run();
</script>
</body>
</html>

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save