• Sean Hammond's avatar
    Read annotations from the host page in settings.annotations() · dc1801f4
    Sean Hammond authored
    Add code to the `settings.annotations()` method so that, instead of
    reading the setting from the URL only, it reads the annotations setting
    from the `js-hypothesis-config` scripts in the host page or, failing
    that, tries to read it from the URL.
    
    In `index.js`, after `settings.annotations()` is called, there are two
    `Object.assign()` calls that overwrite values already in the `config`
    objects with any returned from `js-hypothesis-config` scripts or the
    `window.hypothesisConfig()` function in the host page. So a
    `config.annotations` setting from `settings.annotations()` already gets
    overwritten by a `annotations` setting in a `js-hypothesis-config`
    script or `hypothesisConfig()` function.
    
    This commit makes that overwriting explicit, encapsulates it in the
    `annotations()` method, and unit tests it.
    
    Note that the two `Object.assign()`s are still present in `index.js` so
    the `config.annotations` setting returned by the `annotations()` method
    still gets overwritten by them, but this now has no effect as the
    `annotations()` method will already have set `config.annotations` to the
    same value that it will be overwritten with.
    
    In a future commit the `Object.assign()`s will be removed and there
    won't be any overwriting.
    
    Note that **this will change the behaviour of the code** once the
    `Object.assign()`s have been removed: the `annotations()` method reads
    the annotations setting from `js-hypothesis-config` scripts but does not
    read it from `window.hypothesisConfig()` any longer. I don't believe
    it's necessary to read `annotations` from `hypothesisConfig()`.
    dc1801f4
Name
Last commit
Last update
.github Loading commit data...
docs Loading commit data...
images Loading commit data...
scripts Loading commit data...
src Loading commit data...
.babelrc Loading commit data...
.eslintignore Loading commit data...
.eslintrc Loading commit data...
.gitignore Loading commit data...
.npmignore Loading commit data...
.npmrc Loading commit data...
.travis.yml Loading commit data...
CHANGELOG.md Loading commit data...
CODE_OF_CONDUCT Loading commit data...
Jenkinsfile Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
gulpfile.js Loading commit data...
package.json Loading commit data...
requirements-dev.in Loading commit data...
yarn.lock Loading commit data...