Skip to content

Commit a8e0d65

Browse files
Refactor URL plugin test
1 parent 77f81cf commit a8e0d65

File tree

1 file changed

+59
-47
lines changed

1 file changed

+59
-47
lines changed
Lines changed: 59 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,73 @@
11
using NUnit.Framework;
2-
using NUnit.Framework.Legacy;
32
using Flow.Launcher.Plugin.Url;
3+
using System.Reflection;
44

55
namespace Flow.Launcher.Test.Plugins
66
{
77
[TestFixture]
88
public class UrlPluginTest
99
{
10-
[Test]
11-
public void URLMatchTest()
10+
private static Main plugin;
11+
12+
[OneTimeSetUp]
13+
public void OneTimeSetup()
1214
{
13-
var plugin = new Main();
14-
ClassicAssert.IsTrue(plugin.IsURL("http://www.google.com"));
15-
ClassicAssert.IsTrue(plugin.IsURL("https://www.google.com"));
16-
ClassicAssert.IsTrue(plugin.IsURL("http://google.com"));
17-
ClassicAssert.IsTrue(plugin.IsURL("ftp://google.com"));
18-
ClassicAssert.IsTrue(plugin.IsURL("www.google.com"));
19-
ClassicAssert.IsTrue(plugin.IsURL("google.com"));
20-
ClassicAssert.IsTrue(plugin.IsURL("http://localhost"));
21-
ClassicAssert.IsTrue(plugin.IsURL("https://localhost"));
22-
ClassicAssert.IsTrue(plugin.IsURL("http://localhost:80"));
23-
ClassicAssert.IsTrue(plugin.IsURL("https://localhost:80"));
24-
ClassicAssert.IsTrue(plugin.IsURL("localhost"));
25-
ClassicAssert.IsTrue(plugin.IsURL("localhost:8080"));
26-
ClassicAssert.IsTrue(plugin.IsURL("http://110.10.10.10"));
27-
ClassicAssert.IsTrue(plugin.IsURL("110.10.10.10"));
28-
ClassicAssert.IsTrue(plugin.IsURL("110.10.10.10:8080"));
29-
ClassicAssert.IsTrue(plugin.IsURL("192.168.1.1"));
30-
ClassicAssert.IsTrue(plugin.IsURL("192.168.1.1:3000"));
31-
ClassicAssert.IsTrue(plugin.IsURL("ftp://110.10.10.10"));
32-
ClassicAssert.IsTrue(plugin.IsURL("[2001:db8::1]"));
33-
ClassicAssert.IsTrue(plugin.IsURL("[2001:db8::1]:8080"));
34-
ClassicAssert.IsTrue(plugin.IsURL("http://[2001:db8::1]"));
35-
ClassicAssert.IsTrue(plugin.IsURL("https://[2001:db8::1]:8080"));
36-
ClassicAssert.IsTrue(plugin.IsURL("[::1]"));
37-
ClassicAssert.IsTrue(plugin.IsURL("[::1]:8080"));
38-
ClassicAssert.IsTrue(plugin.IsURL("2001:db8::1"));
39-
ClassicAssert.IsTrue(plugin.IsURL("fe80:1:2::3:4"));
40-
ClassicAssert.IsTrue(plugin.IsURL("::1"));
41-
ClassicAssert.IsTrue(plugin.IsURL("HTTP://EXAMPLE.COM"));
42-
ClassicAssert.IsTrue(plugin.IsURL("HTTPS://EXAMPLE.COM"));
43-
ClassicAssert.IsTrue(plugin.IsURL("EXAMPLE.COM"));
44-
ClassicAssert.IsTrue(plugin.IsURL("LOCALHOST"));
15+
var settingsField = typeof(Main).GetField("Settings", BindingFlags.NonPublic | BindingFlags.Static);
16+
settingsField?.SetValue(null, new Settings());
17+
18+
plugin = new Main();
19+
}
4520

21+
[TestCase("http://www.google.com")]
22+
[TestCase("https://www.google.com")]
23+
[TestCase("http://google.com")]
24+
[TestCase("ftp://google.com")]
25+
[TestCase("www.google.com")]
26+
[TestCase("google.com")]
27+
[TestCase("http://localhost")]
28+
[TestCase("https://localhost")]
29+
[TestCase("http://localhost:80")]
30+
[TestCase("https://localhost:80")]
31+
[TestCase("localhost")]
32+
[TestCase("localhost:8080")]
33+
[TestCase("http://110.10.10.10")]
34+
[TestCase("110.10.10.10")]
35+
[TestCase("110.10.10.10:8080")]
36+
[TestCase("192.168.1.1")]
37+
[TestCase("192.168.1.1:3000")]
38+
[TestCase("ftp://110.10.10.10")]
39+
[TestCase("[2001:db8::1]")]
40+
[TestCase("[2001:db8::1]:8080")]
41+
[TestCase("http://[2001:db8::1]")]
42+
[TestCase("https://[2001:db8::1]:8080")]
43+
[TestCase("[::1]")]
44+
[TestCase("[::1]:8080")]
45+
[TestCase("2001:db8::1")]
46+
[TestCase("fe80:1:2::3:4")]
47+
[TestCase("::1")]
48+
[TestCase("HTTP://EXAMPLE.COM")]
49+
[TestCase("HTTPS://EXAMPLE.COM")]
50+
[TestCase("EXAMPLE.COM")]
51+
[TestCase("LOCALHOST")]
52+
public void WhenValidUrlThenIsUrlReturnsTrue(string url)
53+
{
54+
Assert.That(plugin.IsURL(url), Is.True);
55+
}
4656

47-
ClassicAssert.IsFalse(plugin.IsURL("wwww"));
48-
ClassicAssert.IsFalse(plugin.IsURL("wwww.c"));
49-
ClassicAssert.IsFalse(plugin.IsURL("wwww.c"));
50-
ClassicAssert.IsFalse(plugin.IsURL("not a url"));
51-
ClassicAssert.IsFalse(plugin.IsURL("just text"));
52-
ClassicAssert.IsFalse(plugin.IsURL("http://"));
53-
ClassicAssert.IsFalse(plugin.IsURL("://example.com"));
54-
ClassicAssert.IsFalse(plugin.IsURL("0.0.0.0")); // Pattern excludes 0.0.0.0
55-
ClassicAssert.IsFalse(plugin.IsURL("256.1.1.1")); // Invalid IPv4
56-
ClassicAssert.IsFalse(plugin.IsURL("example")); // No TLD
57-
ClassicAssert.IsFalse(plugin.IsURL(".com"));
58-
ClassicAssert.IsFalse(plugin.IsURL("http://.com"));
57+
[TestCase("wwww")]
58+
[TestCase("wwww.c")]
59+
[TestCase("not a url")]
60+
[TestCase("just text")]
61+
[TestCase("http://")]
62+
[TestCase("://example.com")]
63+
[TestCase("0.0.0.0")] // Pattern excludes 0.0.0.0
64+
[TestCase("256.1.1.1")] // Invalid IPv4
65+
[TestCase("example")] // No TLD
66+
[TestCase(".com")]
67+
[TestCase("http://.com")]
68+
public void WhenInvalidUrlThenIsUrlReturnsFalse(string url)
69+
{
70+
Assert.That(plugin.IsURL(url), Is.False);
5971
}
6072
}
6173
}

0 commit comments

Comments
 (0)