예제 #1
0
        public void TestAnonymousFunctionIsRecognizedAsFunction()
        {
            string code = "function () { }";
            LookAheadLangParser textParser = LookAheadLangParser.CreateJavascriptParser(TestUtil.GetTextStream(code));
            var parser = new JSParser(textParser);

            Assert.IsTrue(parser.NextIsFunction());
        }
예제 #2
0
        public void TestFunctionAssignment()
        {
            string code = "Backbone.View = function(options) {}";
            LookAheadLangParser textParser = LookAheadLangParser.CreateJavascriptParser(TestUtil.GetTextStream(code));
            var parser = new JSParser(textParser);

            Assert.IsTrue(parser.NextIsFunction());
            Assert.AreEqual("Backbone.View(options)", parser.GetFunctionName());
        }
예제 #3
0
        public void GlobalScopeCodeNotRecognizedAsFunction()
        {
            string code = "if (x) { ... }";

            LookAheadLangParser textParser = LookAheadLangParser.CreateJavascriptParser(TestUtil.GetTextStream(code));
            var parser = new JSParser(textParser);

            Assert.IsFalse(parser.NextIsFunction());
        }
예제 #4
0
        public void TestGlobalAssignmentNotRecognizedAsFunction()
        {
            string code = "Backbone.Event = { };";

            LookAheadLangParser textParser = LookAheadLangParser.CreateJavascriptParser(TestUtil.GetTextStream(code));
            var parser = new JSParser(textParser);

            Assert.IsFalse(parser.NextIsFunction());
        }
예제 #5
0
        public void TestMemberFunctionisRecognizedAsFunction()
        {
            string code = "bind : function(ev, callback) { ... }";

            LookAheadLangParser textParser = LookAheadLangParser.CreateJavascriptParser(TestUtil.GetTextStream(code));
            var parser = new JSParser(textParser);

            Assert.IsTrue(parser.NextIsFunction());
            Assert.AreEqual("bind", textParser.PeekNextKeyword()); // parser should not have consumed any of the tokens
        }
예제 #6
0
        public void TestFunctionWithTwoArgumentsIsRecognizedAsFunction()
        {
            string code = "function Test(segmentA, segmentB) { }";

            LookAheadLangParser textParser = LookAheadLangParser.CreateJavascriptParser(TestUtil.GetTextStream(code));
            var parser = new JSParser(textParser);

            Assert.IsTrue(parser.NextIsFunction());
            Assert.AreEqual("function", textParser.PeekNextKeyword());
        }
예제 #7
0
        public void TestAnonymousFunctionIsNameAnonymous()
        {
            string code = "function (par1,par2) { }";
            LookAheadLangParser textParser = LookAheadLangParser.CreateJavascriptParser(TestUtil.GetTextStream(code));
            var parser = new JSParser(textParser);

            Assert.IsTrue(parser.NextIsFunction());

            Assert.AreEqual("function(par1,par2)", parser.GetFunctionName());
        }
예제 #8
0
        public void TestCanFindTypeScriptFunctionWithReturnType()
        {
            string code = "function greet(): int { }";

            LookAheadLangParser textParser = LookAheadLangParser.CreateJavascriptParser(TestUtil.GetTextStream(code));
            var parser = new JSParser(textParser);

            Assert.IsTrue(parser.NextIsFunction());
            Assert.AreEqual("greet()", parser.GetFunctionName());
            Assert.AreEqual("{", textParser.NextKeyword());
        }
예제 #9
0
        public void TestAnonFunctionWithoutParametersRecognizedAsFunction()
        {
            string code = "greet() { }";

            LookAheadLangParser textParser = LookAheadLangParser.CreateJavascriptParser(TestUtil.GetTextStream(code));
            var parser = new JSParser(textParser);

            Assert.IsTrue(parser.NextIsFunction());
            Assert.AreEqual("greet()", parser.GetFunctionName());
            Assert.AreEqual("{", textParser.PeekNextKeyword());
        }
예제 #10
0
        public void TestMethodNamesWithDoubleNamesAreRecognized()
        {
            string code = "AFunction: function BFunction() {}";

            LookAheadLangParser textParser = LookAheadLangParser.CreateJavascriptParser(TestUtil.GetTextStream(code));
            var parser = new JSParser(textParser);

            Assert.IsTrue(parser.NextIsFunction());
            Assert.AreEqual("BFunction()", parser.GetFunctionName());
            Assert.AreEqual("{", textParser.PeekNextKeyword());
        }