73bcce88
luigser
COMPONENTS
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<!doctype html>
<!--
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
<html>
<head>
<title>iron-input tests</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
c5169e0e
Renato De Donato
a new hope
|
17
|
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes">
|
73bcce88
luigser
COMPONENTS
|
18
19
|
<script src="../../webcomponentsjs/webcomponents-lite.js"></script>
|
c5169e0e
Renato De Donato
a new hope
|
20
|
|
73bcce88
luigser
COMPONENTS
|
21
|
<script src="../../web-component-tester/browser.js"></script>
|
c5169e0e
Renato De Donato
a new hope
|
22
23
24
|
<script src="../../test-fixture/test-fixture-mocha.js"></script>
<link rel="import" href="../../test-fixture/test-fixture.html">
|
73bcce88
luigser
COMPONENTS
|
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
<link rel="import" href="../iron-input.html">
<link rel="import" href="letters-only.html">
</head>
<body>
<test-fixture id="basic">
<template>
<input is="iron-input">
</template>
</test-fixture>
<test-fixture id="has-value">
<template>
<input is="iron-input" value="foobar">
</template>
</test-fixture>
<test-fixture id="has-bind-value">
<template>
<input is="iron-input" bind-value="foobar">
</template>
</test-fixture>
<test-fixture id="prevent-invalid-input">
<template>
|
c5169e0e
Renato De Donato
a new hope
|
51
|
<input is="iron-input" prevent-invalid-input pattern="[0-9]">
|
73bcce88
luigser
COMPONENTS
|
52
53
54
55
56
|
</template>
</test-fixture>
<test-fixture id="prevent-invalid-input-has-value">
<template>
|
c5169e0e
Renato De Donato
a new hope
|
57
|
<input is="iron-input" prevent-invalid-input pattern="[0-9]*" value="foobar">
|
73bcce88
luigser
COMPONENTS
|
58
59
60
61
62
|
</template>
</test-fixture>
<test-fixture id="prevent-invalid-input-has-bind-value">
<template>
|
c5169e0e
Renato De Donato
a new hope
|
63
|
<input is="iron-input" prevent-invalid-input pattern="[0-9]*" bind-value="foobar">
|
73bcce88
luigser
COMPONENTS
|
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
</template>
</test-fixture>
<test-fixture id="has-validator">
<template>
<letters-only></letters-only>
<input is="iron-input" validator="letters-only" pattern="[0-9]*">
</template>
</test-fixture>
<template is="dom-bind" id="bind-to-object">
<input is="iron-input" id="input" bind-value="{{foo}}">
</template>
<script>
suite('basic', function() {
test('setting bindValue sets value', function() {
var input = fixture('basic');
input.bindValue = 'foobar';
assert.equal(input.value, input.bindValue, 'value equals to bindValue');
});
test('changing the input triggers an event', function(done) {
var input = fixture('basic');
input.addEventListener('bind-value-changed', function(value) {
assert.equal(input.value, input.bindValue, 'value equals to bindValue');
done();
});
input.value = "foo";
input._onInput();
});
test('default value sets bindValue', function() {
var input = fixture('has-value');
assert.equal(input.bindValue, input.value, 'bindValue equals value');
});
test('default bindValue sets value', function() {
var input = fixture('has-bind-value');
assert.equal(input.value, input.bindValue, 'value equals to bindValue');
});
test('set bindValue to undefined', function() {
var scope = document.getElementById('bind-to-object');
scope.foo = undefined;
assert.ok(!scope.$.input.bindValue, 'bindValue is falsy');
assert.ok(!scope.$.input.value, 'value is falsy');
});
|
73bcce88
luigser
COMPONENTS
|
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
test('validator used instead of constraints api if provided', function() {
var input = fixture('has-validator')[1];
input.value = '123';
input.validate();
assert.isTrue(input.invalid, 'input is invalid');
});
test('prevent invalid input works in _onInput', function() {
var input = fixture('prevent-invalid-input');
input.value = '123';
input._onInput();
assert.equal(input.bindValue, '123');
input.value = '123foo';
input._onInput();
assert.equal(input.bindValue, '123');
});
|
73bcce88
luigser
COMPONENTS
|
134
135
136
137
138
139
|
});
</script>
</body>
</html>
|