From aef4ee5f206a0557f81f69df335f552d62eab9ad Mon Sep 17 00:00:00 2001 From: rzaitov Date: Wed, 6 Nov 2013 13:37:52 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BB=20=D0=BF=D1=80=D0=B5=D0=BF=D1=80=D0=BE=D1=86?= =?UTF-8?q?=D0=B5=D1=81=D1=81=D0=BE=D1=80=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B5=D0=BA=D1=81=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/Core/LineConveyor/TextInclude.py | 2 +- scripts/IosSetupSteps.txt | 1 + .../Tests/UnitTests/IncludeText/__init__.py | 1 + .../UnitTests/IncludeText/test_includeText.py | 42 +++++++++++++++++++ scripts/taskRunner.py | 8 ++++ 5 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 scripts/IosSetupSteps.txt create mode 100644 scripts/Tests/UnitTests/IncludeText/__init__.py create mode 100644 scripts/Tests/UnitTests/IncludeText/test_includeText.py diff --git a/scripts/Core/LineConveyor/TextInclude.py b/scripts/Core/LineConveyor/TextInclude.py index 9d249f2..b45446d 100644 --- a/scripts/Core/LineConveyor/TextInclude.py +++ b/scripts/Core/LineConveyor/TextInclude.py @@ -15,6 +15,6 @@ class TextInclude: path = info[1] content = self.contentProvider.fetchContent(path) - text.replace(includeStatement, content) + text = text.replace(includeStatement, content) return text \ No newline at end of file diff --git a/scripts/IosSetupSteps.txt b/scripts/IosSetupSteps.txt new file mode 100644 index 0000000..c5ff96f --- /dev/null +++ b/scripts/IosSetupSteps.txt @@ -0,0 +1 @@ +sh echo hello from '{@app_name}' \ No newline at end of file diff --git a/scripts/Tests/UnitTests/IncludeText/__init__.py b/scripts/Tests/UnitTests/IncludeText/__init__.py new file mode 100644 index 0000000..cc31abc --- /dev/null +++ b/scripts/Tests/UnitTests/IncludeText/__init__.py @@ -0,0 +1 @@ +__author__ = 'rzaitov' diff --git a/scripts/Tests/UnitTests/IncludeText/test_includeText.py b/scripts/Tests/UnitTests/IncludeText/test_includeText.py new file mode 100644 index 0000000..57ebdd5 --- /dev/null +++ b/scripts/Tests/UnitTests/IncludeText/test_includeText.py @@ -0,0 +1,42 @@ +import unittest +from Core.LineConveyor.TextInclude import TextInclude +from utils.IncludeProcessor import IncludeProcessor + + +class MockContentProvider: + def __init__(self): + pass + + def fetchContent(self, path): + return """line 1 +line 2 +line 3""" + +class TestIncludeText(unittest.TestCase): + def setUp(self): + includeProcessor = IncludeProcessor() + contentProvider = MockContentProvider() + self.includeText = TextInclude(includeProcessor, contentProvider) + + def test_includeText(self): + text = """ +bla bla + +another bla + +yet another bla""" + + processedText = self.includeText.processText(text) + + expected = """ +bla bla +line 1 +line 2 +line 3 +another bla +line 1 +line 2 +line 3 +yet another bla""" + + self.assertEqual(expected, processedText) diff --git a/scripts/taskRunner.py b/scripts/taskRunner.py index 846e071..b924c78 100644 --- a/scripts/taskRunner.py +++ b/scripts/taskRunner.py @@ -1,12 +1,15 @@ # -*- coding: utf-8 -*- import os import argparse +from Core.FileContentProvider import FileContentProvider from Core.LineConveyor.CommentRemover import CommentRemover from Core.LineConveyor.TextConveyorPreprocessor import TextConveyorPreprocessor from Core.LineConveyor.MacroResolver import MacroResolver from Core.LineConveyor.Stripper import Stripper +from Core.LineConveyor.TextInclude import TextInclude from commands.ValueProvider import ValueProvider from utils.BuildConfigProvider import BuildConfigProvider +from utils.IncludeProcessor import IncludeProcessor from utils.MacroProcessor import MacroProcessor from utils.SettingsProvider.CmdArgsOverriderSettingsProvider import CmdArgsOverriderSettingsProvider from utils.SettingsProvider.FromFileSettingsProvider import FromFileSettingsProvider @@ -35,8 +38,13 @@ class TaskRunner: self.valueProvider = ValueProvider() macroResolver = MacroResolver(macroProcessor, self.valueProvider) + includeProcessor = IncludeProcessor() + fileContentProvider = FileContentProvider() + textInclude = TextInclude(includeProcessor, fileContentProvider) + self.textPreprocessor = TextConveyorPreprocessor() self.textPreprocessor.addProcessor(macroResolver) + self.textPreprocessor.addProcessor(textInclude) self.linePreprocessor = TextConveyorPreprocessor() self.linePreprocessor.addProcessor(lineStripper)