test/com/google/javascript/jscomp/TypeCheckTest.java
// TODO(tbreisacher): This should produce a warning: Expected 'null' but got 'string|number'
This should produce a warning: Expected 'null' but got 'string|number'
This should produce a warning : Expected ' null ' but got ' string|number '
@Test
  public void testForOf8() {
    testTypesWithCommonExterns(
        lines(
            "function f(/** null */ x) {}",
            "(function(/** !Array<string>|!Iterable<number> */ it) {",
            "  for (let elem of it) {",
            "    f(elem);",
            "  }",
            "})(['']);"));
  }
@ Test public void testForOf8 ( ) { testTypesWithCommonExterns ( lines ( "function f(/** null */ x) {}" , "(function(/** !Array<string>|!Iterable<number> */ it) {" , "  for (let elem of it) {" , "    f(elem);" , "  }" , "})(['']);" ) ) ; }
TODO(tbreisacher): This should produce a warning: Expected 'null' but got 'string|number'
TODO ( tbreisacher ) : This should produce a warning : Expected ' null ' but got ' string|number '
// Union of different types of Iterables.