Skip to content

Commit

Permalink
Add test cases for PUBLIC_URL and relative path (facebook#1519)
Browse files Browse the repository at this point in the history
* Add test cases to evaluate increased CI time

* Add positive test cases

* Add negative cases

* Test default behavior

* Exit on failure

* Fix test
  • Loading branch information
Timer authored and randycoulman committed May 8, 2017
1 parent ac23172 commit e24fe57
Showing 1 changed file with 54 additions and 0 deletions.
54 changes: 54 additions & 0 deletions tasks/e2e-simple.sh
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,55 @@ create_react_app --scripts-version=$scripts_path test-app
# let's make sure all npm scripts are in the working state.
# ******************************************************************************

function verify_env_url {
# Backup package.json because we're going to make it dirty
cp package.json package.json.orig

# Test default behavior
grep -F -R --exclude=*.map "\"/static/" build/ -q; test $? -eq 0 || exit 1

# Test relative path build
awk -v n=2 -v s=" \"homepage\": \".\"," 'NR == n {print s} {print}' package.json > tmp && mv tmp package.json

npm run build
# Disabled until this can be tested
# grep -F -R --exclude=*.map "../../static/" build/ -q; test $? -eq 0 || exit 1
grep -F -R --exclude=*.map "\"./static/" build/ -q; test $? -eq 0 || exit 1
grep -F -R --exclude=*.map "\"/static/" build/ -q; test $? -eq 1 || exit 1

PUBLIC_URL="/anabsolute" npm run build
grep -F -R --exclude=*.map "/anabsolute/static/" build/ -q; test $? -eq 0 || exit 1
grep -F -R --exclude=*.map "\"/static/" build/ -q; test $? -eq 1 || exit 1

# Test absolute path build
sed "2s/.*/ \"homepage\": \"\/testingpath\",/" package.json > tmp && mv tmp package.json

npm run build
grep -F -R --exclude=*.map "/testingpath/static/" build/ -q; test $? -eq 0 || exit 1
grep -F -R --exclude=*.map "\"/static/" build/ -q; test $? -eq 1 || exit 1

PUBLIC_URL="https://www.example.net/overridetest" npm run build
grep -F -R --exclude=*.map "https://www.example.net/overridetest/static/" build/ -q; test $? -eq 0 || exit 1
grep -F -R --exclude=*.map "\"/static/" build/ -q; test $? -eq 1 || exit 1
grep -F -R --exclude=*.map "testingpath/static" build/ -q; test $? -eq 1 || exit 1

# Test absolute url build
sed "2s/.*/ \"homepage\": \"https:\/\/www.example.net\/testingpath\",/" package.json > tmp && mv tmp package.json

npm run build
grep -F -R --exclude=*.map "/testingpath/static/" build/ -q; test $? -eq 0 || exit 1
grep -F -R --exclude=*.map "\"/static/" build/ -q; test $? -eq 1 || exit 1

PUBLIC_URL="https://www.example.net/overridetest" npm run build
grep -F -R --exclude=*.map "https://www.example.net/overridetest/static/" build/ -q; test $? -eq 0 || exit 1
grep -F -R --exclude=*.map "\"/static/" build/ -q; test $? -eq 1 || exit 1
grep -F -R --exclude=*.map "testingpath/static" build/ -q; test $? -eq 1 || exit 1

# Restore package.json
rm package.json
mv package.json.orig package.json
}

# Enter the app directory
cd test-app

Expand All @@ -162,6 +211,9 @@ CI=true npm test
# Test the server
npm start -- --smoke-test

# Test environment handling
verify_env_url

# ******************************************************************************
# Finally, let's check that everything still works after ejecting.
# ******************************************************************************
Expand Down Expand Up @@ -195,6 +247,8 @@ npm test -- --watch=no
# Test the server
npm start -- --smoke-test

# Test environment handling
verify_env_url

# Cleanup
cleanup

0 comments on commit e24fe57

Please sign in to comment.