summaryrefslogtreecommitdiffstats
path: root/vendor/semver/tests/test_version_req.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/semver/tests/test_version_req.rs')
-rw-r--r--vendor/semver/tests/test_version_req.rs44
1 files changed, 43 insertions, 1 deletions
diff --git a/vendor/semver/tests/test_version_req.rs b/vendor/semver/tests/test_version_req.rs
index 98a03ac89..1ed2358a3 100644
--- a/vendor/semver/tests/test_version_req.rs
+++ b/vendor/semver/tests/test_version_req.rs
@@ -168,6 +168,9 @@ pub fn test_multiple() {
// https://github.com/steveklabnik/semver/issues/56
let err = req_err("1.2.3 - 2.3.4");
assert_to_string(err, "expected comma after patch version number, found '-'");
+
+ let err = req_err(">1, >2, >3, >4, >5, >6, >7, >8, >9, >10, >11, >12, >13, >14, >15, >16, >17, >18, >19, >20, >21, >22, >23, >24, >25, >26, >27, >28, >29, >30, >31, >32, >33");
+ assert_to_string(err, "excessive number of version comparators");
}
#[test]
@@ -332,7 +335,7 @@ pub fn test_pre() {
}
#[test]
-pub fn test_parse_errors() {
+pub fn test_parse() {
let err = req_err("\0");
assert_to_string(
err,
@@ -368,6 +371,45 @@ pub fn test_parse_errors() {
}
#[test]
+fn test_comparator_parse() {
+ let parsed = comparator("1.2.3-alpha");
+ assert_to_string(parsed, "^1.2.3-alpha");
+
+ let parsed = comparator("2.X");
+ assert_to_string(parsed, "2.*");
+
+ let parsed = comparator("2");
+ assert_to_string(parsed, "^2");
+
+ let parsed = comparator("2.x.x");
+ assert_to_string(parsed, "2.*");
+
+ let err = comparator_err("1.2.3-01");
+ assert_to_string(err, "invalid leading zero in pre-release identifier");
+
+ let err = comparator_err("1.2.3+4.");
+ assert_to_string(err, "empty identifier segment in build metadata");
+
+ let err = comparator_err(">");
+ assert_to_string(
+ err,
+ "unexpected end of input while parsing major version number",
+ );
+
+ let err = comparator_err("1.");
+ assert_to_string(
+ err,
+ "unexpected end of input while parsing minor version number",
+ );
+
+ let err = comparator_err("1.*.");
+ assert_to_string(err, "unexpected character after wildcard in version req");
+
+ let err = comparator_err("1.2.3+4ÿ");
+ assert_to_string(err, "unexpected character 'ÿ' after build metadata");
+}
+
+#[test]
fn test_cargo3202() {
let ref r = req("0.*.*");
assert_to_string(r, "0.*");