-
Notifications
You must be signed in to change notification settings - Fork 5
/
src-attr-as-text-test.js
54 lines (45 loc) · 1.94 KB
/
src-attr-as-text-test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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
51
52
53
54
/**
* @license
* Copyright (c) 2017 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
*/
goog.provide('security.polymer_resin.src_attr_as_text');
goog.require('goog.html.SafeUrl');
goog.require('goog.string.Const');
suite(
'SrcAttrAsText',
function () {
var srcAttrAsTextFixture;
setup(function () {
srcAttrAsTextFixture = fixture('src-attr-as-text-fixture');
});
test('innocuous_string', function() {
srcAttrAsTextFixture.src = 'Java joe\'s';
assert.equal('I bought a coffee at Java joe\'s then I dropped it.',
Polymer.dom(srcAttrAsTextFixture.root).textContent);
});
test('bad_url_as_text', function() {
srcAttrAsTextFixture.src = 'javascript:joe(\'s\')';
assert.equal(
'I bought a coffee at javascript:joe(\'s\') then I dropped it.',
Polymer.dom(srcAttrAsTextFixture.root).textContent);
});
test('typed_string_is_unwrapped', function() {
srcAttrAsTextFixture.src = goog.html.SafeUrl.fromConstant(
goog.string.Const.from('safe/value'));
// TODO(msamuel): the safe value is being interpolated into the
// larger text node before the text content reaches
// computeFinalAnnotationValue. This seems different from that
// seen by other test cases. Why is it?
// assert.equal('I bought a coffee at safe/value then I dropped it.',
// Polymer.dom(srcAttrAsTextFixture.root).textContent);
});
});