Exemplo n.º 1
0
        public void TestJsMapFunction()
        {
            var c        = new JSViewCompiler();
            var mapBlock = c.CompileMap("function(doc){emit(doc.key, doc);}", "javascript");

            Assert.IsNotNull(mapBlock);

            var doc = new Dictionary <string, object> {
                { "_id", "doc1" },
                { "_rev", @"1-xyzzy" },
                { "key", "value" }
            };

            var          emitted = new List <object>();
            EmitDelegate emit    = (key, value) =>
            {
                Console.WriteLine("Emitted: {0} -> {1}", key, value);
                emitted.Add(key);
                emitted.Add(value);
            };

            mapBlock(doc, emit);

            CollectionAssert.AreEqual(new List <object> {
                "value", doc
            }, emitted);
        }
Exemplo n.º 2
0
        public void TestJsLogFunction()
        {
            // This case will test that calling log() function doesn't cause any errors running the JS map
            // map function.
            var c        = new JSViewCompiler();
            var mapBlock = c.CompileMap("function(doc){log('Log Message'); emit(doc.key, doc);}", "javascript");

            Assert.IsNotNull(mapBlock);

            var doc = new Dictionary <string, object> {
                { "_id", "doc1" },
                { "_rev", @"1-xyzzy" },
                { "key", "value" }
            };

            var          emitted = new List <object>();
            EmitDelegate emit    = (key, value) => emitted.Add(value);

            mapBlock(doc, emit);

            CollectionAssert.AreEqual(new List <object> {
                doc
            }, emitted);
        }