)]}'
{
  "commit": "050afd650f7cdfaee8c19c1bebadc3fcbc379bd0",
  "tree": "6d21c05fdb0c771eb1d54d5c22b4882f1fd6741c",
  "parents": [
    "7a82e8e995080ed6887c0f29a9ce4e63b6ba1350"
  ],
  "author": {
    "name": "Sigmund Cherem",
    "email": "sigmund@google.com",
    "time": "Wed Feb 14 20:12:05 2024 +0000"
  },
  "committer": {
    "name": "Commit Queue",
    "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Feb 14 20:12:05 2024 +0000"
  },
  "message": "[expect] introduce Expect.throwsWhen and Expect.throwsTypeErrorWhen\n\nToday, most tests that touch on a behavior variation end up\nskipping expectations or the entirety of a test for some\ntesting configurations.  Moving forward, we\u0027d like skip less\nand try to account for the behavior variations if that\u0027s\nreasonable.\n\nThis CL shows an approach to improve our test coverage for\nbehavior variations. We introduce two new methods to\n[Expect] that allow us to conditionally check that a\nfunction throws, depending on variation predicates.\n\nThe CL changes expectations for errors that don\u0027t occur\nwhen dart2js omits parameter type checks or implicit\ndowncasts.\n\nNote: originally I had the intention to introduce a name\nparameter to `Expect.throws` and `Expect.throwsTypeError` to\navoid introducing a new API. However, because these APIs are\nused for testing core language features, such as function\nparameters themselves, we decided to keep the use of\nfeatures in these APIs as simple as it can be.\n\nCoreLibraryReviewExempt: no public library semantic change - only improving test coverage under variations\nChange-Id: I531657622655778491eaca8b37ba69ffaab559fc\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/351340\nReviewed-by: Lasse Nielsen \u003clrn@google.com\u003e\nCommit-Queue: Sigmund Cherem \u003csigmund@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9bb522b6f70db5a5927a4e8d80f4d71b8897818f",
      "old_mode": 33188,
      "old_path": "pkg/expect/lib/expect.dart",
      "new_id": "477f4c17d4b675690d065f5c873f0e88dd7f756f",
      "new_mode": 33188,
      "new_path": "pkg/expect/lib/expect.dart"
    },
    {
      "type": "modify",
      "old_id": "2c3e2aa3214b90cbd0e3f55fc8eb1518c84c2b26",
      "old_mode": 33188,
      "old_path": "tests/corelib/apply_test.dart",
      "new_id": "5bad3e4a6d4867a63b111bd4410255840f38694e",
      "new_mode": 33188,
      "new_path": "tests/corelib/apply_test.dart"
    },
    {
      "type": "modify",
      "old_id": "234ed51868285e682fbc3fdf4dc0034db1bd61bb",
      "old_mode": 33188,
      "old_path": "tests/corelib/int_modulo_arith_test.dart",
      "new_id": "5007d2be223ce30153c3a01a599acbbdeb13cf47",
      "new_mode": 33188,
      "new_path": "tests/corelib/int_modulo_arith_test.dart"
    },
    {
      "type": "modify",
      "old_id": "031ca309f34ebb596c52c3433f0803074f85efea",
      "old_mode": 33188,
      "old_path": "tests/corelib/list_removeat_test.dart",
      "new_id": "4e9be3ae03ee28a45ccde455ac58995839f02895",
      "new_mode": 33188,
      "new_path": "tests/corelib/list_removeat_test.dart"
    },
    {
      "type": "modify",
      "old_id": "1c8a294abf7761e017fcc610ac692d193fb50d2c",
      "old_mode": 33188,
      "old_path": "tests/corelib/string_split_test.dart",
      "new_id": "a0f91896fb1d52eeea7be4aa859916bf1d64aad4",
      "new_mode": 33188,
      "new_path": "tests/corelib/string_split_test.dart"
    },
    {
      "type": "modify",
      "old_id": "7da5cc3c5fc7f13d7e94ff1253375626a88cbbfb",
      "old_mode": 33188,
      "old_path": "tests/language/covariant/field_test.dart",
      "new_id": "14267eeb882573b4d7c57256fab9df11e028c129",
      "new_mode": 33188,
      "new_path": "tests/language/covariant/field_test.dart"
    },
    {
      "type": "modify",
      "old_id": "96196bd4b55a9a2c91d4cb8168dd9413e66f1d29",
      "old_mode": 33188,
      "old_path": "tests/language/covariant/method_test.dart",
      "new_id": "fe6196d411e66b22aade843d0258d5167f70ffba",
      "new_mode": 33188,
      "new_path": "tests/language/covariant/method_test.dart"
    },
    {
      "type": "modify",
      "old_id": "5d90b9cd7d8d7fbac7704a3f0b7a0e7c5719e443",
      "old_mode": 33188,
      "old_path": "tests/language/function/apply_generic2_test.dart",
      "new_id": "51748ccc79b1ac4b24ec61bea6d6e46853f18b07",
      "new_mode": 33188,
      "new_path": "tests/language/function/apply_generic2_test.dart"
    },
    {
      "type": "modify",
      "old_id": "e62801557c78889f8a327fc0b281adfd749eee74",
      "old_mode": 33188,
      "old_path": "tests/language/function/type2_test.dart",
      "new_id": "06532e0c7e89b807901989975b903f78ae9ad9ed",
      "new_mode": 33188,
      "new_path": "tests/language/function/type2_test.dart"
    },
    {
      "type": "modify",
      "old_id": "7aebf1db88e1b33e25e3995625f45cbcfec45370",
      "old_mode": 33188,
      "old_path": "tests/language/function/type_call_getter2_runtime_test.dart",
      "new_id": "8eba2dc1caad77c03bfd28bbef395f41f8d94061",
      "new_mode": 33188,
      "new_path": "tests/language/function/type_call_getter2_runtime_test.dart"
    },
    {
      "type": "modify",
      "old_id": "8c7459c3ee070257052e6cbecb84bc2e755149c6",
      "old_mode": 33188,
      "old_path": "tests/language/function/type_test.dart",
      "new_id": "eda5791c064ddef625f909862b0226b95559560d",
      "new_mode": 33188,
      "new_path": "tests/language/function/type_test.dart"
    },
    {
      "type": "modify",
      "old_id": "2b0deca22a6b99ce166799ed0e1345211c7e3c03",
      "old_mode": 33188,
      "old_path": "tests/language/function_subtype/bound_closure7_test.dart",
      "new_id": "90079568b8cb351423ad5b23765b9407dd60a79a",
      "new_mode": 33188,
      "new_path": "tests/language/function_subtype/bound_closure7_test.dart"
    },
    {
      "type": "modify",
      "old_id": "775e4c32ab35710ba40695e59f4dc3aec60df6f2",
      "old_mode": 33188,
      "old_path": "tests/language/function_subtype/checked0_test.dart",
      "new_id": "50f9c56720433fc51b1bd65a8d35f6ca06c9bcba",
      "new_mode": 33188,
      "new_path": "tests/language/function_subtype/checked0_test.dart"
    },
    {
      "type": "modify",
      "old_id": "37844c9c6b7d65110bb2f41009329389cd2f69d5",
      "old_mode": 33188,
      "old_path": "tests/language/this/as_covariant_call_checks_test.dart",
      "new_id": "1296554ec59cd605128a3e2540f7a4f2de6e4f31",
      "new_mode": 33188,
      "new_path": "tests/language/this/as_covariant_call_checks_test.dart"
    }
  ]
}
