blob: 2f03399bf4c2ddf8d2dc17fd3e1d78dd47e14aa1 [file] [log] [blame]
// Copyright (c) 2014, 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.
// @dart = 2.9
/// @assertion Element get matchingTarget
/// A pointer to the element whose CSS selector matched within which an event
/// was fired.
/// If this Event was not associated with any Event delegation, accessing this
/// value will throw an UnsupportedError.
/// @description Checks expected matchingTarget if there is an event delegation
import "dart:html";
import "../../../Utils/expect.dart";
main() {
var body = document.body;
var id1 = new DivElement()..id = 'id';
var id2 = new DivElement()..id = 'id';
var class1 = new DivElement()..classes.add('class');
var class2 = new DivElement()..classes.add('class');
body.append(id1);
body.append(id2);
body.append(class1);
body.append(class2);
body.onClick.matches('#id').listen((e) {
Expect.identical(id1, e.matchingTarget);
asyncEnd();
});
body.onClick.matches('.class').listen((e) {
Expect.identical(class1, e.matchingTarget);
asyncEnd();
});
asyncMultiStart(2);
id1.click();
class1.click();
}