Ejemplo n.º 1
0
        public void Can_resolve_raw_text()
        {
            var before = "© #&";
            var after  = "© #&";

            var cb = Substitute.For <IClipboardService>();

            cb.GetText().Returns(string.Empty);
            var pm     = new ParameterResolver(cb, DataSource);
            var result = pm.Resolve("$I$", before);

            Assert.Equal(after, result.FileName);
        }
Ejemplo n.º 2
0
        public void Can_urlify_with_only_supported_char()
        {
            var before = "un_deux_trois";
            var after  = "un_deux_trois";

            var cb = Substitute.For <IClipboardService>();

            cb.GetText().Returns(string.Empty);
            var pm     = new ParameterResolver(cb, DataSource);
            var result = pm.Resolve("$W$", before);

            Assert.Equal(after, result.FileName);
        }
Ejemplo n.º 3
0
        private static bool TryRunSingleMethod(DependencyObject root, object?[] inputParams, object target,
                                               MethodInfo candidate, out object?o)
        {
            o = null;
            Log.Debug("Trying Method {methodName} on {Type}", candidate.Name, candidate.DeclaringType?.Name);
            var parameters = ParameterResolver.Resolve(candidate.GetParameters(), root, inputParams);

            if (parameters != null)
            {
                var scope = parameters.GetValues(out var arguments);
                var ret   = candidate.Invoke(target, arguments);
                o = ProcessMethodReturn(ret, inputParams, scope);
                return(true);
            }
            else
            {
                Log.Error($"Failed to bind parameters for: {candidate.Name} on {candidate.DeclaringType?.Name}");
            }

            return(false);
        }