[Bug Report] Test environment error: Cannot read property 'toLowerCase' of undefined
- Dominant language
- Vue
- Stars
- 16.4k
- Forks
- 3.5k
- PR merge metrics
- No merged PRs in 30d
Description
### Mint UI version
2.2.13
### OS/Browsers version
Jest
### Vue version
2.5.10
### Reproduction Link
[http://codepen.com/testevironment/don't/use/it](http://codepen.com/testevironment/don't/use/it)
### Steps to reproduce
1. Install and config Jest
2. Import components from mint-ui in file need test
3. Import the file in test file
### What is Expected?
Test without error
### What is actually happening?
Get error: Cannot read property 'toLowerCase' of undefined.
I think the error was product by follow code. In test environment, user agent info, such as `document.documentElement.style` are empty, so `engine` would be undefined. And then, undefined `engine` lead to undefined `vendorPrefix`, read `toLowerCase` from it lead to error.
```
var docStyle = document.documentElement.style;
var engine;
var translate3d = false;
if (window.opera && Object.prototype.toString.call(opera) === '[object Opera]') {
engine = 'presto';
} else if ('MozAppearance' in docStyle) {
engine = 'gecko';
} else if ('WebkitAppearance' in docStyle) {
engine = 'webkit';
} else if (typeof navigator.cpuClass === 'string') {
engine = 'trident';
}
var cssPrefix = {trident: '-ms-', gecko: '-moz-', webkit: '-webkit-', presto: '-o-'}[engine];
var vendorPrefix = {trident: 'ms', gecko: 'Moz', webkit: 'Webkit', presto: 'O'}[engine];
var helperElem = document.createElement('div');
var perspectiveProperty = vendorPrefix 'Perspective';
var transformProperty = vendorPrefix 'Transform';
var transformStyleName = cssPrefix 'transform';
var transitionProperty = vendorPrefix 'Transition';
var transitionStyleName = cssPrefix 'transition';
var transitionEndProperty = vendorPrefix.toLowerCase() 'TransitionEnd';
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.