diff --git a/lib/pageNameExtractor.js b/lib/pageNameExtractor.js index 1d0d2e4..85b665e 100644 --- a/lib/pageNameExtractor.js +++ b/lib/pageNameExtractor.js @@ -11,11 +11,20 @@ function buildDefaultPageName(urlObject) { var pageName = urlObject.pathname.substring(1); if (urlObject.hash) { - pageName += urlObject.hash; + pageName += removeEveryhtingAfterQuestionMark(urlObject.hash); } return pageName; } +function removeEveryhtingAfterQuestionMark(href) { + var pos = href.indexOf('?'); + if (pos > -1) { + return href.substring(0, pos); + } else { + return href; + } +} + function isValidUrlObject(urlObject) { return !_.isNull(urlObject.hostname) && !_.isNull(urlObject.protocol); } diff --git a/lib/scenarioDocuWriter.js b/lib/scenarioDocuWriter.js index 827e843..5f87fc2 100755 --- a/lib/scenarioDocuWriter.js +++ b/lib/scenarioDocuWriter.js @@ -189,7 +189,7 @@ var ScenarioDocuWriter = { */ saveUseCase: function (useCase) { if (!utils.isDefined(this.buildOutputDir)) { - throw 'cannot save use case. No outputDirectory specified. docuWriter.start(branch, build, targetDir) not invoked?'; + return; // this is allowed so that the web tests can be run without scenarioo documentation generation } entityValidator.validateUseCase(useCase); @@ -204,7 +204,7 @@ var ScenarioDocuWriter = { */ saveScenario: function (currentScenario, useCaseName) { if (!utils.isDefined(this.buildOutputDir)) { - throw 'cannot save use case. No outputDirectory specified. docuWriter.start(branch, build, targetDir) not invoked?'; + return; // this is allowed so that the web tests can be run without scenarioo documentation generation } entityValidator.validateScenario(currentScenario); @@ -222,7 +222,7 @@ var ScenarioDocuWriter = { */ saveStep: function (stepName, details) { if (!utils.isDefined(this.buildOutputDir)) { - throw 'cannot save use case. No outputDirectory specified. docuWriter.start(branch, build, targetDir) not invoked?'; + return; // this is allowed so that the web tests can be run without scenarioo documentation generation } var currentScenario = getCurrentScenario(); diff --git a/package.json b/package.json index 369fbe9..5cae105 100755 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "scenarioo-js", "description": "Scenarioo API for Javascript to generate Scenarioo Documentations", - "version": "0.1.8", + "version": "0.1.9", "homepage": "http://scenarioo.org", "author": { "name": "xeronimus", diff --git a/test/unit/pageNameExtractorTest.js b/test/unit/pageNameExtractorTest.js index c7d761b..a094f14 100755 --- a/test/unit/pageNameExtractorTest.js +++ b/test/unit/pageNameExtractorTest.js @@ -28,12 +28,17 @@ describe('pageNameExtractor', function () { expect(pageName).to.be('#/profile/details'); pageName = pageNameExtractor.getPageNameFromUrl('http://some-domain.com/home/#/profile/details'); expect(pageName).to.be('home/#/profile/details'); - }); it('should return default page name from url with query params', function () { - var pageName = pageNameExtractor.getPageNameFromUrl('http://some-domain.com/index.php?action=some'); + var pageName; + + pageName = pageNameExtractor.getPageNameFromUrl('http://some-domain.com/index.php?action=some'); expect(pageName).to.be('index.php'); + pageName = pageNameExtractor.getPageNameFromUrl('http://some-domain.com/#index.php?action=some'); + expect(pageName).to.be('#index.php'); + pageName = pageNameExtractor.getPageNameFromUrl('http://localhost:9000/#/step/Donate/find_donate_page/startSearch.jsp/0/0?branch=wikipedia-docu-example&build=2014-02-21'); + expect(pageName).to.be('#/step/Donate/find_donate_page/startSearch.jsp/0/0'); }); it('should return whole input if invalid url', function () {