Files
sdk/pkg/analyzer_utilities/lib/check/string.dart
T
Konstantin Shcheglov 5738ab2eb6 Sort extension members.
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>
2021-12-20 18:35:03 +00:00

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)}');
}
}
}