Comments (12)
uh oh - will check this out ASAP.
from machina.js.
@dominicbarnes any chance you can provide a failing scenario? First pass with your example above:
from machina.js.
@dominicbarnes One more screen shot:
from machina.js.
Odd, I'm definitely having an issue here, but evidently I didn't get the reproduction steps right. I'll narrow this down asap
from machina.js.
Hi @dominicbarnes hope things are well - just wanted to see if you figured out what the issue was?
from machina.js.
Aha! I finally was able to reproduce this! It only happens when the FSM that you are creating via extend has a states
object of it's own. Here's my newest spec to demonstrate the problem:
describe( "When extending instances with an initialState property", function() {
it( "should properly set the initialState on the children FSMs", function() {
var Base = machina.Fsm.extend({
initialState: "hidden",
states: {
hidden: {}
}
});
var Sub = Base.extend({
// if the line below is commented out... the tests pass
states: {}
});
var fsm = new Sub();
expect(fsm.initialState).to.equal("hidden");
expect(fsm.state).to.equal("hidden");
});
});
Currently, using v0.3.7
, I get the following result:
0 passing (8ms)
1 failing
1) machina.Fsm When extending instances with an initialState property should properly set the initialState on the children FSMs:
Error: expected 'uninitialized' to equal 'hidden'
from machina.js.
Good deal - I'm going to plug this spec in and then get it fixed. Thanks!
from machina.js.
@dominicbarnes OK - I believe I've got this resolved. When you get a sec, pull the v0.3.8 branch: https://github.com/ifandelse/machina.js/tree/v0.3.8. Your test has been added to the specs, and it's passing. I'll publish this to master & npm once I hear that it's working for you. Thanks!
from machina.js.
Looks like this all works! Publish away! :D
from machina.js.
Awesome - thanks for your patience through all of this.
from machina.js.
Thank you for your patience with me as well :)
from machina.js.
forgot to close this after I published... ;-)
from machina.js.
Related Issues (20)
- How to modularize machinaJS fsm with hundreds of states HOT 1
- Repo Status (tl;dr - `Alive`) :-)
- Edge Case: Deferred calls can have the wrong context in `processQueue` HOT 4
- Accepting multiple states for deferUntilTransition HOT 2
- Update GitHub Pages
- Multi-level hierarchical FSMs are not properly reset
- Should FSM throw an error when trying handle unknown transition? HOT 1
- Error dealing mechanism
- Bump lodash version to >=4.17.5 due to audit security vulnerabilities HOT 4
- TypeScript Declaration File HOT 9
- Please update the lodash dependency. HOT 1
- How would I handle this? HOT 2
- machina.js Concepts? HOT 1
- Intended use of 'timeout' member
- Clarity around BehavioralFSM and events
- Machina not uniquely handling timers for concurrent users HOT 1
- Licensing Question HOT 1
- I'll submit a PR if you confirm this is a bug
- Typo in README HOT 3
- Wait for FSM to be in State
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from machina.js.