blob: b8d94bc68bf0e8dd9f195929a4c0feedf5601eac [file] [log] [blame]
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// test w/ `pub run test -N unsafe_html`
import 'dart:html';
void main() {
AnchorElement()..href = 'foo'; // LINT
var embed = EmbedElement();
embed.src = 'foo'; // LINT
IFrameElement()..src = 'foo'; // LINT
ImageElement()..src = 'foo'; // LINT
var script = ScriptElement();
script.src = 'foo.js'; // LINT
var src = 'foo.js'; // OK
var src2 = script.src; // OK
script
..type = 'application/javascript'
..src = 'foo.js'; // LINT
script
..src = 'foo.js' // LINT
..type = 'application/javascript';
script?.src = 'foo.js'; // LINT
IFrameElement()..srcdoc = 'foo'; // LINT
var heading = HeadingElement.h1();
heading.createFragment('<script>'); // LINT
heading.setInnerHtml('<script>'); // LINT
Window().open('url', 'name'); // LINT
DocumentFragment.html('<script>'); // LINT
Element.html('<script>'); // LINT
C().src = 'foo.js'; // OK
var c = C();
c..src = 'foo.js'; // OK
c?.src = 'foo.js'; // OK
c.srcdoc = 'foo.js'; // OK
c.createFragment('<script>'); // OK
c.open('url', 'name'); // OK
c.setInnerHtml('<script>'); // OK
C.html('<script>'); // OK
dynamic d;
d.src = 'foo.js'; // LINT
d.srcdoc = 'foo.js'; // LINT
d.href = 'foo.js'; // LINT
d.createFragment('<script>'); // LINT
d.open('url', 'name'); // LINT
d.setInnerHtml('<script>'); // LINT
(script as dynamic).src = 'foo.js'; // LINT
(C() as dynamic).src = 'foo.js'; // LINT
}
class C {
String src;
String srcdoc;
String href;
C();
C.html(String content);
void createFragment(String html) {}
void open(String url, String name) {}
void setInnerHtml(String html) {}
}