yui/yui3 — pull request #1198 by ericf (2013-09-16 22:31:39+00:00)
Title: Enforce a router's `root` as its mount point

This enforces routers with a specified `root` to only consider paths as matching its route handles if that path is semantically within the router's `root` path. For example:

```js
router.set('root', '/app/');

router.hasRoute('/app/'); // => true
router.hasRoute('/app/foo'); // => true
router.hasRoute('/bar/'); // => false
```

This change fixes some issues with paths being erroneously considered matching even when they were not semantically within the router's `root` path.

The `getPath()` method now returns the _full_ current path, whereas before it returned the current path relative to the router's `root`. This mean that `req.path` is now the full path and is no long relative to the router's `root`.

These changes will break backwards compatibility with some apps, but fix some fundamental issues with how Y.Router handled `root` paths.

Fixes #1083