mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-16 19:09:18 +08:00
Add tests for connect-livereload
This commit is contained in:
69
connect-livereload/connect-livereload-tests.ts
Normal file
69
connect-livereload/connect-livereload-tests.ts
Normal file
@@ -0,0 +1,69 @@
|
||||
/// <reference path="./connect-livereload.d.ts" />
|
||||
|
||||
import * as connect from "connect";
|
||||
import * as livereload from "connect-livereload";
|
||||
|
||||
const app = connect();
|
||||
|
||||
// With no options
|
||||
app.use(livereload());
|
||||
|
||||
// With string options
|
||||
app.use(livereload({
|
||||
port: 35729,
|
||||
ignore: [".js", ".svg"]
|
||||
}));
|
||||
|
||||
// With RegExp options
|
||||
app.use(livereload({
|
||||
port: 35729,
|
||||
ignore: [/\.js(\?.*)?$/, /\.css(\?.*)?$/]
|
||||
}));
|
||||
|
||||
// With default options
|
||||
app.use(livereload({
|
||||
ignore: [
|
||||
/\.js(\?.*)?$/, /\.css(\?.*)?$/, /\.svg(\?.*)?$/, /\.ico(\?.*)?$/, /\.woff(\?.*)?$/,
|
||||
/\.png(\?.*)?$/, /\.jpg(\?.*)?$/, /\.jpeg(\?.*)?$/, /\.gif(\?.*)?$/, /\.pdf(\?.*)?$/
|
||||
],
|
||||
|
||||
// include all urls by default
|
||||
include: [/.*/],
|
||||
|
||||
// this function is used to determine if the content of `res.write` or `res.end` is html.
|
||||
html: function (str) {
|
||||
if (!str) return false;
|
||||
return /<[:_-\w\s\!\/\=\"\']+>/i.test(str);
|
||||
},
|
||||
|
||||
// rules are provided to find the place where the snippet should be inserted.
|
||||
// the main problem is that on the server side it can be tricky to determine if a string will be valid html on the client.
|
||||
// the function `fn` of the first `match` is executed like this `body.replace(rule.match, rule.fn);`
|
||||
// the function `fn` has got the arguments `fn(w, s)` where `w` is the matches string and `s` is the snippet.
|
||||
rules: [{
|
||||
match: /<\/body>(?![\s\S]*<\/body>)/i,
|
||||
fn: prepend
|
||||
}, {
|
||||
match: /<\/html>(?![\s\S]*<\/html>)/i,
|
||||
fn: prepend
|
||||
}, {
|
||||
match: /<\!DOCTYPE.+?>/i,
|
||||
fn: append
|
||||
}],
|
||||
|
||||
// port where the script is loaded
|
||||
port: 35729,
|
||||
|
||||
// location where the script is provided (not by connect-livereload). Change this e.g. when serving livereload with a proxy.
|
||||
src: "http://localhost:35729/livereload.js?snipver=1",
|
||||
|
||||
// Set this option to `true` to set `req.headers['accept-encoding']` to 'identity' (disabling compression)
|
||||
disableCompression: false
|
||||
}));
|
||||
|
||||
function prepend(w: string, s: string): string {
|
||||
return s + w;
|
||||
}
|
||||
function append(w: string, s: string): string {
|
||||
return w + s;
|
||||
}
|
||||
Reference in New Issue
Block a user