├── .nvmrc ├── .bowerrc ├── .gitignore ├── source ├── app │ ├── logger.coffee │ ├── main.coffee │ ├── custom_sinon.coffee │ ├── request_status.coffee │ ├── mock.coffee │ └── plasticine.coffee └── test │ ├── index.html │ ├── spec │ ├── plasticine.coffee │ ├── modify_request.coffee │ └── fake_request.coffee │ └── config.coffee ├── .editorconfig ├── bower.json ├── LICENSE-MIT ├── package.json ├── CHANGELOG.md ├── grunt_tasks └── spec.coffee ├── README.md ├── Gruntfile.coffee └── dist └── plasticine.js /.nvmrc: -------------------------------------------------------------------------------- 1 | 0.10.24 2 | -------------------------------------------------------------------------------- /.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "components" 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .tmp/ 3 | components/ 4 | -------------------------------------------------------------------------------- /source/app/logger.coffee: -------------------------------------------------------------------------------- 1 | Signal = require 'signals' 2 | 3 | module.exports = 4 | debug : new Signal() 5 | warn : new Signal() 6 | error : new Signal() 7 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | -------------------------------------------------------------------------------- /source/app/main.coffee: -------------------------------------------------------------------------------- 1 | require.config 2 | name: 'plasticine' 3 | paths: 4 | 'crossroads' : '../components/crossroads.js/dist/crossroads' 5 | 'signals' : '../components/crossroads.js/dev/lib/signals' 6 | packages: [ 7 | { 8 | name: 'lodash' 9 | location: '../components/lodash-amd/modern' 10 | } 11 | ] 12 | -------------------------------------------------------------------------------- /source/app/custom_sinon.coffee: -------------------------------------------------------------------------------- 1 | root = this 2 | previous_sinon = root.sinon 3 | sinon = 4 | noConflict: -> 5 | root.sinon = previous_sinon 6 | return this 7 | extend: require('lodash/objects/assign') 8 | 9 | `/* @include ../components/sinon/lib/sinon/util/event.js */` 10 | `/* @include ../components/sinon/lib/sinon/util/fake_xml_http_request.js */` 11 | 12 | module.exports = sinon.noConflict() 13 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "plasticine", 3 | "version": "0.1.3", 4 | "main": "dist/plasticine.js", 5 | "dependencies": { 6 | "almond": "0.2.9", 7 | "crossroads.js": "0.12.0", 8 | "lodash-amd":"2.4.1" 9 | }, 10 | "devDependencies": { 11 | "requirejs": "2.1.14", 12 | "mocha": "1.20.1", 13 | "sinon-chai": "2.5.0", 14 | "sinon": "1.10.2", 15 | "chai":"1.9.1", 16 | "jquery":"2.1.1" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /source/app/request_status.coffee: -------------------------------------------------------------------------------- 1 | sinon = require './custom_sinon' 2 | 3 | module.exports = 4 | isUnset: (request) -> 5 | request.readyState is sinon.FakeXMLHttpRequest.UNSET 6 | isOpened: (request) -> 7 | request.readyState is sinon.FakeXMLHttpRequest.OPENED 8 | isHeadersReceived: (request) -> 9 | request.readyState is sinon.FakeXMLHttpRequest.HEADERS_RECEIVED 10 | isLoading: (request) -> 11 | request.readyState is sinon.FakeXMLHttpRequest.LOADING 12 | isDone: (request) -> 13 | request.readyState is sinon.FakeXMLHttpRequest.DONE 14 | -------------------------------------------------------------------------------- /source/test/index.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 | 5 |