Diff
checker
文本
文本
图像
文档
Excel
文件夹
Legal
Enterprise
桌面版
定价
登录
下载 Diffchecker 桌面版
比较文本
查找两个文本文件之间的差异
工具
历史
实时编辑器
折叠未更改行
关闭换行
视图
拆分
统一
比对精度
智能
单词
字符
语法高亮
选择语法
忽略
文本转换
转到第一个差异
编辑输入
Diffchecker Desktop
运行Diffchecker最安全的方式。获取Diffchecker桌面应用:您的差异永远不会离开您的电脑!
获取桌面版
Untitled diff
创建于
9年前
差异永不过期
清除
导出
分享
解释
44 删除
行
总计
删除
字符
总计
删除
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
175 行
全部复制
66 添加
行
总计
添加
字符
总计
添加
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
189 行
全部复制
/*
/*
* (C) Copyright 2017 Code-House, Łukasz Dywicki.
* (C) Copyright 2017 Code-House, Łukasz Dywicki.
*
*
* Licensed under the Apache License, Version 2.0 (the "License");
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* See the License for the specific language governing permissions and
* limitations under the License.
* limitations under the License.
*/
*/
复制
已复制
复制
已复制
package org.
eclipse.aether.util
.version;
package org.
code_house.maven.osgi.resolver.shared
.version;
import org.code_house.maven.osgi.resolver.test.VersionRangeTest;
import org.code_house.maven.osgi.resolver.test.VersionRangeTest;
import org.eclipse.aether.version.InvalidVersionSpecificationException;
import org.eclipse.aether.version.InvalidVersionSpecificationException;
import org.junit.Test;
import org.junit.Test;
import static org.junit.Assert.*;
import static org.junit.Assert.*;
/**
/**
复制
已复制
复制
已复制
*
Customized version
of
aether generic
version
. Located here to verify {@link VersionRangeTest} and to track eventual
*
Test
of
OSGi
version
range filtering.
* changes in aether's logic.
*/
*/
复制
已复制
复制
已复制
public class
Generic
VersionRangeTest extends VersionRangeTest<
Generic
VersionRange,
GenericVersion
> {
public class
Osgi
VersionRangeTest extends VersionRangeTest<
Osgi
VersionRange,
OsgiVersion
> {
复制
已复制
复制
已复制
protected
GenericVersion
newVersion(String version) {
@Override
return new
GenericVersion
(version);
protected
OsgiVersion
newVersion(String version) {
return new
OsgiVersion
(version);
}
}
复制
已复制
复制
已复制
protected
Generic
VersionRange parseValid(String range) {
@Override
protected
Osgi
VersionRange parseValid(String range) {
try {
try {
复制
已复制
复制
已复制
return new
Generic
VersionRange(range);
return new
Osgi
VersionRange(range);
} catch (InvalidVersionSpecificationException e) {
} catch (InvalidVersionSpecificationException e) {
复制
已复制
复制
已复制
AssertionError error =
new AssertionError(range + " should be valid but failed to parse due to: " + e.getMessage());
AssertionError error =
new AssertionError(range + " should be valid but failed to parse due to: " + e.getMessage());
error.initCause(e);
error.initCause(e);
throw error;
throw error;
}
}
}
}
复制
已复制
复制
已复制
@Override
protected void parseInvalid(String range) {
protected void parseInvalid(String range) {
try {
try {
复制
已复制
复制
已复制
new
Generic
VersionRange(range);
new
Osgi
VersionRange(range);
fail(range + " should be invalid");
fail(range + " should be invalid");
} catch (InvalidVersionSpecificationException e) {
} catch (InvalidVersionSpecificationException e) {
assertTrue(true);
assertTrue(true);
}
}
}
}
@Test
@Test
public void testLowerBoundInclusiveUpperBoundInclusive() {
public void testLowerBoundInclusiveUpperBoundInclusive() {
复制
已复制
复制
已复制
Generic
VersionRange range = parseValid("[1,2]");
Osgi
VersionRange range = parseValid("[1,2]");
assertContains(range, "1");
assertContains(range, "1");
assertContains(range, "1.1-SNAPSHOT");
assertContains(range, "1.1-SNAPSHOT");
assertContains(range, "2");
assertContains(range, "2");
assertEquals(range, parseValid(range.toString()));
assertEquals(range, parseValid(range.toString()));
}
}
@Test
@Test
public void testLowerBoundInclusiveUpperBoundExclusive() {
public void testLowerBoundInclusiveUpperBoundExclusive() {
复制
已复制
复制
已复制
Generic
VersionRange range = parseValid("[1.2.3.4
.5
,1.2.3.
4.
6)");
Osgi
VersionRange range = parseValid("[1.2.3.4
,1.2.3.
6)");
assertContains(range, "1.2.3.4
.5");
assertContains(range, "1.2.3.4
");
assertNotContains(range, "1.2.3.
4.
6");
assertContains(range, "1.2.3.45");
assertContains(range, "1.2.3
.5");
assertNotContains(range, "1.2.3.
6");
assertEquals(range, parseValid(range.toString()));
assertEquals(range, parseValid(range.toString()));
}
}
@Test
@Test
public void testLowerBoundExclusiveUpperBoundInclusive() {
public void testLowerBoundExclusiveUpperBoundInclusive() {
复制
已复制
复制
已复制
Generic
VersionRange range = parseValid("(
1a,1b
]");
Osgi
VersionRange range = parseValid("(
1.0.0.a,1.0.0.b
]");
assertNotContains(range, "1
a");
assertNotContains(range, "1
-
a");
assertContains(range, "1
b");
assertContains(range, "1
-
b");
assertEquals(range, parseValid(range.toString()));
assertEquals(range, parseValid(range.toString()));
}
}
@Test
@Test
public void testLowerBoundExclusiveUpperBoundExclusive() {
public void testLowerBoundExclusiveUpperBoundExclusive() {
复制
已复制
复制
已复制
Generic
VersionRange range = parseValid("(1,3)");
Osgi
VersionRange range = parseValid("(1,3)");
assertNotContains(range, "1");
assertNotContains(range, "1");
assertContains(range, "2-SNAPSHOT");
assertContains(range, "2-SNAPSHOT");
assertNotContains(range, "3");
assertNotContains(range, "3");
assertEquals(range, parseValid(range.toString()));
assertEquals(range, parseValid(range.toString()));
}
}
@Test
@Test
public void testSingleVersion() {
public void testSingleVersion() {
复制
已复制
复制
已复制
Generic
VersionRange range = parseValid("[1
]");
Osgi
VersionRange range = parseValid("[1
,1
]");
assertContains(range, "1");
assertContains(range, "1");
assertEquals(range, parseValid(range.toString()));
assertEquals(range, parseValid(range.toString()));
range = parseValid("[1,1]");
range = parseValid("[1,1]");
assertContains(range, "1");
assertContains(range, "1");
assertEquals(range, parseValid(range.toString()));
assertEquals(range, parseValid(range.toString()));
}
}
@Test
@Test
public void testSingleWildcardVersion() {
public void testSingleWildcardVersion() {
复制
已复制
复制
已复制
Generic
VersionRange range = parseValid("
[
1.2
.*]
");
Osgi
VersionRange range = parseValid("
1.2
");
assertContains(range, "1.2-alpha-1");
assertContains(range, "1.2-alpha-1");
assertContains(range, "1.2-SNAPSHOT");
assertContains(range, "1.2-SNAPSHOT");
assertContains(range, "1.2");
assertContains(range, "1.2");
assertContains(range, "1.2.9999999");
assertContains(range, "1.2.9999999");
复制
已复制
复制
已复制
assert
Not
Contains(range, "1.3-rc-1");
assert
Contains(range, "1.3-rc-1");
assertContains(range, "1.9");
assertContains(range, "9");
assertEquals(range, parseValid(range.toString()));
assertEquals(range, parseValid(range.toString()));
}
}
@Test
@Test
public void testMissingOpenCloseDelimiter() {
public void testMissingOpenCloseDelimiter() {
复制
已复制
复制
已复制
parse
Inv
alid("1.0");
parse
V
alid("1.0");
}
}
@Test
@Test
public void testMissingOpenDelimiter() {
public void testMissingOpenDelimiter() {
parseInvalid("1.0]");
parseInvalid("1.0]");
parseInvalid("1.0)");
parseInvalid("1.0)");
}
}
@Test
@Test
public void testMissingCloseDelimiter() {
public void testMissingCloseDelimiter() {
parseInvalid("[1.0");
parseInvalid("[1.0");
parseInvalid("(1.0");
parseInvalid("(1.0");
}
}
@Test
@Test
public void testTooManyVersions() {
public void testTooManyVersions() {
parseInvalid("[1,2,3]");
parseInvalid("[1,2,3]");
parseInvalid("(1,2,3)");
parseInvalid("(1,2,3)");
parseInvalid("[1,2,3)");
parseInvalid("[1,2,3)");
}
}
@Test
@Test
public void testSnapshotAndReleaseWithMinimum() {
public void testSnapshotAndReleaseWithMinimum() {
复制
已复制
复制
已复制
Generic
VersionRange range = parseValid("[4.0.0.min,5)");
Osgi
VersionRange range = parseValid("[4.0.0.min,5)");
复制
已复制
复制
已复制
assert
Contains(range, "4.0-alpha-1");
assert
Not
Contains(range, "4.0-alpha-1");
assert
Contains(range, "4.0-SNAPSHOT");
assert
Not
Contains(range, "4.0-SNAPSHOT");
assert
Contains(range, "4.0.0-SNAPSHOT");
assert
Not
Contains(range, "4.0.0-SNAPSHOT");
assertContains(range, "4.min");
assertContains(range, "4.99");
assertContains(range, "4.99");
assertNotContains(range, "5");
assertNotContains(range, "5");
assertEquals(range, parseValid(range.toString()));
assertEquals(range, parseValid(range.toString()));
}
}
@Test
@Test
public void testSnapshotAndReleaseWithoutMinimum() {
public void testSnapshotAndReleaseWithoutMinimum() {
复制
已复制
复制
已复制
Generic
VersionRange range = parseValid("[4.0.0,5)");
Osgi
VersionRange range = parseValid("[4.0.0,5)");
assertNotContains(range, "4.0-alpha-1");
assertNotContains(range, "4.0-SNAPSHOT");
assertNotContains(range, "4.0.0-SNAPSHOT");
assertContains(range, "4.99.99");
assertNotContains(range, "5");
assertContains(range, "5.0.0-SNAPSHOT");
Text moved with changes to lines 163-168 (98.1% similarity)
assertEquals(range, parseValid(range.toString()));
}
@Test
public void testSnapshotAndReleaseWithMinAndMax() {
GenericVersionRange range = parseValid("[4.min,5.min)");
assertContains(range, "4.0-alpha-1");
assertContains(range, "4.0-alpha-1");
assertContains(range, "4.0-SNAPSHOT");
assertContains(range, "4.0-SNAPSHOT");
assertContains(range, "4.0.0-SNAPSHOT");
assertContains(range, "4.0.0-SNAPSHOT");
assertContains(range, "4.99.99");
assertContains(range, "4.99.99");
assertNotContains(range, "5");
assertNotContains(range, "5");
assertNotContains(range, "5.0.0-SNAPSHOT");
assertNotContains(range, "5.0.0-SNAPSHOT");
复制
已复制
复制
已复制
Text moved with changes from lines 155-160 (98.1% similarity)
assertNotContains(range,
"5-alpha-1");
assertEquals(range, parseValid(range.toString()));
}
@Test
public void testSnapshotAndReleaseWithMinAndMax() {
OsgiVersionRange range = parseValid("[4.0.0.min,5.0.0.min)");
assertNotContains(range, "4.0-alpha-1");
assertNotContains(range, "4.0-SNAPSHOT");
assertNotContains(range,
"4.0.0-SNAPSHOT");
assertContains(range, "4.0.0.min");
assertContains(range, "4.0.0-min");
assertContains(range, "4.0.0-minimum");
assertContains(range, "4.99.99");
assertContains(range, "5");
assertContains(range, "5.0.0-SNAPSHOT");
assertContains(range,
"5-alpha-1");
assertNotContains(range, "5-rc");
assertNotContains(range, "5-rc");
复制
已复制
复制
已复制
assertNotContains(range, "5-
ga
");
assertContains(range, "5-ga");
assertContains(range, "5-mi");
assertNotContains(range, "5-
min");
assertNotContains(range, "5-minimum
");
}
}
}
}
0
0
已保存差异
原始文本
打开文件
/* * (C) Copyright 2017 Code-House, Łukasz Dywicki. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.eclipse.aether.util.version; import org.code_house.maven.osgi.resolver.test.VersionRangeTest; import org.eclipse.aether.version.InvalidVersionSpecificationException; import org.junit.Test; import static org.junit.Assert.*; /** * Customized version of aether generic version. Located here to verify {@link VersionRangeTest} and to track eventual * changes in aether's logic. */ public class GenericVersionRangeTest extends VersionRangeTest<GenericVersionRange, GenericVersion> { protected GenericVersion newVersion(String version) { return new GenericVersion(version); } protected GenericVersionRange parseValid(String range) { try { return new GenericVersionRange(range); } catch (InvalidVersionSpecificationException e) { AssertionError error = new AssertionError(range + " should be valid but failed to parse due to: " + e.getMessage()); error.initCause(e); throw error; } } protected void parseInvalid(String range) { try { new GenericVersionRange(range); fail(range + " should be invalid"); } catch (InvalidVersionSpecificationException e) { assertTrue(true); } } @Test public void testLowerBoundInclusiveUpperBoundInclusive() { GenericVersionRange range = parseValid("[1,2]"); assertContains(range, "1"); assertContains(range, "1.1-SNAPSHOT"); assertContains(range, "2"); assertEquals(range, parseValid(range.toString())); } @Test public void testLowerBoundInclusiveUpperBoundExclusive() { GenericVersionRange range = parseValid("[1.2.3.4.5,1.2.3.4.6)"); assertContains(range, "1.2.3.4.5"); assertNotContains(range, "1.2.3.4.6"); assertEquals(range, parseValid(range.toString())); } @Test public void testLowerBoundExclusiveUpperBoundInclusive() { GenericVersionRange range = parseValid("(1a,1b]"); assertNotContains(range, "1a"); assertContains(range, "1b"); assertEquals(range, parseValid(range.toString())); } @Test public void testLowerBoundExclusiveUpperBoundExclusive() { GenericVersionRange range = parseValid("(1,3)"); assertNotContains(range, "1"); assertContains(range, "2-SNAPSHOT"); assertNotContains(range, "3"); assertEquals(range, parseValid(range.toString())); } @Test public void testSingleVersion() { GenericVersionRange range = parseValid("[1]"); assertContains(range, "1"); assertEquals(range, parseValid(range.toString())); range = parseValid("[1,1]"); assertContains(range, "1"); assertEquals(range, parseValid(range.toString())); } @Test public void testSingleWildcardVersion() { GenericVersionRange range = parseValid("[1.2.*]"); assertContains(range, "1.2-alpha-1"); assertContains(range, "1.2-SNAPSHOT"); assertContains(range, "1.2"); assertContains(range, "1.2.9999999"); assertNotContains(range, "1.3-rc-1"); assertEquals(range, parseValid(range.toString())); } @Test public void testMissingOpenCloseDelimiter() { parseInvalid("1.0"); } @Test public void testMissingOpenDelimiter() { parseInvalid("1.0]"); parseInvalid("1.0)"); } @Test public void testMissingCloseDelimiter() { parseInvalid("[1.0"); parseInvalid("(1.0"); } @Test public void testTooManyVersions() { parseInvalid("[1,2,3]"); parseInvalid("(1,2,3)"); parseInvalid("[1,2,3)"); } @Test public void testSnapshotAndReleaseWithMinimum() { GenericVersionRange range = parseValid("[4.0.0.min,5)"); assertContains(range, "4.0-alpha-1"); assertContains(range, "4.0-SNAPSHOT"); assertContains(range, "4.0.0-SNAPSHOT"); assertContains(range, "4.99"); assertNotContains(range, "5"); assertEquals(range, parseValid(range.toString())); } @Test public void testSnapshotAndReleaseWithoutMinimum() { GenericVersionRange range = parseValid("[4.0.0,5)"); assertNotContains(range, "4.0-alpha-1"); assertNotContains(range, "4.0-SNAPSHOT"); assertNotContains(range, "4.0.0-SNAPSHOT"); assertContains(range, "4.99.99"); assertNotContains(range, "5"); assertContains(range, "5.0.0-SNAPSHOT"); assertEquals(range, parseValid(range.toString())); } @Test public void testSnapshotAndReleaseWithMinAndMax() { GenericVersionRange range = parseValid("[4.min,5.min)"); assertContains(range, "4.0-alpha-1"); assertContains(range, "4.0-SNAPSHOT"); assertContains(range, "4.0.0-SNAPSHOT"); assertContains(range, "4.99.99"); assertNotContains(range, "5"); assertNotContains(range, "5.0.0-SNAPSHOT"); assertNotContains(range, "5-alpha-1"); assertNotContains(range, "5-rc"); assertNotContains(range, "5-ga"); } } 0
更改后文本
打开文件
/* * (C) Copyright 2017 Code-House, Łukasz Dywicki. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.code_house.maven.osgi.resolver.shared.version; import org.code_house.maven.osgi.resolver.test.VersionRangeTest; import org.eclipse.aether.version.InvalidVersionSpecificationException; import org.junit.Test; import static org.junit.Assert.*; /** * Test of OSGi version range filtering. */ public class OsgiVersionRangeTest extends VersionRangeTest<OsgiVersionRange, OsgiVersion> { @Override protected OsgiVersion newVersion(String version) { return new OsgiVersion(version); } @Override protected OsgiVersionRange parseValid(String range) { try { return new OsgiVersionRange(range); } catch (InvalidVersionSpecificationException e) { AssertionError error = new AssertionError(range + " should be valid but failed to parse due to: " + e.getMessage()); error.initCause(e); throw error; } } @Override protected void parseInvalid(String range) { try { new OsgiVersionRange(range); fail(range + " should be invalid"); } catch (InvalidVersionSpecificationException e) { assertTrue(true); } } @Test public void testLowerBoundInclusiveUpperBoundInclusive() { OsgiVersionRange range = parseValid("[1,2]"); assertContains(range, "1"); assertContains(range, "1.1-SNAPSHOT"); assertContains(range, "2"); assertEquals(range, parseValid(range.toString())); } @Test public void testLowerBoundInclusiveUpperBoundExclusive() { OsgiVersionRange range = parseValid("[1.2.3.4,1.2.3.6)"); assertContains(range, "1.2.3.4"); assertContains(range, "1.2.3.45"); assertContains(range, "1.2.3.5"); assertNotContains(range, "1.2.3.6"); assertEquals(range, parseValid(range.toString())); } @Test public void testLowerBoundExclusiveUpperBoundInclusive() { OsgiVersionRange range = parseValid("(1.0.0.a,1.0.0.b]"); assertNotContains(range, "1-a"); assertContains(range, "1-b"); assertEquals(range, parseValid(range.toString())); } @Test public void testLowerBoundExclusiveUpperBoundExclusive() { OsgiVersionRange range = parseValid("(1,3)"); assertNotContains(range, "1"); assertContains(range, "2-SNAPSHOT"); assertNotContains(range, "3"); assertEquals(range, parseValid(range.toString())); } @Test public void testSingleVersion() { OsgiVersionRange range = parseValid("[1,1]"); assertContains(range, "1"); assertEquals(range, parseValid(range.toString())); range = parseValid("[1,1]"); assertContains(range, "1"); assertEquals(range, parseValid(range.toString())); } @Test public void testSingleWildcardVersion() { OsgiVersionRange range = parseValid("1.2"); assertContains(range, "1.2-alpha-1"); assertContains(range, "1.2-SNAPSHOT"); assertContains(range, "1.2"); assertContains(range, "1.2.9999999"); assertContains(range, "1.3-rc-1"); assertContains(range, "1.9"); assertContains(range, "9"); assertEquals(range, parseValid(range.toString())); } @Test public void testMissingOpenCloseDelimiter() { parseValid("1.0"); } @Test public void testMissingOpenDelimiter() { parseInvalid("1.0]"); parseInvalid("1.0)"); } @Test public void testMissingCloseDelimiter() { parseInvalid("[1.0"); parseInvalid("(1.0"); } @Test public void testTooManyVersions() { parseInvalid("[1,2,3]"); parseInvalid("(1,2,3)"); parseInvalid("[1,2,3)"); } @Test public void testSnapshotAndReleaseWithMinimum() { OsgiVersionRange range = parseValid("[4.0.0.min,5)"); assertNotContains(range, "4.0-alpha-1"); assertNotContains(range, "4.0-SNAPSHOT"); assertNotContains(range, "4.0.0-SNAPSHOT"); assertContains(range, "4.min"); assertContains(range, "4.99"); assertNotContains(range, "5"); assertEquals(range, parseValid(range.toString())); } @Test public void testSnapshotAndReleaseWithoutMinimum() { OsgiVersionRange range = parseValid("[4.0.0,5)"); assertContains(range, "4.0-alpha-1"); assertContains(range, "4.0-SNAPSHOT"); assertContains(range, "4.0.0-SNAPSHOT"); assertContains(range, "4.99.99"); assertNotContains(range, "5"); assertNotContains(range, "5.0.0-SNAPSHOT"); assertEquals(range, parseValid(range.toString())); } @Test public void testSnapshotAndReleaseWithMinAndMax() { OsgiVersionRange range = parseValid("[4.0.0.min,5.0.0.min)"); assertNotContains(range, "4.0-alpha-1"); assertNotContains(range, "4.0-SNAPSHOT"); assertNotContains(range, "4.0.0-SNAPSHOT"); assertContains(range, "4.0.0.min"); assertContains(range, "4.0.0-min"); assertContains(range, "4.0.0-minimum"); assertContains(range, "4.99.99"); assertContains(range, "5"); assertContains(range, "5.0.0-SNAPSHOT"); assertContains(range, "5-alpha-1"); assertNotContains(range, "5-rc"); assertContains(range, "5-ga"); assertContains(range, "5-mi"); assertNotContains(range, "5-min"); assertNotContains(range, "5-minimum"); } } 0
查找差异