wip
This commit is contained in:
parent
eaca525ec2
commit
797a1d3721
14 changed files with 1377 additions and 987 deletions
|
|
@ -1,6 +1,8 @@
|
|||
// Copyright (c) The Geekeey Authors
|
||||
// SPDX-License-Identifier: EUPL-1.2
|
||||
|
||||
using System.Text;
|
||||
|
||||
namespace Geekeey.SemVer.Tests;
|
||||
|
||||
internal sealed class SemanticVersionRangeTests
|
||||
|
|
@ -152,7 +154,7 @@ internal sealed class SemanticVersionRangeTests
|
|||
[Test]
|
||||
public async Task I_can_serialize_to_json()
|
||||
{
|
||||
var r = SemanticVersionRange.Parse("^1.2.3");
|
||||
var r = SemanticVersionRange.Parse("[1.2.3,2.0.0)");
|
||||
var json = System.Text.Json.JsonSerializer.Serialize(r);
|
||||
await Assert.That(json).IsEqualTo("\"^1.2.3\"");
|
||||
}
|
||||
|
|
@ -165,4 +167,37 @@ internal sealed class SemanticVersionRangeTests
|
|||
await Assert.That(r.ToString()).IsEqualTo("^1.2.3");
|
||||
await Assert.That(r.Satisfies(new SemanticVersion(1, 2, 4))).IsTrue();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task I_use_npm_short_format_by_default()
|
||||
{
|
||||
var value = SemanticVersionRange.Parse("[1.2.3,2.0.0)");
|
||||
await Assert.That(value.ToString()).IsEqualTo("^1.2.3");
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Arguments("^1.2.3", "m", "[1.2.3,2.0.0)")]
|
||||
[Arguments("~1.2.3", "m", "[1.2.3,1.3.0)")]
|
||||
[Arguments("1.2.3", "m", "[1.2.3]")]
|
||||
[Arguments("[1.2.3,2.0.0)", "n", ">=1.2.3 <2.0.0")]
|
||||
[Arguments("[1.2.3,2.0.0)", "ns", "^1.2.3")]
|
||||
[Arguments("[1.2.3,1.3.0)", "ns", "~1.2.3")]
|
||||
[Arguments("[1.2,1.3],[1.5,)", "n", ">=1.2.0 <=1.3.0 || >=1.5.0")]
|
||||
[Arguments("*", "m", "(,)")]
|
||||
public async Task I_can_convert_range_formats(string range, string format, string expected)
|
||||
{
|
||||
var value = SemanticVersionRange.Parse(range);
|
||||
await Assert.That(value.ToString(format, null)).IsEqualTo(expected);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task I_can_format_ranges_to_chars()
|
||||
{
|
||||
var value = SemanticVersionRange.Parse("[1.2.3,2.0.0)");
|
||||
var destination = new char[32];
|
||||
var success = value.TryFormat(destination, out var charsWritten, "ns", null);
|
||||
|
||||
await Assert.That(success).IsTrue();
|
||||
await Assert.That(new string(destination[..charsWritten])).IsEqualTo("^1.2.3");
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue