public void It_Returns_A_Root_Path_Without_A_Trailing_Slash() { var actionMap = ActionLoader.LoadActionMap(new Dictionary <Type, string> { { typeof(Fiction), "/book/fiction" } }); Assert.IsTrue(actionMap.ContainsKey("GET /book/fiction")); }
public void It_Returns_A_Method_From_A_Route() { var actionMap = ActionLoader.LoadActionMap(new Dictionary <Type, string> { { typeof(Fiction), "/book/fiction" } }); Assert.AreEqual(typeof(Fiction).GetMethod("Create"), actionMap["POST /book/fiction/create"]); }
public static void AddActionLoader(string name, ActionLoader loader, bool overrideable = false) { if (overrideable) { ActionLoaders.AddOverrideable(name, loader); } else { ActionLoaders.Add(name, loader); } }
private static object DoLoad(string file, string ext) { if (ext == "grf") { return(File.OpenRead(file)); } else { using (var br = ReadSync(file)) { if (br == null) { throw new Exception($"Could not load file: {file}"); } switch (ext) { // Images case "jpg": case "jpeg": case "png": return(new RawImage() { data = br.ToArray() }); case "bmp": return(loader.LoadBMP(br)); case "tga": return(TGALoader.LoadTGA(br)); // Text case "txt": case "xml": case "lua": return(Encoding.UTF8.GetString(br.ToArray())); case "spr": SPR spr = SpriteLoader.Load(br); spr.SwitchToRGBA(); spr.Compile(); spr.filename = file; return(spr); case "str": return(EffectLoader.Load(br, Path.GetDirectoryName(file).Replace("\\", "/"))); case "act": return(ActionLoader.Load(br)); // Binary case "gat": return(AltitudeLoader.Load(br)); case "rsw": return(WorldLoader.Load(br)); case "gnd": return(GroundLoader.Load(br)); case "rsm": return(ModelLoader.Load(br)); // Audio case "wav": WAVLoader.WAVFile wav = WAVLoader.OpenWAV(br.ToArray()); AudioClip clip = AudioClip.Create(file, wav.samples, wav.channels, wav.sampleRate, false); clip.SetData(wav.leftChannel, 0); return(clip); case "mp3": case "ogg": break; case "json": return(JObject.Parse(Encoding.UTF8.GetString(br.ToArray()))); default: throw new Exception($"Unsuported file format: {ext} for file {file}"); } } } return(null); }
public TabascoBase() { _actionMap = ActionLoader.GetActionMap(GetType()); _actionMap = _actionMap.OrderByDescending(x => x.Key.Length).ToDictionary(pair => pair.Key, pair => pair.Value); }
private void Awake() { instance = this; _loader = GetComponent<Image>(); }