Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tree: 649d3386c8
Fetching contributors…

Cannot retrieve contributors at this time

91 lines (51 sloc) 2.868 kB
== Finish basic saving ==
Create smoke test to make sure TESTING_ONLY variable isn't flipped in production?
Handle SaveFile stub-out-file-system cheat more generically (not just in ApplicationModelTest)
Consider eliminating __ApplicationModelSpy entirely
== Special cases / polish ==
Take a second look at IOExceptions -- are there special cases to handle?
Deal with FileDialog returning invalid directory/filename. (It can happen, according to the Java docs)
Deal with FileDialog returning null directory and valid filename.
Application menu still works when modal dialog is up -- so you can "Save As" twice in a row, for example. Fix this.
Need to decide what to do with original user-entered values in UI.
- Reformat them when moving away from field? What about invalid values?
== Loading ==
Deal with opening same file twice (see episode 137 comments, Aleksi Niiranen)
Deal with loading excessively large file
File format: consider java.util.Properties (suggested by Esko Luontola in ep 159)
---
Use a @Rule to enforce SwingUtilities.invokeAndWait on every Swing test?
---
Persistence!
- values of fields
- UI positioning
---
When tabbing to DollarsTextField, should the value be selected?
Need to handle case where cost basis is larger than starting balance--that should be illegal
Similarly, need to handle case where account runs out of money. All kinds of funkiness ensues.
---
Add remaining fields so that starting conditions can be set at runtime
---
Check that keyboard shortcuts work (including tabbing between components)
Run Swing-related stuff on event dispatching thread: http://download.oracle.com/javase/6/docs/api/javax/swing/package-summary.html#threading
Error handling for exceptions within Swing components--how?
Tip for running Swing tests: http://blog.schauderhaft.de/2010/08/15/use-cases-for-junit-rules/ (via Esko Luontola)
Tool for Swing testing: Consider 'WindowLicker' (suggested by Tony in email)
---
Polish:
- Better tooltips for invalid dollar amounts
- Need a alert dialog that wraps long lines properly (for example, save error dialog)
---
Long term:
- Cross-platform testing & support (Consider "Macify")
- Cmd-W should close window on Mac
- Does the DollarsTextField warning icon work properly in all look-and-feels that we use
- Mac needs to use Mac menu bar (currently configured with -D option in run.sh)
- Should not close application when last window is closed on the Mac
- More realistic abstraction for capital gains tax (in StockMarketYear)
ROOT CAUSE CHECKLIST:
---
Swing semantics change even when interface doesn't
Therefore... when refactoring from one Swing class to another, check usage of all Swing APIs.
When changing a test, you could break the expected behavior of the application
Therefore... go a little slower when taking out or changing expectations of tests
Jump to Line
Something went wrong with that request. Please try again.