@fooloomanzoo/property-mixins
Version:
mixin for custom elements to extends property mixins for data formats
98 lines (79 loc) • 3.82 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes">
<title>intl-datetime-format-mixin test</title>
<script src="../../../@webcomponents/webcomponentsjs/webcomponents-loader.js"></script>
<script src="../../../wct-browser-legacy/browser.js"></script>
<script src="../../../@polymer/iron-test-helpers/test-helpers.js" type="module"></script>
<script type="module" src="../demo/elements/basic-intl-datetime-format-element.js"></script>
</head>
<body>
<test-fixture id="basic">
<template>
<basic-intl-datetime-format-element></basic-intl-datetime-format-element>
</template>
</test-fixture>
<test-fixture id="en">
<template>
<basic-intl-datetime-format-element locale="en"></basic-intl-datetime-format-element>
</template>
</test-fixture>
<test-fixture id="de">
<template>
<basic-intl-datetime-format-element locale="de"></basic-intl-datetime-format-element>
</template>
</test-fixture>
<script type="module">
import { Base } from '@polymer/polymer/polymer-legacy.js';
import { getParams, mixinSuite } from '@fooloomanzoo/input-picker-pattern/utils/wct-mixin-test-helper.js';
const params = getParams();
mixinSuite(['basic-intl-datetime-format-element']);
suite('basic', () => {
let element;
setup(function() {
element = fixture('basic');
});
test('default format', done => {
assert.isDefined(element.locale, 'locale is defined');
assert.isDefined(element.decimalSeparator, 'decimalSeparator is defined');
assert.isDefined(element.dateSeparator, 'dateSeparator is defined');
assert.isDefined(element.timeSeparator, 'timeSeparator is defined');
assert.isDefined(element.amString, 'amString is defined');
assert.isDefined(element.pmString, 'pmString is defined');
assert.isDefined(element.dateOrder, 'dateOrder is defined');
done();
});
});
suite('setting locale="en"', () => {
let element;
setup(function() {
element = fixture('en');
});
test('datetime format', done => {
assert.equal(element.decimalSeparator, '.', 'decimalSeparator should be set to "english"-format');
assert.equal(element.dateSeparator, '/', 'dateSeparator should be set to "english"-format');
assert.equal(element.timeSeparator, ':', 'timeSeparator should be set to "english"-format');
assert.deepEqual(element.dateOrder.parts, ['month', 'day', 'year'], 'dateOrder should be set to "english"-format');
assert.equal(element.dateOrder.timeFirst, false, 'dateOrder should be set to "english"-format');
done();
});
});
suite('setting locale="de"', () => {
let element;
setup(function() {
element = fixture('de');
});
test('datetime format', done => {
assert.equal(element.decimalSeparator, ',', 'decimalSeparator should be set to "german"-format');
assert.equal(element.dateSeparator, '.', 'dateSeparator should be set to "german"-format');
assert.equal(element.timeSeparator, ':', 'timeSeparator should be set to "german"-format');
assert.deepEqual(element.dateOrder.parts, ['day', 'month', 'year'], 'dateOrder should be set to "german"-format');
assert.equal(element.dateOrder.timeFirst, false, 'dateOrder should be set to "german"-format');
done();
});
});
</script>
</body>
</html>