First commit
This commit is contained in:
+72
@@ -0,0 +1,72 @@
|
||||
package tests;
|
||||
|
||||
import haxelib.SemVer;
|
||||
|
||||
class TestSemVer extends TestBase {
|
||||
static function make(major, minor, patch, ?preview, ?previewNum):SemVer {
|
||||
return {
|
||||
major : major,
|
||||
minor : minor,
|
||||
patch : patch,
|
||||
preview : preview,
|
||||
previewNum : previewNum
|
||||
};
|
||||
}
|
||||
public function testToString() {
|
||||
assertEquals( "0.1.2", make(0,1,2) );
|
||||
|
||||
// Release Tags
|
||||
assertEquals( "0.1.2-alpha", make(0,1,2,ALPHA) );
|
||||
assertEquals( "0.1.2-beta", make(0,1,2,BETA) );
|
||||
assertEquals( "0.1.2-rc", make(0,1,2,RC) );
|
||||
|
||||
// Release Tag Versions
|
||||
assertEquals( "0.1.2-alpha.0", make(0,1,2,ALPHA,0) );
|
||||
assertEquals( "0.1.2-beta.0", make(0,1,2,BETA,0) );
|
||||
assertEquals( "0.1.2-rc.0", make(0,1,2,RC,0) );
|
||||
|
||||
// Weird input
|
||||
assertEquals( "0.1.2", make(0,1,2,null,0) );
|
||||
|
||||
// Multiple characters
|
||||
assertEquals( "100.200.300-rc.400", make(100,200,300,RC,400) );
|
||||
}
|
||||
|
||||
public function testOfString() {
|
||||
// Normal
|
||||
assertEquals( "0.1.2", (SemVer.ofString("0.1.2").data : SemVer));
|
||||
assertEquals( "100.50.200", (SemVer.ofString("100.50.200").data : SemVer));
|
||||
|
||||
// Release tags
|
||||
assertEquals( "0.1.2-alpha", (SemVer.ofString("0.1.2-ALPHA").data : SemVer));
|
||||
assertEquals( "0.1.2-alpha", (SemVer.ofString("0.1.2-alpha").data : SemVer));
|
||||
assertEquals( "0.1.2-beta", (SemVer.ofString("0.1.2-beta").data : SemVer));
|
||||
assertEquals( "0.1.2-rc", (SemVer.ofString("0.1.2-rc").data : SemVer));
|
||||
assertEquals( "0.1.2-rc.1", (SemVer.ofString("0.1.2-rc.1").data : SemVer));
|
||||
}
|
||||
|
||||
public function testOfStringInvalid() {
|
||||
assertEquals( "invalid", parseInvalid(null) );
|
||||
assertEquals( "invalid", parseInvalid("") );
|
||||
assertEquals( "invalid", parseInvalid("1") );
|
||||
assertEquals( "invalid", parseInvalid("1.1") );
|
||||
assertEquals( "invalid", parseInvalid("1.2.a") );
|
||||
assertEquals( "invalid", parseInvalid("a.b.c") );
|
||||
assertEquals( "invalid", parseInvalid("1.2.3-") );
|
||||
assertEquals( "invalid", parseInvalid("1.2.3-rc.") );
|
||||
assertEquals( "invalid", parseInvalid("1.2.3--rc.1") );
|
||||
assertEquals( "invalid", parseInvalid("1.2.3-othertag") );
|
||||
assertEquals( "invalid", parseInvalid("1.2.3-othertag.1") );
|
||||
assertEquals( "invalid", parseInvalid("10.050.02"));
|
||||
assertEquals( "invalid", parseInvalid("10.50.2-rc.01"));
|
||||
}
|
||||
|
||||
function parseInvalid( str:String ) {
|
||||
return try {
|
||||
(SemVer.ofString( str ) : String);
|
||||
} catch (e:String) {
|
||||
"invalid";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user