diff options
| author | Eugen Wissner <belka@caraus.de> | 2018-04-01 10:34:18 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2018-04-01 10:34:18 +0200 |
| commit | a0ac8355f9adc1dbb211d516383b57868773ac61 (patch) | |
| tree | 7b319cc90b15713b9743f4d9cb7f899fd3ce6547 /source | |
| parent | 9b1f72472f528846c5e09c5fb4d87e415457dce4 (diff) | |
| download | tanya-a0ac8355f9adc1dbb211d516383b57868773ac61.tar.gz | |
Fix #29
Diffstat (limited to 'source')
| -rw-r--r-- | source/tanya/container/array.d | 157 | ||||
| -rw-r--r-- | source/tanya/container/buffer.d | 88 | ||||
| -rw-r--r-- | source/tanya/net/inet.d | 10 | ||||
| -rw-r--r-- | source/tanya/net/package.d | 2 | ||||
| -rw-r--r-- | source/tanya/net/uri.d | 3 |
5 files changed, 128 insertions, 132 deletions
diff --git a/source/tanya/container/array.d b/source/tanya/container/array.d index a6c4d24..c2ac0ac 100644 --- a/source/tanya/container/array.d +++ b/source/tanya/container/array.d @@ -279,7 +279,7 @@ struct Array(T) } /// - @trusted @nogc unittest + @nogc nothrow pure @safe unittest { auto v1 = Array!int([1, 2, 3]); auto v2 = Array!int(v1); @@ -291,19 +291,6 @@ struct Array(T) assert(v3.capacity == 3); } - private @trusted @nogc unittest // const constructor tests - { - auto v1 = const Array!int([1, 2, 3]); - auto v2 = Array!int(v1); - assert(v1.data !is v2.data); - assert(v1 == v2); - - auto v3 = const Array!int(Array!int([1, 2, 3])); - assert(v1 == v3); - assert(v3.length == 3); - assert(v3.capacity == 3); - } - /** * Creates a new $(D_PSYMBOL Array). * @@ -339,7 +326,7 @@ struct Array(T) } /// - unittest + @nogc nothrow pure @safe unittest { auto v = Array!int([3, 8, 2]); @@ -349,7 +336,7 @@ struct Array(T) } /// - unittest + @nogc nothrow pure @safe unittest { auto v = Array!int(3, 5); @@ -358,11 +345,6 @@ struct Array(T) assert(v[0] == 5 && v[1] == 5 && v[2] == 5); } - @safe unittest - { - auto v1 = Array!int(defaultAllocator); - } - /** * Destroys this $(D_PSYMBOL Array). */ @@ -392,7 +374,7 @@ struct Array(T) } /// - unittest + @nogc nothrow pure @safe unittest { auto v = Array!int([18, 20, 15]); v.clear(); @@ -409,7 +391,7 @@ struct Array(T) } /// - @safe @nogc unittest + @nogc nothrow pure @safe unittest { auto v = Array!int(4); assert(v.capacity == 4); @@ -461,7 +443,7 @@ struct Array(T) } /// - unittest + @nogc nothrow pure @safe unittest { Array!int v; @@ -529,7 +511,7 @@ struct Array(T) } /// - @nogc @safe unittest + @nogc nothrow pure @safe unittest { Array!int v; assert(v.capacity == 0); @@ -564,7 +546,7 @@ struct Array(T) } /// - @nogc @safe unittest + @nogc nothrow pure @safe unittest { Array!int v; assert(v.capacity == 0); @@ -629,7 +611,7 @@ struct Array(T) } /// - unittest + @nogc nothrow pure @safe unittest { auto v = Array!int([5, 18, 17]); @@ -674,7 +656,7 @@ struct Array(T) } /// - @safe @nogc unittest + @nogc nothrow pure @safe unittest { auto v = Array!int([5, 18, 17, 2, 4, 6, 1]); @@ -759,7 +741,7 @@ struct Array(T) alias insert = insertBack; /// - unittest + @nogc nothrow pure @safe unittest { struct TestRange { @@ -927,7 +909,7 @@ struct Array(T) } /// - unittest + @nogc nothrow pure unittest { Array!int v1; v1.insertAfter(v1[], [2, 8]); @@ -963,7 +945,7 @@ struct Array(T) } /// - unittest + @nogc nothrow pure unittest { Array!int v1; v1.insertBefore(v1[], [2, 8]); @@ -1022,7 +1004,7 @@ struct Array(T) } /// - nothrow @safe @nogc unittest + @nogc nothrow pure @safe unittest { Array!int a = Array!int(1); a[0] = 5; @@ -1052,7 +1034,7 @@ struct Array(T) } /// - @nogc unittest + @nogc nothrow pure @safe unittest { auto v1 = Array!int([12, 1, 7]); @@ -1101,7 +1083,7 @@ struct Array(T) } /// - unittest + @nogc nothrow pure @safe unittest { const v1 = Array!int([6, 123, 34, 5]); @@ -1156,7 +1138,7 @@ struct Array(T) } /// - unittest + @nogc nothrow pure @safe unittest { Array!int v1, v2; assert(v1 == v2); @@ -1191,7 +1173,7 @@ struct Array(T) } /// - @safe unittest + @nogc nothrow pure @safe unittest { auto v = Array!int([5]); @@ -1218,7 +1200,7 @@ struct Array(T) } /// - unittest + @nogc nothrow pure @safe unittest { auto v = Array!int([5]); @@ -1263,16 +1245,7 @@ struct Array(T) } /// - unittest - { - Array!int v; - auto r = v[]; - assert(r.length == 0); - assert(r.empty); - } - - /// - unittest + @nogc nothrow pure @safe unittest { auto v = Array!int([1, 2, 3]); auto r = v[]; @@ -1290,7 +1263,7 @@ struct Array(T) } /// - unittest + @nogc nothrow pure @safe unittest { auto v = Array!int([1, 2, 3, 4]); auto r = v[1 .. 4]; @@ -1363,7 +1336,7 @@ struct Array(T) } /// - @nogc @safe unittest + @nogc nothrow pure @safe unittest { auto v1 = Array!int([3, 3, 3]); auto v2 = Array!int([1, 2]); @@ -1397,7 +1370,7 @@ struct Array(T) } /// - unittest + @nogc nothrow pure @safe unittest { auto v = Array!int([1, 2, 4]); auto data = v.get(); @@ -1464,7 +1437,7 @@ struct Array(T) } /// - @safe @nogc unittest + @nogc nothrow pure @safe unittest { auto v1 = const Array!int([5, 15, 8]); Array!int v2; @@ -1472,22 +1445,6 @@ struct Array(T) assert(v1 == v2); } - /// - @safe @nogc unittest - { - auto v1 = const Array!int([5, 15, 8]); - Array!int v2; - v2 = v1[0 .. 2]; - assert(equal(v1[0 .. 2], v2[])); - } - - // Move assignment. - private @safe @nogc unittest - { - Array!int v1; - v1 = Array!int([5, 15, 8]); - } - /** * Assigns a static array. * @@ -1503,7 +1460,7 @@ struct Array(T) } /// - @safe @nogc unittest + @nogc nothrow pure @safe unittest { auto v1 = Array!int([5, 15, 8]); Array!int v2; @@ -1516,7 +1473,7 @@ struct Array(T) } /// -unittest +@nogc nothrow pure @safe unittest { auto v = Array!int([5, 15, 8]); @@ -1530,7 +1487,7 @@ unittest assert(r.front == v.front); } -@nogc unittest +@nogc nothrow pure @safe unittest { const v1 = Array!int(); const Array!int v2; @@ -1538,7 +1495,7 @@ unittest static assert(is(PointerTarget!(typeof(v3.data)) == const(int))); } -@nogc unittest +@nogc nothrow pure @safe unittest { // Test that const arrays return usable ranges. auto v = const Array!int([1, 2, 4]); @@ -1559,7 +1516,7 @@ unittest static assert(is(typeof(r2[]))); } -@nogc unittest +@nogc nothrow pure @safe unittest { Array!int v1; const Array!int v2; @@ -1581,18 +1538,18 @@ unittest assert(!v1[].equal(v2[])); } -@nogc unittest +@nogc nothrow pure @safe unittest { struct MutableEqualsStruct { - int opEquals(typeof(this) that) @nogc + int opEquals(typeof(this) that) @nogc nothrow pure @safe { return true; } } struct ConstEqualsStruct { - int opEquals(const typeof(this) that) const @nogc + int opEquals(const typeof(this) that) const @nogc nothrow pure @safe { return true; } @@ -1619,18 +1576,18 @@ unittest assert(v7[].equal(v8[])); } -@nogc unittest +@nogc nothrow pure @safe unittest { struct SWithDtor { - ~this() @nogc + ~this() @nogc nothrow pure @safe { } } auto v = Array!SWithDtor(); // Destructor can destroy empty arrays. } -private unittest +@nogc nothrow pure @safe unittest { class A { @@ -1642,7 +1599,7 @@ private unittest static assert(is(Array!(A*))); } -private @safe @nogc unittest +@nogc nothrow pure @safe unittest { auto v = Array!int([5, 15, 8]); { @@ -1670,3 +1627,45 @@ private @safe @nogc unittest assert(i == 0); } } + +// const constructor tests +@nogc nothrow pure @safe unittest +{ + auto v1 = const Array!int([1, 2, 3]); + auto v2 = Array!int(v1); + assert(v1.data !is v2.data); + assert(v1 == v2); + + auto v3 = const Array!int(Array!int([1, 2, 3])); + assert(v1 == v3); + assert(v3.length == 3); + assert(v3.capacity == 3); +} + +@nogc nothrow pure @safe unittest +{ + auto v1 = Array!int(defaultAllocator); +} + +@nogc nothrow pure @safe unittest +{ + Array!int v; + auto r = v[]; + assert(r.length == 0); + assert(r.empty); +} + +@nogc nothrow pure @safe unittest +{ + auto v1 = const Array!int([5, 15, 8]); + Array!int v2; + v2 = v1[0 .. 2]; + assert(equal(v1[0 .. 2], v2[])); +} + +// Move assignment +@nogc nothrow pure @safe unittest +{ + Array!int v1; + v1 = Array!int([5, 15, 8]); +} diff --git a/source/tanya/container/buffer.d b/source/tanya/container/buffer.d index 5506733..739a280 100644 --- a/source/tanya/container/buffer.d +++ b/source/tanya/container/buffer.d @@ -120,7 +120,7 @@ struct ReadBuffer(T = ubyte) }
///
- unittest
+ @nogc nothrow pure @safe unittest
{
ReadBuffer!ubyte b;
assert(b.capacity == 0);
@@ -165,7 +165,7 @@ struct ReadBuffer(T = ubyte) }
///
- unittest
+ @nogc nothrow pure unittest
{
ReadBuffer!ubyte b;
size_t numberRead;
@@ -197,7 +197,7 @@ struct ReadBuffer(T = ubyte) }
///
- unittest
+ @nogc nothrow pure unittest
{
ReadBuffer!ubyte b;
size_t numberRead;
@@ -272,7 +272,7 @@ struct ReadBuffer(T = ubyte) }
///
- unittest
+ @nogc nothrow pure unittest
{
ReadBuffer!ubyte b;
size_t numberRead;
@@ -293,7 +293,7 @@ struct ReadBuffer(T = ubyte) mixin DefaultAllocator;
}
-private unittest
+@nogc nothrow pure @safe unittest
{
static assert(is(ReadBuffer!int));
}
@@ -399,7 +399,7 @@ struct WriteBuffer(T = ubyte) alias opDollar = length;
///
- unittest
+ @nogc nothrow pure unittest
{
auto b = WriteBuffer!ubyte(4);
ubyte[3] buf = [48, 23, 255];
@@ -498,42 +498,6 @@ struct WriteBuffer(T = ubyte) return this;
}
- ///
- unittest
- {
- auto b = WriteBuffer!ubyte(4);
- ubyte[3] buf = [48, 23, 255];
-
- b ~= buf;
- assert(b.capacity == 4);
- assert(b.buffer_[0] == 48 && b.buffer_[1] == 23 && b.buffer_[2] == 255);
-
- b += 2;
- b ~= buf;
- assert(b.capacity == 4);
- assert(b.buffer_[0] == 23 && b.buffer_[1] == 255
- && b.buffer_[2] == 255 && b.buffer_[3] == 48);
-
- b += 2;
- b ~= buf;
- assert(b.capacity == 8);
- assert(b.buffer_[0] == 23 && b.buffer_[1] == 255
- && b.buffer_[2] == 48 && b.buffer_[3] == 23 && b.buffer_[4] == 255);
- }
-
- ///
- unittest
- {
- auto b = WriteBuffer!ubyte(2);
- ubyte[3] buf = [48, 23, 255];
-
- b ~= buf;
- assert(b.start == 0);
- assert(b.capacity == 4);
- assert(b.ring == 3);
- assert(b.position == 3);
- }
-
/**
* Sets how many bytes were written. It will shrink the buffer
* appropriately. Always call it after $(D_PSYMBOL opIndex).
@@ -607,7 +571,7 @@ struct WriteBuffer(T = ubyte) }
///
- unittest
+ @nogc nothrow pure unittest
{
auto b = WriteBuffer!ubyte(6);
ubyte[6] buf = [23, 23, 255, 128, 127, 9];
@@ -648,7 +612,7 @@ struct WriteBuffer(T = ubyte) }
///
- unittest
+ @nogc nothrow pure unittest
{
auto b = WriteBuffer!ubyte(6);
ubyte[6] buf = [23, 23, 255, 128, 127, 9];
@@ -686,7 +650,41 @@ struct WriteBuffer(T = ubyte) mixin DefaultAllocator;
}
-private unittest
+@nogc nothrow pure @safe unittest
{
static assert(is(typeof(WriteBuffer!int(5))));
}
+
+@nogc nothrow pure unittest
+{
+ auto b = WriteBuffer!ubyte(4);
+ ubyte[3] buf = [48, 23, 255];
+
+ b ~= buf;
+ assert(b.capacity == 4);
+ assert(b.buffer_[0] == 48 && b.buffer_[1] == 23 && b.buffer_[2] == 255);
+
+ b += 2;
+ b ~= buf;
+ assert(b.capacity == 4);
+ assert(b.buffer_[0] == 23 && b.buffer_[1] == 255
+ && b.buffer_[2] == 255 && b.buffer_[3] == 48);
+
+ b += 2;
+ b ~= buf;
+ assert(b.capacity == 8);
+ assert(b.buffer_[0] == 23 && b.buffer_[1] == 255
+ && b.buffer_[2] == 48 && b.buffer_[3] == 23 && b.buffer_[4] == 255);
+}
+
+@nogc nothrow pure unittest
+{
+ auto b = WriteBuffer!ubyte(2);
+ ubyte[3] buf = [48, 23, 255];
+
+ b ~= buf;
+ assert(b.start == 0);
+ assert(b.capacity == 4);
+ assert(b.ring == 3);
+ assert(b.position == 3);
+}
diff --git a/source/tanya/net/inet.d b/source/tanya/net/inet.d index 86d0af3..91b8110 100644 --- a/source/tanya/net/inet.d +++ b/source/tanya/net/inet.d @@ -5,7 +5,7 @@ /** * Internet utilities. * - * Copyright: Eugene Wissner 2016-2017. + * Copyright: Eugene Wissner 2016-2018. * License: $(LINK2 https://www.mozilla.org/en-US/MPL/2.0/, * Mozilla Public License, v. 2.0). * Authors: $(LINK2 mailto:info@caraus.de, Eugene Wissner) @@ -170,7 +170,7 @@ struct NetworkOrder(uint L) } /// -pure nothrow @safe @nogc unittest +@nogc nothrow pure @safe unittest { auto networkOrder = NetworkOrder!3(0xae34e2u); assert(!networkOrder.empty); @@ -190,8 +190,8 @@ pure nothrow @safe @nogc unittest assert(networkOrder.empty); } -// Static. -private unittest +// Static tests +@nogc nothrow pure @safe unittest { static assert(isBidirectionalRange!(NetworkOrder!4)); static assert(isBidirectionalRange!(NetworkOrder!8)); @@ -238,7 +238,7 @@ T toHostOrder(T = size_t, R)(R range) } /// -pure nothrow @safe @nogc unittest +@nogc nothrow pure @safe unittest { const value = 0xae34e2u; auto networkOrder = NetworkOrder!4(value); diff --git a/source/tanya/net/package.d b/source/tanya/net/package.d index e387358..b41123f 100644 --- a/source/tanya/net/package.d +++ b/source/tanya/net/package.d @@ -5,7 +5,7 @@ /** * Network programming. * - * Copyright: Eugene Wissner 2017. + * Copyright: Eugene Wissner 2017-2018. * License: $(LINK2 https://www.mozilla.org/en-US/MPL/2.0/, * Mozilla Public License, v. 2.0). * Authors: $(LINK2 mailto:info@caraus.de, Eugene Wissner) diff --git a/source/tanya/net/uri.d b/source/tanya/net/uri.d index 7184f1c..df19b56 100644 --- a/source/tanya/net/uri.d +++ b/source/tanya/net/uri.d @@ -5,7 +5,7 @@ /** * URL parser. * - * Copyright: Eugene Wissner 2017. + * Copyright: Eugene Wissner 2017-2018. * License: $(LINK2 https://www.mozilla.org/en-US/MPL/2.0/, * Mozilla Public License, v. 2.0). * Authors: $(LINK2 mailto:info@caraus.de, Eugene Wissner) @@ -460,7 +460,6 @@ struct URL assertThrown!URIException(() => URL("http://blah.com:66000")); } -// Issue 254: https://issues.caraus.io/issues/254. @nogc pure @system unittest { auto u = URL("ftp://"); |
