| // Copyright (c) 2020, 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. | 
 |  | 
 | import 'package:expect/legacy/minitest.dart'; // ignore: deprecated_member_use_from_same_package | 
 | import 'dart:html'; | 
 |  | 
 | main() { | 
 |   var isGamepadList = predicate( | 
 |     (x) => x is List<Gamepad?>, | 
 |     'is a List<Gamepad?>', | 
 |   ); | 
 |  | 
 |   insertTestDiv() { | 
 |     var element = new Element.tag('div'); | 
 |     element.innerHtml = r''' | 
 |     A large block of text should go here. Click this | 
 |     block of text multiple times to see each line | 
 |     highlight with every click of the mouse button. | 
 |     '''; | 
 |     document.body!.append(element); | 
 |     return element; | 
 |   } | 
 |  | 
 |   test("getGamepads", () { | 
 |     insertTestDiv(); | 
 |     var gamepads = window.navigator.getGamepads(); | 
 |     expect(gamepads, isGamepadList); | 
 |     for (var gamepad in gamepads) { | 
 |       if (gamepad != null) { | 
 |         expect(gamepad.id, isNotNull); | 
 |       } | 
 |     } | 
 |   }); | 
 | } |