/******************************************************************************* * Copyright (c) 2012 Sierra Wireless and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Sierra Wireless - initial API and implementation *******************************************************************************/ package org.eclipse.koneki.ldt.ui.tests.internal.rules; import org.eclipse.jface.text.rules.IRule; import org.eclipse.jface.text.rules.IToken; import org.eclipse.jface.text.rules.Token; import org.eclipse.koneki.ldt.ui.internal.editor.text.LuaCodeScanner; import org.eclipse.koneki.ldt.ui.internal.editor.text.rules.LuaDocMultLineCommentRule; import org.junit.Test; /** * Tests for {@link LuaCodeScanner.LuaNumberRule}. */ public class LuaDocMultLineCommentTest extends AbstractRuleTestCase { private static final IToken MULTI_LINE_DOC_TOKEN = new Token("multi_line_doc"); //$NON-NLS-1$ @Test public void testMutiLineDoc() { assertTokenFound("--[[-doc]]", 0, 10, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenFound("--[[-\ndoc\n]]", 0, 12, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenFound("--[[-doc1--doc2]]", 0, 17, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenFound(" --[[-doc]]", 1, 10, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenFound("--[=[-doc]=]", 0, 12, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenFound("--[===[-doc]===]", 0, 16, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenFound("--[[-doc]]--[[-doc2]]", 0, 10, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenFound("--[[-doc]]--[[-doc2]]", 10, 11, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenFound("--[[-doc--[[-doc2]]", 0, 19, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ } @Test public void testEndLessDoc() { assertTokenFound("--[[-doc", 0, 8, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenFound("--[[-doc]doc2", 0, 13, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenFound("--[[-\ndoc\ndoc2", 0, 14, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenFound("--[[-doc]=]doc2", 0, 15, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenFound("--[=[-doc]]doc2", 0, 15, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenFound("--[=[-doc]==]doc2", 0, 17, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ } @Test public void testInCodeDoc() { assertTokenFound("print('code')--[[-doc]]", 13, 10, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenFound("print('code')\n--[[-doc]]", 14, 10, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenFound("--[[-doc]]\nprint('code')", 0, 10, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenFound("print('code')\n--[[-doc]]\nprint('code')", 14, 10, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenFound("print('code')\n--[[-\ndoc\n]]\nprint('code')", 14, 12, MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ } @Test public void testNoMultiLineDoc() { assertTokenNotFound("-[[-doc]]", MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenNotFound("[[-doc]]", MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenNotFound("--[[\n-doc\n]]", MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenNotFound("--[[doc]]", MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ assertTokenNotFound("--[-doc]]", MULTI_LINE_DOC_TOKEN); //$NON-NLS-1$ } @Override protected IRule createRule() { return new LuaDocMultLineCommentRule(MULTI_LINE_DOC_TOKEN); } }