public void SteamDataParse() { var data = @" { 'name':'My Mod Name', 'steamdata': { 'publishedfileid':'123', 'contentfolder':'path', 'visibility':0, 'title':'test', 'tags':[ 'foc', 'eaw' ] } }"; var modinfo = ModinfoData.Parse(data); Assert.Equal("My Mod Name", modinfo.Name); Assert.NotNull(modinfo.SteamData); Assert.Equal("123", modinfo.SteamData !.Id); Assert.Equal("test", modinfo.SteamData.Title); Assert.Equal("path", modinfo.SteamData.ContentFolder); Assert.Equal(SteamWorkshopVisibility.Public, modinfo.SteamData.Visibility); Assert.Null(modinfo.SteamData.Metadata); Assert.Equal(2, modinfo.SteamData.Tags.Count()); }
public void ModRefParseTestWithLayout() { var data = @" { 'name':'My Mod Name', 'dependencies': [ 'FullResolved', { 'identifier':'12313', 'modtype':1 }, { 'identifier':'654987', 'modtype':1 } ] }"; var modinfo = ModinfoData.Parse(data); Assert.Equal("My Mod Name", modinfo.Name); Assert.Equal(2, modinfo.Dependencies.Count); Assert.Equal("12313", modinfo.Dependencies[0].Identifier); Assert.Equal("654987", modinfo.Dependencies[1].Identifier); Assert.Equal(DependencyResolveLayout.FullResolved, modinfo.Dependencies.ResolveLayout); }
private IModinfo Parse() { var fs = File.FileSystem; var text = fs.File.ReadAllText(File.FullName); return(ModinfoData.Parse(text)); }
public void TolerantVersionParseTest() { var data = @" { 'name':'My Mod Name', 'version': '1.0' }"; var modinfo = ModinfoData.Parse(data); Assert.Equal("My Mod Name", modinfo.Name); Assert.Equal(new Version(1, 0, 0), modinfo.Version); }
public void ModRefParseTest1() { var data = @" { 'name':'My Mod Name' }"; var modinfo = ModinfoData.Parse(data); Assert.Equal("My Mod Name", modinfo.Name); Assert.Equal(0, modinfo.Dependencies.Count); Assert.Equal(DependencyResolveLayout.ResolveRecursive, modinfo.Dependencies.ResolveLayout); }
public void VersionParseTest() { var data = @" { 'name':'My Mod Name', 'version':'1.1.1-BETA' }"; var modinfo = ModinfoData.Parse(data); Assert.Equal("My Mod Name", modinfo.Name); Assert.Equal(new Version(1, 1, 1, "BETA"), modinfo.Version); }
public void MinimalParseTest() { var data = @" { 'name':'My Mod Name' }"; var modinfo = ModinfoData.Parse(data); Assert.Equal("My Mod Name", modinfo.Name); Assert.Null(modinfo.Version); Assert.Null(modinfo.SteamData); }
public void LangParseTest5() { var data = @" { 'name':'My Mod Name' }"; var modinfo = ModinfoData.Parse(data); Assert.Equal("My Mod Name", modinfo.Name); Assert.Single(modinfo.Languages); Assert.Equal("en", modinfo.Languages.ElementAt(0).Code); Assert.Equal(LanguageSupportLevel.FullLocalized, modinfo.Languages.ElementAt(0).Support); }
public void CustomParseTest() { var data = @" { 'name':'My Mod Name', 'custom': { } }"; var modinfo = ModinfoData.Parse(data); Assert.Equal("My Mod Name", modinfo.Name); Assert.Equal(0, modinfo.Custom.Count); }
public void LangParseTest1() { var data = @" { 'name':'My Mod Name', 'languages':[ { 'code':'en' } ] }"; var modinfo = ModinfoData.Parse(data); Assert.Equal("My Mod Name", modinfo.Name); Assert.Single(modinfo.Languages); }
public void CustomParseTest1() { var data = @" { 'name':'My Mod Name', 'custom': { 'test-key':{}, 'test-key2':'123', } }"; var modinfo = ModinfoData.Parse(data); Assert.Equal("My Mod Name", modinfo.Name); Assert.Equal(2, modinfo.Custom.Count); Assert.Equal("123", modinfo.Custom["test-key2"]); Assert.Equal(new JObject(), modinfo.Custom["test-key"]); }
public void LangParseTest2() { var data = @" { 'name':'My Mod Name', 'languages':[ { 'code':'en' }, { 'code':'de' } ] }"; var modinfo = ModinfoData.Parse(data); Assert.Equal("My Mod Name", modinfo.Name); Assert.Equal(2, modinfo.Languages.Count()); }
public void ModRefParseTestFailure2() { var data = @" { 'name':'My Mod Name', 'dependencies': [ 'BlaBlub', { 'identifier':'12313', 'modtype':1 }, { 'identifier':'654987', 'modtype':1 } ] }"; Assert.Throws <ModinfoParseException>(() => ModinfoData.Parse(data)); }
public void FailingParseTest(string data) { Assert.Throws <ModinfoParseException>(() => ModinfoData.Parse(data)); }
private async Task <IModinfo> ParseAsync() { var text = await ReadTextAsync().ConfigureAwait(false); return(await Task.Run(() => ModinfoData.Parse(text)).ConfigureAwait(false)); }