Skip to content

Commit

Permalink
Merge 3f8e8a2 into b9a2377
Browse files Browse the repository at this point in the history
  • Loading branch information
paradite committed Apr 21, 2019
2 parents b9a2377 + 3f8e8a2 commit 6c3d9a4
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 36 deletions.
3 changes: 2 additions & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{
"singleQuote": true
"singleQuote": true,
"trailingComma": "all"
}
13 changes: 4 additions & 9 deletions test/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,10 @@
<link href="../node_modules/mocha/mocha.css" rel="stylesheet" />
</head>
<body>
<div id="mocha"></div>
<div id="test"></div>
<div id="testClick"></div>
<div id="testClickValue">0</div>
<input type="file" id="test-input" />
<div id="mocha">
<div id="testClick"></div>
<input type="file" id="test-input" />
</div>
<script src="../node_modules/chai/chai.js"></script>
<script src="../node_modules/uitest/mocha.js"></script>
<script src="../node_modules/uitest/uitest-mocha-shim.js"></script>
Expand All @@ -24,10 +23,6 @@
timeout: 60 * 1000,
slow: 3 * 1000
});
document.getElementById('testClick').onclick = () => {
const currentValue = +document.getElementById('testClickValue').innerHTML;
document.getElementById('testClickValue').innerHTML = currentValue + 1;
};
</script>
<script src="./helper.js"></script>
<script src="./index.test.js"></script>
Expand Down
92 changes: 66 additions & 26 deletions test/index.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,49 +4,50 @@ const { assert } = macacaHelper;

describe('base', () => {
let container;
let valueToChange;
beforeEach(() => {
valueToChange = null;
container = document.querySelector('#mocha');
});
after(() => {});

it('click', async () => {
testElm = document.getElementById('testClick');
domEvent(testElm, 'click', {});
valueElm = document.getElementById('testClickValue');
macacaHelper.assert(
valueElm.innerHTML === '1',
'click should be triggered'
);
container.onclick = () => {
valueToChange = 'click';
};
domEvent(container, 'click', {});
macacaHelper.assert(valueToChange === 'click', 'click should be triggered');
await macacaHelper.sleep(100);
});

it('click when target is array', async () => {
testElm = document.getElementById('testClick');
domEvent([testElm], 'click', {});
valueElm = document.getElementById('testClickValue');
container.onclick = () => {
valueToChange = 'click array';
};
domEvent([container], 'click', {});
macacaHelper.assert(
valueElm.innerHTML === '2',
valueToChange === 'click array',
'click should be triggered'
);
await macacaHelper.sleep(100);
});

it('click when target is null', async () => {
container = document.querySelector('body');
container.onclick = () => {
valueToChange = 'click null';
};
try {
domEvent(null, 'click', {});
} catch (e) {
valueElm = document.getElementById('testClickValue');
macacaHelper.assert(
valueElm.innerHTML === '2',
valueToChange === null,
'click should not be triggered'
);
}
await macacaHelper.sleep(100);
});

it('random', async () => {
container = document.querySelector('body');
try {
domEvent(container, 'random', {});
} catch (e) {
Expand All @@ -56,30 +57,69 @@ describe('base', () => {
});

it('touchstart', async () => {
container = document.querySelector('body');
domEvent(container, 'touchstart', {
});
await macacaHelper.sleep(1000);
container.ontouchstart = () => {
valueToChange = 'touchstart';
};
domEvent(container, 'touchstart', {});
// https://github.com/electron/electron/issues/8725
// macacaHelper.assert(
// valueToChange === 'touchstart',
// 'touchstart should be triggered'
// );
await macacaHelper.sleep(100);
});


const keyTests = [
{
event: 'keyup',
eventHandler: 'onkeyup'
},{
event: 'keydown',
eventHandler: 'onkeydown'
},{
event: 'keypress',
eventHandler: 'onkeypress'
},
]

keyTests.forEach((test) => {
const {event, eventHandler} = test;
it(`handles ${event} event`, async () => {
container[eventHandler] = () => {
valueToChange = event;
};
domEvent(container, event, {});
macacaHelper.assert(
valueToChange === event,
`${event} should be triggered`
);
await macacaHelper.sleep(100);
});
})

it('mock input type file', async () => {
const element = document.querySelector('#test-input');
element.addEventListener('change', e => {
assert.equal(e.target.files.length, 2);
}, false);
element.addEventListener(
'change',
e => {
assert.equal(e.target.files.length, 2);
},
false
);

domEvent(element, 'change', {
data: {
target: {
files: [
{
file: 'file1.png',
file: 'file1.png'
},
{
file: 'file2.jpg',
file: 'file2.jpg'
}
],
},
]
}
}
});
});
Expand Down

0 comments on commit 6c3d9a4

Please sign in to comment.