5738ab2eb6
Change-Id: I7538ea08fe414c3fc6ad69bafb4e665214003d30 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/224960 Reviewed-by: Samuel Rawlins <srawlins@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
32 lines
930 B
Dart
32 lines
930 B
Dart
// Copyright (c) 2021, 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:analyzer_utilities/check/check.dart';
|
|
import 'package:meta/meta.dart';
|
|
|
|
extension StringExtension on CheckTarget<String> {
|
|
void contains(Pattern other) {
|
|
if (!value.contains(other)) {
|
|
fail('does not contain ${valueStr(other)}');
|
|
}
|
|
}
|
|
|
|
@UseResult.unless(parameterDefined: 'expected')
|
|
CheckTarget<int> hasLength([int? expected]) {
|
|
var actual = value.length;
|
|
|
|
if (expected != null && actual != expected) {
|
|
fail('does not have length ${valueStr(expected)}');
|
|
}
|
|
|
|
return nest(actual, (length) => 'has length $length');
|
|
}
|
|
|
|
void startsWith(Pattern other) {
|
|
if (!value.startsWith(other)) {
|
|
fail('does not start with ${valueStr(other)}');
|
|
}
|
|
}
|
|
}
|