@pdftron/pdfnet-node 9.4.2-beta.0 → 9.5.0-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node_modules/underscore/LICENSE +23 -23
- package/node_modules/underscore/README.md +28 -28
- package/node_modules/underscore/amd/_apply.js +7 -7
- package/node_modules/underscore/amd/_applyProperty.js +14 -14
- package/node_modules/underscore/amd/_arrayAccessors.js +11 -11
- package/node_modules/underscore/amd/_arrayMutators.js +15 -15
- package/node_modules/underscore/amd/_baseCreate.js +21 -21
- package/node_modules/underscore/amd/_baseIteratee.js +15 -15
- package/node_modules/underscore/amd/_binarySearch.js +17 -17
- package/node_modules/underscore/amd/_bindCb.js +14 -14
- package/node_modules/underscore/amd/_bindCb4.js +17 -17
- package/node_modules/underscore/amd/_byValue.js +11 -11
- package/node_modules/underscore/amd/_cb.js +12 -12
- package/node_modules/underscore/amd/_chainResult.js +10 -10
- package/node_modules/underscore/amd/_collectNonEnumProps.js +42 -42
- package/node_modules/underscore/amd/_createAssigner.js +24 -24
- package/node_modules/underscore/amd/_createEscaper.js +21 -21
- package/node_modules/underscore/amd/_createIndexFinder.js +30 -30
- package/node_modules/underscore/amd/_createPredicateIndexFinder.js +18 -18
- package/node_modules/underscore/amd/_createReduce.js +30 -30
- package/node_modules/underscore/amd/_createSizePropertyCheck.js +13 -13
- package/node_modules/underscore/amd/_deepGet.js +15 -15
- package/node_modules/underscore/amd/_escapeMap.js +15 -15
- package/node_modules/underscore/amd/_executeBound.js +16 -16
- package/node_modules/underscore/amd/_extremum.js +35 -35
- package/node_modules/underscore/amd/_flatten.js +32 -32
- package/node_modules/underscore/amd/_forceNumericMinMax.js +16 -16
- package/node_modules/underscore/amd/_getByteLength.js +8 -8
- package/node_modules/underscore/amd/_getLength.js +8 -8
- package/node_modules/underscore/amd/_greater.js +10 -10
- package/node_modules/underscore/amd/_group.js +18 -18
- package/node_modules/underscore/amd/_has.js +10 -10
- package/node_modules/underscore/amd/_hasObjectTag.js +7 -7
- package/node_modules/underscore/amd/_isArrayLike.js +11 -11
- package/node_modules/underscore/amd/_isBufferLike.js +9 -9
- package/node_modules/underscore/amd/_keyInObj.js +11 -11
- package/node_modules/underscore/amd/_less.js +10 -10
- package/node_modules/underscore/amd/_lessEqual.js +10 -10
- package/node_modules/underscore/amd/_linearSearch.js +31 -31
- package/node_modules/underscore/amd/_mapReduce.js +5 -5
- package/node_modules/underscore/amd/_methodFingerprint.js +44 -44
- package/node_modules/underscore/amd/_optimizeCb.js +27 -27
- package/node_modules/underscore/amd/_push.js +7 -7
- package/node_modules/underscore/amd/_pusher.js +13 -13
- package/node_modules/underscore/amd/_sequence.js +18 -18
- package/node_modules/underscore/amd/_setup.js +70 -70
- package/node_modules/underscore/amd/_shallowProperty.js +12 -12
- package/node_modules/underscore/amd/_slice.js +7 -7
- package/node_modules/underscore/amd/_strictEqual.js +9 -9
- package/node_modules/underscore/amd/_stringTagBug.js +16 -16
- package/node_modules/underscore/amd/_tagTester.js +13 -13
- package/node_modules/underscore/amd/_toBufferView.js +15 -15
- package/node_modules/underscore/amd/_toPath.js +11 -11
- package/node_modules/underscore/amd/_unescapeMap.js +8 -8
- package/node_modules/underscore/amd/_unmethodize.js +9 -9
- package/node_modules/underscore/amd/_wrapArrayAccessor.js +15 -15
- package/node_modules/underscore/amd/_wrapArrayMutator.js +28 -28
- package/node_modules/underscore/amd/after.js +14 -14
- package/node_modules/underscore/amd/allKeys.js +15 -15
- package/node_modules/underscore/amd/before.js +18 -18
- package/node_modules/underscore/amd/bind.js +15 -15
- package/node_modules/underscore/amd/bindAll.js +19 -19
- package/node_modules/underscore/amd/chain.js +12 -12
- package/node_modules/underscore/amd/chunk.js +17 -17
- package/node_modules/underscore/amd/clone.js +11 -11
- package/node_modules/underscore/amd/compact.js +10 -10
- package/node_modules/underscore/amd/compose.js +18 -18
- package/node_modules/underscore/amd/concat.js +7 -7
- package/node_modules/underscore/amd/constant.js +12 -12
- package/node_modules/underscore/amd/contains.js +12 -12
- package/node_modules/underscore/amd/countBy.js +12 -12
- package/node_modules/underscore/amd/create.js +14 -14
- package/node_modules/underscore/amd/debounce.js +43 -43
- package/node_modules/underscore/amd/defaults.js +8 -8
- package/node_modules/underscore/amd/defer.js +9 -9
- package/node_modules/underscore/amd/delay.js +13 -13
- package/node_modules/underscore/amd/difference.js +14 -14
- package/node_modules/underscore/amd/each.js +25 -25
- package/node_modules/underscore/amd/escape.js +8 -8
- package/node_modules/underscore/amd/every.js +17 -17
- package/node_modules/underscore/amd/extend.js +8 -8
- package/node_modules/underscore/amd/extendOwn.js +10 -10
- package/node_modules/underscore/amd/filter.js +15 -15
- package/node_modules/underscore/amd/find.js +12 -12
- package/node_modules/underscore/amd/findIndex.js +8 -8
- package/node_modules/underscore/amd/findKey.js +15 -15
- package/node_modules/underscore/amd/findLastIndex.js +8 -8
- package/node_modules/underscore/amd/findWhere.js +11 -11
- package/node_modules/underscore/amd/first.js +13 -13
- package/node_modules/underscore/amd/flatten.js +11 -11
- package/node_modules/underscore/amd/functions.js +14 -14
- package/node_modules/underscore/amd/get.js +14 -14
- package/node_modules/underscore/amd/groupBy.js +11 -11
- package/node_modules/underscore/amd/has.js +19 -19
- package/node_modules/underscore/amd/identity.js +10 -10
- package/node_modules/underscore/amd/index-default.js +12 -12
- package/node_modules/underscore/amd/index.js +154 -154
- package/node_modules/underscore/amd/indexBy.js +11 -11
- package/node_modules/underscore/amd/indexOf.js +11 -11
- package/node_modules/underscore/amd/initial.js +12 -12
- package/node_modules/underscore/amd/intersection.js +22 -22
- package/node_modules/underscore/amd/invert.js +15 -15
- package/node_modules/underscore/amd/invoke.js +28 -28
- package/node_modules/underscore/amd/isArguments.js +19 -19
- package/node_modules/underscore/amd/isArray.js +9 -9
- package/node_modules/underscore/amd/isArrayBuffer.js +7 -7
- package/node_modules/underscore/amd/isBoolean.js +10 -10
- package/node_modules/underscore/amd/isDataView.js +15 -15
- package/node_modules/underscore/amd/isDate.js +7 -7
- package/node_modules/underscore/amd/isElement.js +10 -10
- package/node_modules/underscore/amd/isEmpty.js +18 -18
- package/node_modules/underscore/amd/isEqual.js +133 -133
- package/node_modules/underscore/amd/isError.js +7 -7
- package/node_modules/underscore/amd/isFinite.js +10 -10
- package/node_modules/underscore/amd/isFunction.js +18 -18
- package/node_modules/underscore/amd/isMap.js +7 -7
- package/node_modules/underscore/amd/isMatch.js +17 -17
- package/node_modules/underscore/amd/isNaN.js +10 -10
- package/node_modules/underscore/amd/isNull.js +10 -10
- package/node_modules/underscore/amd/isNumber.js +7 -7
- package/node_modules/underscore/amd/isObject.js +11 -11
- package/node_modules/underscore/amd/isRegExp.js +7 -7
- package/node_modules/underscore/amd/isSet.js +7 -7
- package/node_modules/underscore/amd/isString.js +7 -7
- package/node_modules/underscore/amd/isSymbol.js +7 -7
- package/node_modules/underscore/amd/isTypedArray.js +16 -16
- package/node_modules/underscore/amd/isUndefined.js +10 -10
- package/node_modules/underscore/amd/isWeakMap.js +7 -7
- package/node_modules/underscore/amd/isWeakSet.js +7 -7
- package/node_modules/underscore/amd/iteratee.js +13 -13
- package/node_modules/underscore/amd/join.js +7 -7
- package/node_modules/underscore/amd/keys.js +17 -17
- package/node_modules/underscore/amd/last.js +13 -13
- package/node_modules/underscore/amd/lastIndexOf.js +9 -9
- package/node_modules/underscore/amd/map.js +18 -18
- package/node_modules/underscore/amd/mapObject.js +19 -19
- package/node_modules/underscore/amd/matcher.js +14 -14
- package/node_modules/underscore/amd/max.js +30 -30
- package/node_modules/underscore/amd/memoize.js +17 -17
- package/node_modules/underscore/amd/min.js +30 -30
- package/node_modules/underscore/amd/mixin.js +18 -18
- package/node_modules/underscore/amd/negate.js +12 -12
- package/node_modules/underscore/amd/noop.js +8 -8
- package/node_modules/underscore/amd/now.js +10 -10
- package/node_modules/underscore/amd/object.js +20 -20
- package/node_modules/underscore/amd/omit.js +20 -20
- package/node_modules/underscore/amd/once.js +9 -9
- package/node_modules/underscore/amd/pairs.js +17 -17
- package/node_modules/underscore/amd/partial.js +25 -25
- package/node_modules/underscore/amd/partition.js +11 -11
- package/node_modules/underscore/amd/pick.js +25 -25
- package/node_modules/underscore/amd/pluck.js +10 -10
- package/node_modules/underscore/amd/pop.js +7 -7
- package/node_modules/underscore/amd/property.js +14 -14
- package/node_modules/underscore/amd/propertyOf.js +13 -13
- package/node_modules/underscore/amd/push.js +7 -7
- package/node_modules/underscore/amd/random.js +14 -14
- package/node_modules/underscore/amd/range.js +27 -27
- package/node_modules/underscore/amd/reduce.js +9 -9
- package/node_modules/underscore/amd/reduceRight.js +8 -8
- package/node_modules/underscore/amd/reject.js +10 -10
- package/node_modules/underscore/amd/rest.js +12 -12
- package/node_modules/underscore/amd/restArguments.js +33 -33
- package/node_modules/underscore/amd/result.js +25 -25
- package/node_modules/underscore/amd/reverse.js +7 -7
- package/node_modules/underscore/amd/sample.js +27 -27
- package/node_modules/underscore/amd/shift.js +7 -7
- package/node_modules/underscore/amd/shuffle.js +10 -10
- package/node_modules/underscore/amd/size.js +11 -11
- package/node_modules/underscore/amd/slice.js +7 -7
- package/node_modules/underscore/amd/some.js +17 -17
- package/node_modules/underscore/amd/sort.js +7 -7
- package/node_modules/underscore/amd/sortBy.js +26 -26
- package/node_modules/underscore/amd/sortedIndex.js +18 -18
- package/node_modules/underscore/amd/sortedLastIndex.js +11 -11
- package/node_modules/underscore/amd/splice.js +7 -7
- package/node_modules/underscore/amd/tap.js +13 -13
- package/node_modules/underscore/amd/template.js +95 -95
- package/node_modules/underscore/amd/templateSettings.js +13 -13
- package/node_modules/underscore/amd/throttle.js +51 -51
- package/node_modules/underscore/amd/times.js +13 -13
- package/node_modules/underscore/amd/toArray.js +18 -18
- package/node_modules/underscore/amd/toPath.js +12 -12
- package/node_modules/underscore/amd/toString.js +11 -11
- package/node_modules/underscore/amd/underscore-array-methods.js +30 -30
- package/node_modules/underscore/amd/underscore.js +29 -29
- package/node_modules/underscore/amd/unescape.js +8 -8
- package/node_modules/underscore/amd/union.js +11 -11
- package/node_modules/underscore/amd/uniq.js +37 -37
- package/node_modules/underscore/amd/uniqueId.js +13 -13
- package/node_modules/underscore/amd/unshift.js +7 -7
- package/node_modules/underscore/amd/unzip.js +17 -17
- package/node_modules/underscore/amd/value.js +13 -13
- package/node_modules/underscore/amd/values.js +16 -16
- package/node_modules/underscore/amd/where.js +11 -11
- package/node_modules/underscore/amd/without.js +10 -10
- package/node_modules/underscore/amd/wrap.js +12 -12
- package/node_modules/underscore/amd/zip.js +9 -9
- package/node_modules/underscore/cjs/_apply.js +6 -6
- package/node_modules/underscore/cjs/_applyProperty.js +10 -10
- package/node_modules/underscore/cjs/_arrayAccessors.js +11 -11
- package/node_modules/underscore/cjs/_arrayMutators.js +19 -19
- package/node_modules/underscore/cjs/_baseCreate.js +20 -20
- package/node_modules/underscore/cjs/_baseIteratee.js +19 -19
- package/node_modules/underscore/cjs/_binarySearch.js +15 -15
- package/node_modules/underscore/cjs/_bindCb.js +10 -10
- package/node_modules/underscore/cjs/_bindCb4.js +13 -13
- package/node_modules/underscore/cjs/_byValue.js +7 -7
- package/node_modules/underscore/cjs/_cb.js +12 -12
- package/node_modules/underscore/cjs/_chainResult.js +8 -8
- package/node_modules/underscore/cjs/_collectNonEnumProps.js +42 -42
- package/node_modules/underscore/cjs/_createAssigner.js +20 -20
- package/node_modules/underscore/cjs/_createEscaper.js +19 -19
- package/node_modules/underscore/cjs/_createIndexFinder.js +30 -30
- package/node_modules/underscore/cjs/_createPredicateIndexFinder.js +17 -17
- package/node_modules/underscore/cjs/_createReduce.js +30 -30
- package/node_modules/underscore/cjs/_createSizePropertyCheck.js +11 -11
- package/node_modules/underscore/cjs/_deepGet.js +11 -11
- package/node_modules/underscore/cjs/_escapeMap.js +11 -11
- package/node_modules/underscore/cjs/_executeBound.js +15 -15
- package/node_modules/underscore/cjs/_extremum.js +35 -35
- package/node_modules/underscore/cjs/_flatten.js +33 -33
- package/node_modules/underscore/cjs/_forceNumericMinMax.js +14 -14
- package/node_modules/underscore/cjs/_getByteLength.js +6 -6
- package/node_modules/underscore/cjs/_getLength.js +6 -6
- package/node_modules/underscore/cjs/_greater.js +6 -6
- package/node_modules/underscore/cjs/_group.js +17 -17
- package/node_modules/underscore/cjs/_has.js +8 -8
- package/node_modules/underscore/cjs/_hasObjectTag.js +5 -5
- package/node_modules/underscore/cjs/_isArrayLike.js +10 -10
- package/node_modules/underscore/cjs/_isBufferLike.js +8 -8
- package/node_modules/underscore/cjs/_keyInObj.js +7 -7
- package/node_modules/underscore/cjs/_less.js +6 -6
- package/node_modules/underscore/cjs/_lessEqual.js +6 -6
- package/node_modules/underscore/cjs/_linearSearch.js +30 -30
- package/node_modules/underscore/cjs/_mapReduce.js +1 -1
- package/node_modules/underscore/cjs/_methodFingerprint.js +44 -44
- package/node_modules/underscore/cjs/_optimizeCb.js +23 -23
- package/node_modules/underscore/cjs/_push.js +6 -6
- package/node_modules/underscore/cjs/_pusher.js +9 -9
- package/node_modules/underscore/cjs/_sequence.js +14 -14
- package/node_modules/underscore/cjs/_setup.js +66 -66
- package/node_modules/underscore/cjs/_shallowProperty.js +8 -8
- package/node_modules/underscore/cjs/_slice.js +6 -6
- package/node_modules/underscore/cjs/_strictEqual.js +5 -5
- package/node_modules/underscore/cjs/_stringTagBug.js +15 -15
- package/node_modules/underscore/cjs/_tagTester.js +11 -11
- package/node_modules/underscore/cjs/_toBufferView.js +13 -13
- package/node_modules/underscore/cjs/_toPath.js +10 -10
- package/node_modules/underscore/cjs/_unescapeMap.js +7 -7
- package/node_modules/underscore/cjs/_unmethodize.js +8 -8
- package/node_modules/underscore/cjs/_wrapArrayAccessor.js +14 -14
- package/node_modules/underscore/cjs/_wrapArrayMutator.js +29 -29
- package/node_modules/underscore/cjs/after.js +10 -10
- package/node_modules/underscore/cjs/allKeys.js +15 -15
- package/node_modules/underscore/cjs/before.js +14 -14
- package/node_modules/underscore/cjs/bind.js +15 -15
- package/node_modules/underscore/cjs/bindAll.js +19 -19
- package/node_modules/underscore/cjs/chain.js +10 -10
- package/node_modules/underscore/cjs/chunk.js +15 -15
- package/node_modules/underscore/cjs/clone.js +11 -11
- package/node_modules/underscore/cjs/compact.js +8 -8
- package/node_modules/underscore/cjs/compose.js +14 -14
- package/node_modules/underscore/cjs/concat.js +6 -6
- package/node_modules/underscore/cjs/constant.js +8 -8
- package/node_modules/underscore/cjs/contains.js +12 -12
- package/node_modules/underscore/cjs/countBy.js +11 -11
- package/node_modules/underscore/cjs/create.js +13 -13
- package/node_modules/underscore/cjs/debounce.js +42 -42
- package/node_modules/underscore/cjs/defaults.js +7 -7
- package/node_modules/underscore/cjs/defer.js +9 -9
- package/node_modules/underscore/cjs/delay.js +11 -11
- package/node_modules/underscore/cjs/difference.js +15 -15
- package/node_modules/underscore/cjs/each.js +25 -25
- package/node_modules/underscore/cjs/escape.js +7 -7
- package/node_modules/underscore/cjs/every.js +17 -17
- package/node_modules/underscore/cjs/extend.js +7 -7
- package/node_modules/underscore/cjs/extendOwn.js +9 -9
- package/node_modules/underscore/cjs/filter.js +14 -14
- package/node_modules/underscore/cjs/find.js +12 -12
- package/node_modules/underscore/cjs/findIndex.js +6 -6
- package/node_modules/underscore/cjs/findKey.js +14 -14
- package/node_modules/underscore/cjs/findLastIndex.js +6 -6
- package/node_modules/underscore/cjs/findWhere.js +10 -10
- package/node_modules/underscore/cjs/first.js +11 -11
- package/node_modules/underscore/cjs/flatten.js +9 -9
- package/node_modules/underscore/cjs/functions.js +12 -12
- package/node_modules/underscore/cjs/get.js +14 -14
- package/node_modules/underscore/cjs/groupBy.js +10 -10
- package/node_modules/underscore/cjs/has.js +18 -18
- package/node_modules/underscore/cjs/identity.js +6 -6
- package/node_modules/underscore/cjs/index-default.js +11 -11
- package/node_modules/underscore/cjs/index.js +277 -277
- package/node_modules/underscore/cjs/indexBy.js +9 -9
- package/node_modules/underscore/cjs/indexOf.js +11 -11
- package/node_modules/underscore/cjs/initial.js +10 -10
- package/node_modules/underscore/cjs/intersection.js +21 -21
- package/node_modules/underscore/cjs/invert.js +13 -13
- package/node_modules/underscore/cjs/invoke.js +30 -30
- package/node_modules/underscore/cjs/isArguments.js +18 -18
- package/node_modules/underscore/cjs/isArray.js +8 -8
- package/node_modules/underscore/cjs/isArrayBuffer.js +5 -5
- package/node_modules/underscore/cjs/isBoolean.js +8 -8
- package/node_modules/underscore/cjs/isDataView.js +16 -16
- package/node_modules/underscore/cjs/isDate.js +5 -5
- package/node_modules/underscore/cjs/isElement.js +6 -6
- package/node_modules/underscore/cjs/isEmpty.js +20 -20
- package/node_modules/underscore/cjs/isEqual.js +140 -140
- package/node_modules/underscore/cjs/isError.js +5 -5
- package/node_modules/underscore/cjs/isFinite.js +9 -9
- package/node_modules/underscore/cjs/isFunction.js +17 -17
- package/node_modules/underscore/cjs/isMap.js +7 -7
- package/node_modules/underscore/cjs/isMatch.js +15 -15
- package/node_modules/underscore/cjs/isNaN.js +9 -9
- package/node_modules/underscore/cjs/isNull.js +6 -6
- package/node_modules/underscore/cjs/isNumber.js +5 -5
- package/node_modules/underscore/cjs/isObject.js +7 -7
- package/node_modules/underscore/cjs/isRegExp.js +5 -5
- package/node_modules/underscore/cjs/isSet.js +7 -7
- package/node_modules/underscore/cjs/isString.js +5 -5
- package/node_modules/underscore/cjs/isSymbol.js +5 -5
- package/node_modules/underscore/cjs/isTypedArray.js +17 -17
- package/node_modules/underscore/cjs/isUndefined.js +6 -6
- package/node_modules/underscore/cjs/isWeakMap.js +7 -7
- package/node_modules/underscore/cjs/isWeakSet.js +5 -5
- package/node_modules/underscore/cjs/iteratee.js +12 -12
- package/node_modules/underscore/cjs/join.js +6 -6
- package/node_modules/underscore/cjs/keys.js +18 -18
- package/node_modules/underscore/cjs/last.js +11 -11
- package/node_modules/underscore/cjs/lastIndexOf.js +8 -8
- package/node_modules/underscore/cjs/map.js +18 -18
- package/node_modules/underscore/cjs/mapObject.js +18 -18
- package/node_modules/underscore/cjs/matcher.js +13 -13
- package/node_modules/underscore/cjs/max.js +31 -31
- package/node_modules/underscore/cjs/memoize.js +15 -15
- package/node_modules/underscore/cjs/min.js +31 -31
- package/node_modules/underscore/cjs/mixin.js +20 -20
- package/node_modules/underscore/cjs/negate.js +8 -8
- package/node_modules/underscore/cjs/noop.js +4 -4
- package/node_modules/underscore/cjs/now.js +6 -6
- package/node_modules/underscore/cjs/object.js +18 -18
- package/node_modules/underscore/cjs/omit.js +24 -24
- package/node_modules/underscore/cjs/once.js +8 -8
- package/node_modules/underscore/cjs/pairs.js +15 -15
- package/node_modules/underscore/cjs/partial.js +25 -25
- package/node_modules/underscore/cjs/partition.js +9 -9
- package/node_modules/underscore/cjs/pick.js +28 -28
- package/node_modules/underscore/cjs/pluck.js +9 -9
- package/node_modules/underscore/cjs/pop.js +6 -6
- package/node_modules/underscore/cjs/property.js +13 -13
- package/node_modules/underscore/cjs/propertyOf.js +12 -12
- package/node_modules/underscore/cjs/push.js +6 -6
- package/node_modules/underscore/cjs/random.js +10 -10
- package/node_modules/underscore/cjs/range.js +23 -23
- package/node_modules/underscore/cjs/reduce.js +7 -7
- package/node_modules/underscore/cjs/reduceRight.js +6 -6
- package/node_modules/underscore/cjs/reject.js +10 -10
- package/node_modules/underscore/cjs/rest.js +10 -10
- package/node_modules/underscore/cjs/restArguments.js +29 -29
- package/node_modules/underscore/cjs/result.js +24 -24
- package/node_modules/underscore/cjs/reverse.js +6 -6
- package/node_modules/underscore/cjs/sample.js +29 -29
- package/node_modules/underscore/cjs/shift.js +6 -6
- package/node_modules/underscore/cjs/shuffle.js +8 -8
- package/node_modules/underscore/cjs/size.js +10 -10
- package/node_modules/underscore/cjs/slice.js +6 -6
- package/node_modules/underscore/cjs/some.js +17 -17
- package/node_modules/underscore/cjs/sort.js +6 -6
- package/node_modules/underscore/cjs/sortBy.js +26 -26
- package/node_modules/underscore/cjs/sortedIndex.js +17 -17
- package/node_modules/underscore/cjs/sortedLastIndex.js +11 -11
- package/node_modules/underscore/cjs/splice.js +6 -6
- package/node_modules/underscore/cjs/tap.js +9 -9
- package/node_modules/underscore/cjs/template.js +95 -95
- package/node_modules/underscore/cjs/templateSettings.js +11 -11
- package/node_modules/underscore/cjs/throttle.js +49 -49
- package/node_modules/underscore/cjs/times.js +11 -11
- package/node_modules/underscore/cjs/toArray.js +22 -22
- package/node_modules/underscore/cjs/toPath.js +11 -11
- package/node_modules/underscore/cjs/toString.js +9 -9
- package/node_modules/underscore/cjs/underscore-array-methods.js +31 -31
- package/node_modules/underscore/cjs/underscore.js +27 -27
- package/node_modules/underscore/cjs/unescape.js +7 -7
- package/node_modules/underscore/cjs/union.js +11 -11
- package/node_modules/underscore/cjs/uniq.js +38 -38
- package/node_modules/underscore/cjs/uniqueId.js +9 -9
- package/node_modules/underscore/cjs/unshift.js +6 -6
- package/node_modules/underscore/cjs/unzip.js +17 -17
- package/node_modules/underscore/cjs/value.js +9 -9
- package/node_modules/underscore/cjs/values.js +14 -14
- package/node_modules/underscore/cjs/where.js +10 -10
- package/node_modules/underscore/cjs/without.js +9 -9
- package/node_modules/underscore/cjs/wrap.js +10 -10
- package/node_modules/underscore/cjs/zip.js +8 -8
- package/node_modules/underscore/modules/.eslintrc +12 -12
- package/node_modules/underscore/modules/_baseCreate.js +18 -18
- package/node_modules/underscore/modules/_baseIteratee.js +17 -17
- package/node_modules/underscore/modules/_cb.js +10 -10
- package/node_modules/underscore/modules/_chainResult.js +6 -6
- package/node_modules/underscore/modules/_collectNonEnumProps.js +40 -40
- package/node_modules/underscore/modules/_createAssigner.js +18 -18
- package/node_modules/underscore/modules/_createEscaper.js +17 -17
- package/node_modules/underscore/modules/_createIndexFinder.js +28 -28
- package/node_modules/underscore/modules/_createPredicateIndexFinder.js +15 -15
- package/node_modules/underscore/modules/_createReduce.js +28 -28
- package/node_modules/underscore/modules/_createSizePropertyCheck.js +9 -9
- package/node_modules/underscore/modules/_deepGet.js +9 -9
- package/node_modules/underscore/modules/_escapeMap.js +9 -9
- package/node_modules/underscore/modules/_executeBound.js +13 -13
- package/node_modules/underscore/modules/_flatten.js +31 -31
- package/node_modules/underscore/modules/_getByteLength.js +4 -4
- package/node_modules/underscore/modules/_getLength.js +4 -4
- package/node_modules/underscore/modules/_group.js +15 -15
- package/node_modules/underscore/modules/_has.js +6 -6
- package/node_modules/underscore/modules/_hasObjectTag.js +3 -3
- package/node_modules/underscore/modules/_isArrayLike.js +8 -8
- package/node_modules/underscore/modules/_isBufferLike.js +6 -6
- package/node_modules/underscore/modules/_keyInObj.js +5 -5
- package/node_modules/underscore/modules/_methodFingerprint.js +37 -37
- package/node_modules/underscore/modules/_optimizeCb.js +21 -21
- package/node_modules/underscore/modules/_setup.js +43 -43
- package/node_modules/underscore/modules/_shallowProperty.js +6 -6
- package/node_modules/underscore/modules/_stringTagBug.js +10 -10
- package/node_modules/underscore/modules/_tagTester.js +9 -9
- package/node_modules/underscore/modules/_toBufferView.js +11 -11
- package/node_modules/underscore/modules/_toPath.js +8 -8
- package/node_modules/underscore/modules/_unescapeMap.js +5 -5
- package/node_modules/underscore/modules/after.js +8 -8
- package/node_modules/underscore/modules/allKeys.js +13 -13
- package/node_modules/underscore/modules/before.js +12 -12
- package/node_modules/underscore/modules/bind.js +13 -13
- package/node_modules/underscore/modules/bindAll.js +17 -17
- package/node_modules/underscore/modules/chain.js +8 -8
- package/node_modules/underscore/modules/chunk.js +13 -13
- package/node_modules/underscore/modules/clone.js +9 -9
- package/node_modules/underscore/modules/compact.js +6 -6
- package/node_modules/underscore/modules/compose.js +12 -12
- package/node_modules/underscore/modules/constant.js +6 -6
- package/node_modules/underscore/modules/contains.js +10 -10
- package/node_modules/underscore/modules/countBy.js +9 -9
- package/node_modules/underscore/modules/create.js +11 -11
- package/node_modules/underscore/modules/debounce.js +40 -40
- package/node_modules/underscore/modules/defaults.js +5 -5
- package/node_modules/underscore/modules/defer.js +7 -7
- package/node_modules/underscore/modules/delay.js +9 -9
- package/node_modules/underscore/modules/difference.js +13 -13
- package/node_modules/underscore/modules/each.js +23 -23
- package/node_modules/underscore/modules/escape.js +5 -5
- package/node_modules/underscore/modules/every.js +15 -15
- package/node_modules/underscore/modules/extend.js +5 -5
- package/node_modules/underscore/modules/extendOwn.js +7 -7
- package/node_modules/underscore/modules/filter.js +12 -12
- package/node_modules/underscore/modules/find.js +10 -10
- package/node_modules/underscore/modules/findIndex.js +4 -4
- package/node_modules/underscore/modules/findKey.js +12 -12
- package/node_modules/underscore/modules/findLastIndex.js +4 -4
- package/node_modules/underscore/modules/findWhere.js +8 -8
- package/node_modules/underscore/modules/first.js +9 -9
- package/node_modules/underscore/modules/flatten.js +7 -7
- package/node_modules/underscore/modules/functions.js +10 -10
- package/node_modules/underscore/modules/get.js +12 -12
- package/node_modules/underscore/modules/groupBy.js +8 -8
- package/node_modules/underscore/modules/has.js +16 -16
- package/node_modules/underscore/modules/identity.js +4 -4
- package/node_modules/underscore/modules/index-all.js +18 -18
- package/node_modules/underscore/modules/index-default.js +27 -27
- package/node_modules/underscore/modules/index.js +200 -200
- package/node_modules/underscore/modules/indexBy.js +7 -7
- package/node_modules/underscore/modules/indexOf.js +9 -9
- package/node_modules/underscore/modules/initial.js +8 -8
- package/node_modules/underscore/modules/intersection.js +19 -19
- package/node_modules/underscore/modules/invert.js +11 -11
- package/node_modules/underscore/modules/invoke.js +28 -28
- package/node_modules/underscore/modules/isArguments.js +16 -16
- package/node_modules/underscore/modules/isArray.js +6 -6
- package/node_modules/underscore/modules/isArrayBuffer.js +3 -3
- package/node_modules/underscore/modules/isBoolean.js +6 -6
- package/node_modules/underscore/modules/isDataView.js +14 -14
- package/node_modules/underscore/modules/isDate.js +3 -3
- package/node_modules/underscore/modules/isElement.js +4 -4
- package/node_modules/underscore/modules/isEmpty.js +18 -18
- package/node_modules/underscore/modules/isEqual.js +138 -138
- package/node_modules/underscore/modules/isError.js +3 -3
- package/node_modules/underscore/modules/isFinite.js +7 -7
- package/node_modules/underscore/modules/isFunction.js +15 -15
- package/node_modules/underscore/modules/isMap.js +5 -5
- package/node_modules/underscore/modules/isMatch.js +13 -13
- package/node_modules/underscore/modules/isNaN.js +7 -7
- package/node_modules/underscore/modules/isNull.js +4 -4
- package/node_modules/underscore/modules/isNumber.js +3 -3
- package/node_modules/underscore/modules/isObject.js +5 -5
- package/node_modules/underscore/modules/isRegExp.js +3 -3
- package/node_modules/underscore/modules/isSet.js +5 -5
- package/node_modules/underscore/modules/isString.js +3 -3
- package/node_modules/underscore/modules/isSymbol.js +3 -3
- package/node_modules/underscore/modules/isTypedArray.js +15 -15
- package/node_modules/underscore/modules/isUndefined.js +4 -4
- package/node_modules/underscore/modules/isWeakMap.js +5 -5
- package/node_modules/underscore/modules/isWeakSet.js +3 -3
- package/node_modules/underscore/modules/iteratee.js +10 -10
- package/node_modules/underscore/modules/keys.js +16 -16
- package/node_modules/underscore/modules/last.js +9 -9
- package/node_modules/underscore/modules/lastIndexOf.js +6 -6
- package/node_modules/underscore/modules/map.js +16 -16
- package/node_modules/underscore/modules/mapObject.js +16 -16
- package/node_modules/underscore/modules/matcher.js +11 -11
- package/node_modules/underscore/modules/max.js +29 -29
- package/node_modules/underscore/modules/memoize.js +13 -13
- package/node_modules/underscore/modules/min.js +29 -29
- package/node_modules/underscore/modules/mixin.js +18 -18
- package/node_modules/underscore/modules/negate.js +6 -6
- package/node_modules/underscore/modules/noop.js +2 -2
- package/node_modules/underscore/modules/now.js +4 -4
- package/node_modules/underscore/modules/object.js +16 -16
- package/node_modules/underscore/modules/omit.js +22 -22
- package/node_modules/underscore/modules/once.js +6 -6
- package/node_modules/underscore/modules/pairs.js +13 -13
- package/node_modules/underscore/modules/partial.js +24 -24
- package/node_modules/underscore/modules/partition.js +7 -7
- package/node_modules/underscore/modules/pick.js +26 -26
- package/node_modules/underscore/modules/pluck.js +7 -7
- package/node_modules/underscore/modules/property.js +11 -11
- package/node_modules/underscore/modules/propertyOf.js +10 -10
- package/node_modules/underscore/modules/random.js +8 -8
- package/node_modules/underscore/modules/range.js +21 -21
- package/node_modules/underscore/modules/reduce.js +5 -5
- package/node_modules/underscore/modules/reduceRight.js +4 -4
- package/node_modules/underscore/modules/reject.js +8 -8
- package/node_modules/underscore/modules/rest.js +8 -8
- package/node_modules/underscore/modules/restArguments.js +27 -27
- package/node_modules/underscore/modules/result.js +22 -22
- package/node_modules/underscore/modules/sample.js +27 -27
- package/node_modules/underscore/modules/shuffle.js +6 -6
- package/node_modules/underscore/modules/size.js +8 -8
- package/node_modules/underscore/modules/some.js +15 -15
- package/node_modules/underscore/modules/sortBy.js +24 -24
- package/node_modules/underscore/modules/sortedIndex.js +15 -15
- package/node_modules/underscore/modules/tap.js +7 -7
- package/node_modules/underscore/modules/template.js +93 -93
- package/node_modules/underscore/modules/templateSettings.js +9 -9
- package/node_modules/underscore/modules/throttle.js +47 -47
- package/node_modules/underscore/modules/times.js +9 -9
- package/node_modules/underscore/modules/toArray.js +20 -20
- package/node_modules/underscore/modules/toPath.js +9 -9
- package/node_modules/underscore/modules/underscore-array-methods.js +31 -31
- package/node_modules/underscore/modules/underscore.js +25 -25
- package/node_modules/underscore/modules/unescape.js +5 -5
- package/node_modules/underscore/modules/union.js +9 -9
- package/node_modules/underscore/modules/uniq.js +36 -36
- package/node_modules/underscore/modules/uniqueId.js +7 -7
- package/node_modules/underscore/modules/unzip.js +15 -15
- package/node_modules/underscore/modules/values.js +12 -12
- package/node_modules/underscore/modules/where.js +8 -8
- package/node_modules/underscore/modules/without.js +7 -7
- package/node_modules/underscore/modules/wrap.js +8 -8
- package/node_modules/underscore/modules/zip.js +6 -6
- package/node_modules/underscore/package.json +108 -108
- package/node_modules/underscore/underscore-esm-min.js +4 -4
- package/node_modules/underscore/underscore-esm.js +2026 -2026
- package/node_modules/underscore/underscore-min.js +5 -5
- package/node_modules/underscore/underscore.js +2034 -2034
- package/node_modules/xhr2/CONTRIBUTING.md +33 -33
- package/node_modules/xhr2/Cakefile +131 -131
- package/node_modules/xhr2/LICENSE.txt +19 -19
- package/node_modules/xhr2/lib/browser.js +1 -1
- package/node_modules/xhr2/lib/xhr2.js +1244 -1244
- package/node_modules/xhr2/package.json +93 -93
- package/node_modules/xhr2/src/001-xml_http_request.coffee +782 -782
- package/node_modules/xhr2/src/errors.coffee +31 -31
- package/node_modules/xhr2/src/progress_event.coffee +39 -39
- package/node_modules/xhr2/test/fixtures/hello.json +1 -1
- package/node_modules/xhr2/test/fixtures/hello.txt +1 -1
- package/node_modules/xhr2/test/html/browser_test.html +30 -30
- package/node_modules/xhr2/test/src/event_target_test.coffee +85 -85
- package/node_modules/xhr2/test/src/events_test.coffee +204 -204
- package/node_modules/xhr2/test/src/headers_test.coffee +165 -165
- package/node_modules/xhr2/test/src/helpers/browser_mocha_setup.coffee +1 -1
- package/node_modules/xhr2/test/src/helpers/setup.coffee +38 -38
- package/node_modules/xhr2/test/src/helpers/xhr_server.coffee +156 -156
- package/node_modules/xhr2/test/src/nodejs_set_test.coffee +162 -162
- package/node_modules/xhr2/test/src/redirect_test.coffee +57 -57
- package/node_modules/xhr2/test/src/response_type_test.coffee +88 -88
- package/node_modules/xhr2/test/src/send_test.coffee +89 -89
- package/node_modules/xhr2/test/src/status_test.coffee +47 -47
- package/node_modules/xhr2/test/src/xhr_test.coffee +102 -102
- package/package.json +3 -3
- package/readme.md +37 -37
- package/node_modules/underscore/underscore-min.js.map +0 -1
- package/node_modules/xhr2/README.md +0 -144
- package/node_modules/xhr2/src/000-xml_http_request_event_target.coffee +0 -89
- package/node_modules/xhr2/src/xml_http_request_upload.coffee +0 -95
- package/node_modules/xhr2/test/src/helpers/browser_mocha_runner.coffee +0 -10
- package/node_modules/xhr2/test/src/responseurl_test.coffee +0 -18
|
@@ -1,156 +1,156 @@
|
|
|
1
|
-
express = require 'express'
|
|
2
|
-
fs = require 'fs'
|
|
3
|
-
http = require 'http'
|
|
4
|
-
https = require 'https'
|
|
5
|
-
open = require 'open'
|
|
6
|
-
|
|
7
|
-
# express.js server for testing the Web application.
|
|
8
|
-
class XhrServer
|
|
9
|
-
# Starts up a HTTP server.
|
|
10
|
-
constructor: (@port, @useHttps) ->
|
|
11
|
-
@createApp()
|
|
12
|
-
|
|
13
|
-
# Opens the test URL in a browser.
|
|
14
|
-
openBrowser: (appName) ->
|
|
15
|
-
open @testUrl(), appName
|
|
16
|
-
|
|
17
|
-
# The URL that should be used to start the tests.
|
|
18
|
-
testUrl: ->
|
|
19
|
-
"https://localhost:#{@port}/test/html/browser_test.html"
|
|
20
|
-
|
|
21
|
-
# The self-signed certificate used by this server.
|
|
22
|
-
sslCertificate: ->
|
|
23
|
-
return null unless @useHttps
|
|
24
|
-
keyMaterial = fs.readFileSync 'test/ssl/cert.pem', 'utf8'
|
|
25
|
-
certIndex = keyMaterial.indexOf '-----BEGIN CERTIFICATE-----'
|
|
26
|
-
keyMaterial.substring certIndex
|
|
27
|
-
|
|
28
|
-
# The key for the self-signed certificate used by this server.
|
|
29
|
-
sslKey: ->
|
|
30
|
-
return null unless @useHttps
|
|
31
|
-
keyMaterial = fs.readFileSync 'test/ssl/cert.pem', 'utf8'
|
|
32
|
-
certIndex = keyMaterial.indexOf '-----BEGIN CERTIFICATE-----'
|
|
33
|
-
keyMaterial.substring 0, certIndex
|
|
34
|
-
|
|
35
|
-
# The server code.
|
|
36
|
-
createApp: ->
|
|
37
|
-
@app = express()
|
|
38
|
-
|
|
39
|
-
## Middleware.
|
|
40
|
-
|
|
41
|
-
# CORS headers on everything, in case that ever gets implemented.
|
|
42
|
-
@app.use (request, response, next) ->
|
|
43
|
-
response.header 'Access-Control-Allow-Origin', '*'
|
|
44
|
-
response.header 'Access-Control-Allow-Methods', 'DELETE,GET,POST,PUT'
|
|
45
|
-
response.header 'Access-Control-Allow-Headers',
|
|
46
|
-
'Content-Type, Authorization'
|
|
47
|
-
next()
|
|
48
|
-
|
|
49
|
-
@app.use express.static(fs.realpathSync(__dirname + '/../../../'),
|
|
50
|
-
{ dotfiles: 'allow' })
|
|
51
|
-
|
|
52
|
-
## Routes
|
|
53
|
-
|
|
54
|
-
@app.all '/_/method', (request, response) ->
|
|
55
|
-
body = request.method
|
|
56
|
-
response.header 'Content-Type', 'text/plain; charset=utf-8'
|
|
57
|
-
response.header 'Content-Length', body.length.toString()
|
|
58
|
-
response.end body
|
|
59
|
-
|
|
60
|
-
# Echoes the request body. Used to test send(data).
|
|
61
|
-
@app.post '/_/echo', (request, response) ->
|
|
62
|
-
if request.headers['content-type']
|
|
63
|
-
response.header 'Content-Type', request.headers['content-type']
|
|
64
|
-
if request.headers['content-length']
|
|
65
|
-
response.header 'Content-Length', request.headers['content-length']
|
|
66
|
-
|
|
67
|
-
request.on 'data', (chunk) -> response.write chunk
|
|
68
|
-
request.on 'end', -> response.end()
|
|
69
|
-
|
|
70
|
-
# Lists the request headers. Used to test setRequestHeader().
|
|
71
|
-
@app.all '/_/headers', (request, response) ->
|
|
72
|
-
body = JSON.stringify request.headers
|
|
73
|
-
response.header 'Content-Type', 'application/json'
|
|
74
|
-
response.header 'Content-Length', body.length.toString()
|
|
75
|
-
response.end body
|
|
76
|
-
|
|
77
|
-
# Sets the response headers in the request. Used to test getResponse*().
|
|
78
|
-
@app.post '/_/get_headers', (request, response) ->
|
|
79
|
-
jsonString = ''
|
|
80
|
-
request.on 'data', (chunk) -> jsonString += chunk
|
|
81
|
-
request.on 'end', ->
|
|
82
|
-
headers = JSON.parse jsonString
|
|
83
|
-
for name, value of headers
|
|
84
|
-
response.header name, value
|
|
85
|
-
response.header 'Content-Length', '0'
|
|
86
|
-
response.end ''
|
|
87
|
-
|
|
88
|
-
# Sets every response detail. Used for error testing.
|
|
89
|
-
@app.post '/_/response', (request, response) ->
|
|
90
|
-
jsonString = ''
|
|
91
|
-
request.on 'data', (chunk) -> jsonString += chunk
|
|
92
|
-
request.on 'end', ->
|
|
93
|
-
json = JSON.parse jsonString
|
|
94
|
-
response.writeHead json.code, json.status, json.headers
|
|
95
|
-
response.write json.body if json.body
|
|
96
|
-
response.end()
|
|
97
|
-
|
|
98
|
-
# Sends data in small chunks. Used for event testing.
|
|
99
|
-
@app.post '/_/drip', (request, response) ->
|
|
100
|
-
request.connection.setNoDelay()
|
|
101
|
-
jsonString = ''
|
|
102
|
-
request.on 'data', (chunk) -> jsonString += chunk
|
|
103
|
-
request.on 'end', ->
|
|
104
|
-
json = JSON.parse jsonString
|
|
105
|
-
sentDrips = 0
|
|
106
|
-
drip = new Array(json.size + 1).join '.'
|
|
107
|
-
response.header 'Content-Type', 'text/plain'
|
|
108
|
-
if json.length
|
|
109
|
-
response.header 'Content-Length', (json.drips * json.size).toString()
|
|
110
|
-
sendDrip = =>
|
|
111
|
-
response.write drip
|
|
112
|
-
sentDrips += 1
|
|
113
|
-
if sentDrips >= json.drips
|
|
114
|
-
response.end()
|
|
115
|
-
else
|
|
116
|
-
setTimeout sendDrip, json.ms
|
|
117
|
-
sendDrip()
|
|
118
|
-
|
|
119
|
-
# Returns a HTTP redirect. Used to test the redirection handling code.
|
|
120
|
-
@app.all '/_/redirect/:status/:next_page', (request, response) =>
|
|
121
|
-
response.statusCode = parseInt(request.params.status)
|
|
122
|
-
response.header 'Location',
|
|
123
|
-
"http://#{request.get('host')}/_/#{request.params.next_page}"
|
|
124
|
-
body = "<p>This is supposed to have a redirect link</p>"
|
|
125
|
-
response.header 'Content-Type', 'text/html'
|
|
126
|
-
response.header 'Content-Length', body.length.toString()
|
|
127
|
-
response.header 'X-Redirect-Header', 'should not show up'
|
|
128
|
-
response.end body
|
|
129
|
-
|
|
130
|
-
# Requested when the browser test suite completes.
|
|
131
|
-
@app.get '/diediedie', (request, response) =>
|
|
132
|
-
if 'failed' of request.query
|
|
133
|
-
failed = parseInt request.query['failed']
|
|
134
|
-
else
|
|
135
|
-
failed = 1
|
|
136
|
-
total = parseInt request.query['total'] || 0
|
|
137
|
-
passed = total - failed
|
|
138
|
-
exitCode = if failed == 0 then 0 else 1
|
|
139
|
-
console.log "#{passed} passed, #{failed} failed"
|
|
140
|
-
|
|
141
|
-
response.header 'Content-Type', 'image/png'
|
|
142
|
-
response.header 'Content-Length', '0'
|
|
143
|
-
response.end ''
|
|
144
|
-
unless 'NO_EXIT' of process.env
|
|
145
|
-
@server.close()
|
|
146
|
-
process.exit exitCode
|
|
147
|
-
|
|
148
|
-
if @useHttps
|
|
149
|
-
options = key: @sslKey(), cert: @sslCertificate()
|
|
150
|
-
@server = https.createServer options, @app
|
|
151
|
-
else
|
|
152
|
-
@server = http.createServer @app
|
|
153
|
-
@server.listen @port
|
|
154
|
-
|
|
155
|
-
module.exports.https = new XhrServer 8911, true
|
|
156
|
-
module.exports.http = new XhrServer 8912, false
|
|
1
|
+
express = require 'express'
|
|
2
|
+
fs = require 'fs'
|
|
3
|
+
http = require 'http'
|
|
4
|
+
https = require 'https'
|
|
5
|
+
open = require 'open'
|
|
6
|
+
|
|
7
|
+
# express.js server for testing the Web application.
|
|
8
|
+
class XhrServer
|
|
9
|
+
# Starts up a HTTP server.
|
|
10
|
+
constructor: (@port, @useHttps) ->
|
|
11
|
+
@createApp()
|
|
12
|
+
|
|
13
|
+
# Opens the test URL in a browser.
|
|
14
|
+
openBrowser: (appName) ->
|
|
15
|
+
open @testUrl(), appName
|
|
16
|
+
|
|
17
|
+
# The URL that should be used to start the tests.
|
|
18
|
+
testUrl: ->
|
|
19
|
+
"https://localhost:#{@port}/test/html/browser_test.html"
|
|
20
|
+
|
|
21
|
+
# The self-signed certificate used by this server.
|
|
22
|
+
sslCertificate: ->
|
|
23
|
+
return null unless @useHttps
|
|
24
|
+
keyMaterial = fs.readFileSync 'test/ssl/cert.pem', 'utf8'
|
|
25
|
+
certIndex = keyMaterial.indexOf '-----BEGIN CERTIFICATE-----'
|
|
26
|
+
keyMaterial.substring certIndex
|
|
27
|
+
|
|
28
|
+
# The key for the self-signed certificate used by this server.
|
|
29
|
+
sslKey: ->
|
|
30
|
+
return null unless @useHttps
|
|
31
|
+
keyMaterial = fs.readFileSync 'test/ssl/cert.pem', 'utf8'
|
|
32
|
+
certIndex = keyMaterial.indexOf '-----BEGIN CERTIFICATE-----'
|
|
33
|
+
keyMaterial.substring 0, certIndex
|
|
34
|
+
|
|
35
|
+
# The server code.
|
|
36
|
+
createApp: ->
|
|
37
|
+
@app = express()
|
|
38
|
+
|
|
39
|
+
## Middleware.
|
|
40
|
+
|
|
41
|
+
# CORS headers on everything, in case that ever gets implemented.
|
|
42
|
+
@app.use (request, response, next) ->
|
|
43
|
+
response.header 'Access-Control-Allow-Origin', '*'
|
|
44
|
+
response.header 'Access-Control-Allow-Methods', 'DELETE,GET,POST,PUT'
|
|
45
|
+
response.header 'Access-Control-Allow-Headers',
|
|
46
|
+
'Content-Type, Authorization'
|
|
47
|
+
next()
|
|
48
|
+
|
|
49
|
+
@app.use express.static(fs.realpathSync(__dirname + '/../../../'),
|
|
50
|
+
{ dotfiles: 'allow' })
|
|
51
|
+
|
|
52
|
+
## Routes
|
|
53
|
+
|
|
54
|
+
@app.all '/_/method', (request, response) ->
|
|
55
|
+
body = request.method
|
|
56
|
+
response.header 'Content-Type', 'text/plain; charset=utf-8'
|
|
57
|
+
response.header 'Content-Length', body.length.toString()
|
|
58
|
+
response.end body
|
|
59
|
+
|
|
60
|
+
# Echoes the request body. Used to test send(data).
|
|
61
|
+
@app.post '/_/echo', (request, response) ->
|
|
62
|
+
if request.headers['content-type']
|
|
63
|
+
response.header 'Content-Type', request.headers['content-type']
|
|
64
|
+
if request.headers['content-length']
|
|
65
|
+
response.header 'Content-Length', request.headers['content-length']
|
|
66
|
+
|
|
67
|
+
request.on 'data', (chunk) -> response.write chunk
|
|
68
|
+
request.on 'end', -> response.end()
|
|
69
|
+
|
|
70
|
+
# Lists the request headers. Used to test setRequestHeader().
|
|
71
|
+
@app.all '/_/headers', (request, response) ->
|
|
72
|
+
body = JSON.stringify request.headers
|
|
73
|
+
response.header 'Content-Type', 'application/json'
|
|
74
|
+
response.header 'Content-Length', body.length.toString()
|
|
75
|
+
response.end body
|
|
76
|
+
|
|
77
|
+
# Sets the response headers in the request. Used to test getResponse*().
|
|
78
|
+
@app.post '/_/get_headers', (request, response) ->
|
|
79
|
+
jsonString = ''
|
|
80
|
+
request.on 'data', (chunk) -> jsonString += chunk
|
|
81
|
+
request.on 'end', ->
|
|
82
|
+
headers = JSON.parse jsonString
|
|
83
|
+
for name, value of headers
|
|
84
|
+
response.header name, value
|
|
85
|
+
response.header 'Content-Length', '0'
|
|
86
|
+
response.end ''
|
|
87
|
+
|
|
88
|
+
# Sets every response detail. Used for error testing.
|
|
89
|
+
@app.post '/_/response', (request, response) ->
|
|
90
|
+
jsonString = ''
|
|
91
|
+
request.on 'data', (chunk) -> jsonString += chunk
|
|
92
|
+
request.on 'end', ->
|
|
93
|
+
json = JSON.parse jsonString
|
|
94
|
+
response.writeHead json.code, json.status, json.headers
|
|
95
|
+
response.write json.body if json.body
|
|
96
|
+
response.end()
|
|
97
|
+
|
|
98
|
+
# Sends data in small chunks. Used for event testing.
|
|
99
|
+
@app.post '/_/drip', (request, response) ->
|
|
100
|
+
request.connection.setNoDelay()
|
|
101
|
+
jsonString = ''
|
|
102
|
+
request.on 'data', (chunk) -> jsonString += chunk
|
|
103
|
+
request.on 'end', ->
|
|
104
|
+
json = JSON.parse jsonString
|
|
105
|
+
sentDrips = 0
|
|
106
|
+
drip = new Array(json.size + 1).join '.'
|
|
107
|
+
response.header 'Content-Type', 'text/plain'
|
|
108
|
+
if json.length
|
|
109
|
+
response.header 'Content-Length', (json.drips * json.size).toString()
|
|
110
|
+
sendDrip = =>
|
|
111
|
+
response.write drip
|
|
112
|
+
sentDrips += 1
|
|
113
|
+
if sentDrips >= json.drips
|
|
114
|
+
response.end()
|
|
115
|
+
else
|
|
116
|
+
setTimeout sendDrip, json.ms
|
|
117
|
+
sendDrip()
|
|
118
|
+
|
|
119
|
+
# Returns a HTTP redirect. Used to test the redirection handling code.
|
|
120
|
+
@app.all '/_/redirect/:status/:next_page', (request, response) =>
|
|
121
|
+
response.statusCode = parseInt(request.params.status)
|
|
122
|
+
response.header 'Location',
|
|
123
|
+
"http://#{request.get('host')}/_/#{request.params.next_page}"
|
|
124
|
+
body = "<p>This is supposed to have a redirect link</p>"
|
|
125
|
+
response.header 'Content-Type', 'text/html'
|
|
126
|
+
response.header 'Content-Length', body.length.toString()
|
|
127
|
+
response.header 'X-Redirect-Header', 'should not show up'
|
|
128
|
+
response.end body
|
|
129
|
+
|
|
130
|
+
# Requested when the browser test suite completes.
|
|
131
|
+
@app.get '/diediedie', (request, response) =>
|
|
132
|
+
if 'failed' of request.query
|
|
133
|
+
failed = parseInt request.query['failed']
|
|
134
|
+
else
|
|
135
|
+
failed = 1
|
|
136
|
+
total = parseInt request.query['total'] || 0
|
|
137
|
+
passed = total - failed
|
|
138
|
+
exitCode = if failed == 0 then 0 else 1
|
|
139
|
+
console.log "#{passed} passed, #{failed} failed"
|
|
140
|
+
|
|
141
|
+
response.header 'Content-Type', 'image/png'
|
|
142
|
+
response.header 'Content-Length', '0'
|
|
143
|
+
response.end ''
|
|
144
|
+
unless 'NO_EXIT' of process.env
|
|
145
|
+
@server.close()
|
|
146
|
+
process.exit exitCode
|
|
147
|
+
|
|
148
|
+
if @useHttps
|
|
149
|
+
options = key: @sslKey(), cert: @sslCertificate()
|
|
150
|
+
@server = https.createServer options, @app
|
|
151
|
+
else
|
|
152
|
+
@server = http.createServer @app
|
|
153
|
+
@server.listen @port
|
|
154
|
+
|
|
155
|
+
module.exports.https = new XhrServer 8911, true
|
|
156
|
+
module.exports.http = new XhrServer 8912, false
|
|
@@ -1,162 +1,162 @@
|
|
|
1
|
-
describe 'XMLHttpRequest', ->
|
|
2
|
-
describe '.nodejsSet', ->
|
|
3
|
-
beforeEach ->
|
|
4
|
-
@xhr = new XMLHttpRequest
|
|
5
|
-
@customXhr = new XMLHttpRequest
|
|
6
|
-
|
|
7
|
-
describe 'with a httpAgent option', ->
|
|
8
|
-
beforeEach ->
|
|
9
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
10
|
-
|
|
11
|
-
@customAgent = { custom: 'httpAgent' }
|
|
12
|
-
@customXhr.nodejsHttpAgent = @customAgent
|
|
13
|
-
|
|
14
|
-
@default = XMLHttpRequest::nodejsHttpAgent
|
|
15
|
-
@agent = { mocking: 'httpAgent' }
|
|
16
|
-
XMLHttpRequest.nodejsSet httpAgent: @agent
|
|
17
|
-
|
|
18
|
-
it 'sets the default nodejsHttpAgent', ->
|
|
19
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
20
|
-
expect(@xhr.nodejsHttpAgent).to.equal @agent
|
|
21
|
-
|
|
22
|
-
it 'does not interfere with custom nodejsHttpAgent settings', ->
|
|
23
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
24
|
-
expect(@customXhr.nodejsHttpAgent).to.equal @customAgent
|
|
25
|
-
|
|
26
|
-
afterEach ->
|
|
27
|
-
XMLHttpRequest.nodejsSet httpAgent: @default
|
|
28
|
-
|
|
29
|
-
describe 'with a httpsAgent option', ->
|
|
30
|
-
beforeEach ->
|
|
31
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
32
|
-
|
|
33
|
-
@customAgent = { custom: 'httpsAgent' }
|
|
34
|
-
@customXhr.nodejsHttpsAgent = @customAgent
|
|
35
|
-
|
|
36
|
-
@default = XMLHttpRequest::nodejsHttpsAgent
|
|
37
|
-
@agent = { mocking: 'httpsAgent' }
|
|
38
|
-
XMLHttpRequest.nodejsSet httpsAgent: @agent
|
|
39
|
-
|
|
40
|
-
it 'sets the default nodejsHttpsAgent', ->
|
|
41
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
42
|
-
expect(@xhr.nodejsHttpsAgent).to.equal @agent
|
|
43
|
-
|
|
44
|
-
it 'does not interfere with custom nodejsHttpsAgent settings', ->
|
|
45
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
46
|
-
expect(@customXhr.nodejsHttpsAgent).to.equal @customAgent
|
|
47
|
-
|
|
48
|
-
afterEach ->
|
|
49
|
-
XMLHttpRequest.nodejsSet httpsAgent: @default
|
|
50
|
-
|
|
51
|
-
describe 'with a baseUrl option', ->
|
|
52
|
-
beforeEach ->
|
|
53
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
54
|
-
|
|
55
|
-
@customBaseUrl = 'http://custom.url/base'
|
|
56
|
-
@customXhr.nodejsBaseUrl = @customBaseUrl
|
|
57
|
-
|
|
58
|
-
@default = XMLHttpRequest::nodejsBaseUrl
|
|
59
|
-
@baseUrl = 'http://localhost/base'
|
|
60
|
-
XMLHttpRequest.nodejsSet baseUrl: @baseUrl
|
|
61
|
-
|
|
62
|
-
it 'sets the default nodejsBaseUrl', ->
|
|
63
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
64
|
-
expect(@xhr.nodejsBaseUrl).to.equal @baseUrl
|
|
65
|
-
|
|
66
|
-
it 'does not interfere with custom nodejsBaseUrl settings', ->
|
|
67
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
68
|
-
expect(@customXhr.nodejsBaseUrl).to.equal @customBaseUrl
|
|
69
|
-
|
|
70
|
-
afterEach ->
|
|
71
|
-
XMLHttpRequest.nodejsSet baseUrl: @default
|
|
72
|
-
|
|
73
|
-
describe '#nodejsSet', ->
|
|
74
|
-
beforeEach ->
|
|
75
|
-
@xhr = new XMLHttpRequest
|
|
76
|
-
@customXhr = new XMLHttpRequest
|
|
77
|
-
|
|
78
|
-
describe 'with a httpAgent option', ->
|
|
79
|
-
beforeEach ->
|
|
80
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
81
|
-
|
|
82
|
-
@customAgent = { custom: 'httpAgent' }
|
|
83
|
-
@customXhr.nodejsSet httpAgent: @customAgent
|
|
84
|
-
|
|
85
|
-
it 'sets nodejsHttpAgent on the XHR instance', ->
|
|
86
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
87
|
-
expect(@customXhr.nodejsHttpAgent).to.equal @customAgent
|
|
88
|
-
|
|
89
|
-
it 'does not interfere with default nodejsHttpAgent settings', ->
|
|
90
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
91
|
-
expect(@xhr.nodejsHttpAgent).not.to.equal @customAgent
|
|
92
|
-
|
|
93
|
-
describe 'with a httpsAgent option', ->
|
|
94
|
-
beforeEach ->
|
|
95
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
96
|
-
|
|
97
|
-
@customAgent = { custom: 'httpsAgent' }
|
|
98
|
-
@customXhr.nodejsSet httpsAgent: @customAgent
|
|
99
|
-
|
|
100
|
-
it 'sets nodejsHttpsAgent on the XHR instance', ->
|
|
101
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
102
|
-
expect(@customXhr.nodejsHttpsAgent).to.equal @customAgent
|
|
103
|
-
|
|
104
|
-
it 'does not interfere with default nodejsHttpsAgent settings', ->
|
|
105
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
106
|
-
expect(@xhr.nodejsHttpsAgent).not.to.equal @customAgent
|
|
107
|
-
|
|
108
|
-
describe 'base URL parsing', ->
|
|
109
|
-
beforeEach ->
|
|
110
|
-
@xhr = new XMLHttpRequest
|
|
111
|
-
|
|
112
|
-
describe 'with null baseUrl', ->
|
|
113
|
-
beforeEach ->
|
|
114
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
115
|
-
@xhr.nodejsSet baseUrl: null
|
|
116
|
-
|
|
117
|
-
it 'parses an absolute URL', ->
|
|
118
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
119
|
-
parsedUrl = @xhr._parseUrl('http://www.domain.com/path')
|
|
120
|
-
expect(parsedUrl).to.be.ok
|
|
121
|
-
expect(parsedUrl).to.have.property 'href'
|
|
122
|
-
expect(parsedUrl.href).to.equal 'http://www.domain.com/path'
|
|
123
|
-
|
|
124
|
-
describe 'with a (protocol, domain, filePath) baseUrl', ->
|
|
125
|
-
beforeEach ->
|
|
126
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
127
|
-
@xhr.nodejsSet baseUrl: 'https://base.url/dir/file.html'
|
|
128
|
-
|
|
129
|
-
it 'parses an absolute URL', ->
|
|
130
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
131
|
-
parsedUrl = @xhr._parseUrl('http://www.domain.com/path')
|
|
132
|
-
expect(parsedUrl).to.be.ok
|
|
133
|
-
expect(parsedUrl).to.have.property 'href'
|
|
134
|
-
expect(parsedUrl.href).to.equal 'http://www.domain.com/path'
|
|
135
|
-
|
|
136
|
-
it 'parses a path-relative URL', ->
|
|
137
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
138
|
-
parsedUrl = @xhr._parseUrl('path/to.js')
|
|
139
|
-
expect(parsedUrl).to.be.ok
|
|
140
|
-
expect(parsedUrl).to.have.property 'href'
|
|
141
|
-
expect(parsedUrl.href).to.equal 'https://base.url/dir/path/to.js'
|
|
142
|
-
|
|
143
|
-
it 'parses a path-relative URL with ..', ->
|
|
144
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
145
|
-
parsedUrl = @xhr._parseUrl('../path/to.js')
|
|
146
|
-
expect(parsedUrl).to.be.ok
|
|
147
|
-
expect(parsedUrl).to.have.property 'href'
|
|
148
|
-
expect(parsedUrl.href).to.equal 'https://base.url/path/to.js'
|
|
149
|
-
|
|
150
|
-
it 'parses a host-relative URL', ->
|
|
151
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
152
|
-
parsedUrl = @xhr._parseUrl('/path/to.js')
|
|
153
|
-
expect(parsedUrl).to.be.ok
|
|
154
|
-
expect(parsedUrl).to.have.property 'href'
|
|
155
|
-
expect(parsedUrl.href).to.equal 'https://base.url/path/to.js'
|
|
156
|
-
|
|
157
|
-
it 'parses a protocol-relative URL', ->
|
|
158
|
-
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
159
|
-
parsedUrl = @xhr._parseUrl('//domain.com/path/to.js')
|
|
160
|
-
expect(parsedUrl).to.be.ok
|
|
161
|
-
expect(parsedUrl).to.have.property 'href'
|
|
162
|
-
expect(parsedUrl.href).to.equal 'https://domain.com/path/to.js'
|
|
1
|
+
describe 'XMLHttpRequest', ->
|
|
2
|
+
describe '.nodejsSet', ->
|
|
3
|
+
beforeEach ->
|
|
4
|
+
@xhr = new XMLHttpRequest
|
|
5
|
+
@customXhr = new XMLHttpRequest
|
|
6
|
+
|
|
7
|
+
describe 'with a httpAgent option', ->
|
|
8
|
+
beforeEach ->
|
|
9
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
10
|
+
|
|
11
|
+
@customAgent = { custom: 'httpAgent' }
|
|
12
|
+
@customXhr.nodejsHttpAgent = @customAgent
|
|
13
|
+
|
|
14
|
+
@default = XMLHttpRequest::nodejsHttpAgent
|
|
15
|
+
@agent = { mocking: 'httpAgent' }
|
|
16
|
+
XMLHttpRequest.nodejsSet httpAgent: @agent
|
|
17
|
+
|
|
18
|
+
it 'sets the default nodejsHttpAgent', ->
|
|
19
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
20
|
+
expect(@xhr.nodejsHttpAgent).to.equal @agent
|
|
21
|
+
|
|
22
|
+
it 'does not interfere with custom nodejsHttpAgent settings', ->
|
|
23
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
24
|
+
expect(@customXhr.nodejsHttpAgent).to.equal @customAgent
|
|
25
|
+
|
|
26
|
+
afterEach ->
|
|
27
|
+
XMLHttpRequest.nodejsSet httpAgent: @default
|
|
28
|
+
|
|
29
|
+
describe 'with a httpsAgent option', ->
|
|
30
|
+
beforeEach ->
|
|
31
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
32
|
+
|
|
33
|
+
@customAgent = { custom: 'httpsAgent' }
|
|
34
|
+
@customXhr.nodejsHttpsAgent = @customAgent
|
|
35
|
+
|
|
36
|
+
@default = XMLHttpRequest::nodejsHttpsAgent
|
|
37
|
+
@agent = { mocking: 'httpsAgent' }
|
|
38
|
+
XMLHttpRequest.nodejsSet httpsAgent: @agent
|
|
39
|
+
|
|
40
|
+
it 'sets the default nodejsHttpsAgent', ->
|
|
41
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
42
|
+
expect(@xhr.nodejsHttpsAgent).to.equal @agent
|
|
43
|
+
|
|
44
|
+
it 'does not interfere with custom nodejsHttpsAgent settings', ->
|
|
45
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
46
|
+
expect(@customXhr.nodejsHttpsAgent).to.equal @customAgent
|
|
47
|
+
|
|
48
|
+
afterEach ->
|
|
49
|
+
XMLHttpRequest.nodejsSet httpsAgent: @default
|
|
50
|
+
|
|
51
|
+
describe 'with a baseUrl option', ->
|
|
52
|
+
beforeEach ->
|
|
53
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
54
|
+
|
|
55
|
+
@customBaseUrl = 'http://custom.url/base'
|
|
56
|
+
@customXhr.nodejsBaseUrl = @customBaseUrl
|
|
57
|
+
|
|
58
|
+
@default = XMLHttpRequest::nodejsBaseUrl
|
|
59
|
+
@baseUrl = 'http://localhost/base'
|
|
60
|
+
XMLHttpRequest.nodejsSet baseUrl: @baseUrl
|
|
61
|
+
|
|
62
|
+
it 'sets the default nodejsBaseUrl', ->
|
|
63
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
64
|
+
expect(@xhr.nodejsBaseUrl).to.equal @baseUrl
|
|
65
|
+
|
|
66
|
+
it 'does not interfere with custom nodejsBaseUrl settings', ->
|
|
67
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
68
|
+
expect(@customXhr.nodejsBaseUrl).to.equal @customBaseUrl
|
|
69
|
+
|
|
70
|
+
afterEach ->
|
|
71
|
+
XMLHttpRequest.nodejsSet baseUrl: @default
|
|
72
|
+
|
|
73
|
+
describe '#nodejsSet', ->
|
|
74
|
+
beforeEach ->
|
|
75
|
+
@xhr = new XMLHttpRequest
|
|
76
|
+
@customXhr = new XMLHttpRequest
|
|
77
|
+
|
|
78
|
+
describe 'with a httpAgent option', ->
|
|
79
|
+
beforeEach ->
|
|
80
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
81
|
+
|
|
82
|
+
@customAgent = { custom: 'httpAgent' }
|
|
83
|
+
@customXhr.nodejsSet httpAgent: @customAgent
|
|
84
|
+
|
|
85
|
+
it 'sets nodejsHttpAgent on the XHR instance', ->
|
|
86
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
87
|
+
expect(@customXhr.nodejsHttpAgent).to.equal @customAgent
|
|
88
|
+
|
|
89
|
+
it 'does not interfere with default nodejsHttpAgent settings', ->
|
|
90
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
91
|
+
expect(@xhr.nodejsHttpAgent).not.to.equal @customAgent
|
|
92
|
+
|
|
93
|
+
describe 'with a httpsAgent option', ->
|
|
94
|
+
beforeEach ->
|
|
95
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
96
|
+
|
|
97
|
+
@customAgent = { custom: 'httpsAgent' }
|
|
98
|
+
@customXhr.nodejsSet httpsAgent: @customAgent
|
|
99
|
+
|
|
100
|
+
it 'sets nodejsHttpsAgent on the XHR instance', ->
|
|
101
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
102
|
+
expect(@customXhr.nodejsHttpsAgent).to.equal @customAgent
|
|
103
|
+
|
|
104
|
+
it 'does not interfere with default nodejsHttpsAgent settings', ->
|
|
105
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
106
|
+
expect(@xhr.nodejsHttpsAgent).not.to.equal @customAgent
|
|
107
|
+
|
|
108
|
+
describe 'base URL parsing', ->
|
|
109
|
+
beforeEach ->
|
|
110
|
+
@xhr = new XMLHttpRequest
|
|
111
|
+
|
|
112
|
+
describe 'with null baseUrl', ->
|
|
113
|
+
beforeEach ->
|
|
114
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
115
|
+
@xhr.nodejsSet baseUrl: null
|
|
116
|
+
|
|
117
|
+
it 'parses an absolute URL', ->
|
|
118
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
119
|
+
parsedUrl = @xhr._parseUrl('http://www.domain.com/path')
|
|
120
|
+
expect(parsedUrl).to.be.ok
|
|
121
|
+
expect(parsedUrl).to.have.property 'href'
|
|
122
|
+
expect(parsedUrl.href).to.equal 'http://www.domain.com/path'
|
|
123
|
+
|
|
124
|
+
describe 'with a (protocol, domain, filePath) baseUrl', ->
|
|
125
|
+
beforeEach ->
|
|
126
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
127
|
+
@xhr.nodejsSet baseUrl: 'https://base.url/dir/file.html'
|
|
128
|
+
|
|
129
|
+
it 'parses an absolute URL', ->
|
|
130
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
131
|
+
parsedUrl = @xhr._parseUrl('http://www.domain.com/path')
|
|
132
|
+
expect(parsedUrl).to.be.ok
|
|
133
|
+
expect(parsedUrl).to.have.property 'href'
|
|
134
|
+
expect(parsedUrl.href).to.equal 'http://www.domain.com/path'
|
|
135
|
+
|
|
136
|
+
it 'parses a path-relative URL', ->
|
|
137
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
138
|
+
parsedUrl = @xhr._parseUrl('path/to.js')
|
|
139
|
+
expect(parsedUrl).to.be.ok
|
|
140
|
+
expect(parsedUrl).to.have.property 'href'
|
|
141
|
+
expect(parsedUrl.href).to.equal 'https://base.url/dir/path/to.js'
|
|
142
|
+
|
|
143
|
+
it 'parses a path-relative URL with ..', ->
|
|
144
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
145
|
+
parsedUrl = @xhr._parseUrl('../path/to.js')
|
|
146
|
+
expect(parsedUrl).to.be.ok
|
|
147
|
+
expect(parsedUrl).to.have.property 'href'
|
|
148
|
+
expect(parsedUrl.href).to.equal 'https://base.url/path/to.js'
|
|
149
|
+
|
|
150
|
+
it 'parses a host-relative URL', ->
|
|
151
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
152
|
+
parsedUrl = @xhr._parseUrl('/path/to.js')
|
|
153
|
+
expect(parsedUrl).to.be.ok
|
|
154
|
+
expect(parsedUrl).to.have.property 'href'
|
|
155
|
+
expect(parsedUrl.href).to.equal 'https://base.url/path/to.js'
|
|
156
|
+
|
|
157
|
+
it 'parses a protocol-relative URL', ->
|
|
158
|
+
return unless XMLHttpRequest.nodejsSet # Skip in browsers.
|
|
159
|
+
parsedUrl = @xhr._parseUrl('//domain.com/path/to.js')
|
|
160
|
+
expect(parsedUrl).to.be.ok
|
|
161
|
+
expect(parsedUrl).to.have.property 'href'
|
|
162
|
+
expect(parsedUrl.href).to.equal 'https://domain.com/path/to.js'
|