diff --git a/.gitignore b/.gitignore index ae4d30001c..eed6931064 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /node_modules /bower_components /dist +/tests/node_modules diff --git a/.jscsrc b/.jscsrc index 0bf35ac188..4efa8669f4 100644 --- a/.jscsrc +++ b/.jscsrc @@ -23,6 +23,7 @@ "function", "typeof" ], + "excludeFiles": ["**/node_modules/**", "**/bower_components/**"], "requireSpaceBeforeBlockStatements": true, "requireParenthesesAroundIIFE": true, "requireSpacesInConditionalExpression": true, diff --git a/browser-tests/run.sh b/browser-tests/run.sh new file mode 100755 index 0000000000..f14d2efc85 --- /dev/null +++ b/browser-tests/run.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +npm i && \ +eval "npm test -- $@" + diff --git a/tests/package.json b/tests/package.json new file mode 100644 index 0000000000..883f32ed9d --- /dev/null +++ b/tests/package.json @@ -0,0 +1,10 @@ +{ + "name": "todomvc-tests", + "private": true, + "scripts": { + "lint": "jscs" + }, + "dependencies": { + "jscs": "^1.13.1" + } +} diff --git a/tests/run.sh b/tests/run.sh new file mode 100755 index 0000000000..8938820e45 --- /dev/null +++ b/tests/run.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +PATHS="" +EXAMPLES_DIR="../examples/" + +for arg in "$@" +do +case $arg in + --framework=*) + PATHS+=" "$EXAMPLES_DIR$(echo $arg | awk '{split($0,a,"="); print a[2]}') + ;; +esac +done + +npm i && \ +eval "npm run lint -- -c ../.jscsrc $PATHS" diff --git a/travis-runner.sh b/travis-runner.sh index 61220f65b6..7cd75e16b3 100755 --- a/travis-runner.sh +++ b/travis-runner.sh @@ -16,17 +16,16 @@ then # Any command that using GH_OAUTH_TOKEN must pipe the output to /dev/null to not expose your oauth token git push https://${GH_OAUTH_TOKEN}@github.com/${GH_OWNER}/${GH_PROJECT_NAME} HEAD:gh-pages > /dev/null 2>&1 else - git remote add current https://github.com/tastejs/todomvc.git && \ - git fetch current && \ - cd browser-tests/ && \ - npm i && \ - changes=$(git diff HEAD origin/master --name-only | awk 'BEGIN {FS = "/"}; {print $1 "/" $2 "/" $3}' | uniq | grep -v \/\/ | grep examples | awk -F '[/]' '{print "--framework=" $2}') + changes=$(./util/get-changes.sh) && \ if [ "${#changes}" = 0 ] then exit 0 else - echo changes | xargs npm run test -- + cd tests && \ + echo $changes | xargs ./run.sh && \ + cd ../browser-tests && \ + echo $changes | xargs ./run.sh fi exit $? diff --git a/util/get-changes.sh b/util/get-changes.sh new file mode 100755 index 0000000000..7dd278c0e0 --- /dev/null +++ b/util/get-changes.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +git remote add current https://github.com/tastejs/todomvc.git && \ +git fetch --quiet current && \ +git diff HEAD origin/master --name-only | awk 'BEGIN {FS = "/"}; {print $1 "/" $2 "/" $3}' | uniq | grep -v \/\/ | grep examples | awk -F '[/]' '{print "--framework=" $2}'