# 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.md file.

# Test that constant set literals works as expected.

type: newworld
worlds:
  - entry: "main.dart"
    sources:
      main.dart: |
        // @dart=2.9
        import 'lib.dart';

        const Set<String> foo = {};
        main() {
          print(foo);
          print(bar);
        }
      lib.dart: |
        // @dart=2.9
        const Set<String> bar = {"hello", "world"};
    expectedLibraryCount: 2
  - entry: "main.dart"
    worldType: updated
    expectInitializeFromDill: false
    invalidate:
      - lib.dart
    sources:
      lib.dart: |
        // @dart=2.9
        const Set<int> bar = {42};
    expectedLibraryCount: 2
