Commit Graph

67 Commits

Author SHA1 Message Date
Corey Johnson & Nathan Sobo
d136837c79 Fix version spec 2013-04-03 15:28:43 -07:00
Nathan Sobo
f03b6207de Make all requires of 'fs-utils' assign to fsUtils var instead of fs 2013-04-03 12:01:37 -06:00
probablycorey
05336dc38c Fix atom.version spec 2013-03-29 15:24:27 -07:00
Nathan Sobo
d3fa24be57 Remove scoped-properties when deactivating a TextMate package 2013-03-26 17:35:45 -06:00
Nathan Sobo
6a5ca3805e Spec loading of scoped properties when activating TextMate packages 2013-03-26 17:35:44 -06:00
Nathan Sobo
eef13e7db8 Test that deferred packages don't require their main module
As opposed to asserting that the main module isn't present, which
might not be true if a previous spec required it.
2013-03-26 17:35:44 -06:00
Nathan Sobo
a07cd87c2c Move testing of deferred deserializers to atom-spec 2013-03-26 17:35:44 -06:00
Nathan Sobo
2fe057bd9b Move deferred activation specs to atom-spec 2013-03-26 17:35:44 -06:00
Corey Johnson & Nathan Sobo
81d4b764b8 Remove a package's scoped-properties when it is deactivated
Also: don't add the properties until `activate` is called. Previously
we were still adding the properties in the `load` method, which was
wrong.
2013-03-26 17:35:44 -06:00
Corey Johnson & Nathan Sobo
368e10a9f5 Move spec for scoped property loading to atom-spec 2013-03-26 17:35:44 -06:00
Corey Johnson & Nathan Sobo
3c561ef208 💄 2013-03-26 17:35:44 -06:00
Corey Johnson & Nathan Sobo
c8b9622bf4 Move specs for loading config defaults to atom-spec 2013-03-26 17:35:44 -06:00
Corey Johnson & Nathan Sobo
5d822b7305 Remove a package's stylesheets when it is deactivated 2013-03-26 17:35:43 -06:00
Corey Johnson & Nathan Sobo
1e51750b6c Remove a package's keymaps when it is deactivated 2013-03-26 17:35:43 -06:00
Corey Johnson & Nathan Sobo
772787121c Remove atom package grammars on deactivate 2013-03-26 17:35:43 -06:00
Corey Johnson & Nathan Sobo
d37fbd43f1 Test that atom packages load their grammars 2013-03-26 17:35:43 -06:00
Corey Johnson & Nathan Sobo
de7d9bfcb1 Get deactivatePackage specs passing w/ new fixture data 2013-03-26 17:35:43 -06:00
Corey Johnson & Nathan Sobo
8c1f5658be Allow packages to have stylesheet manifests 2013-03-26 17:35:43 -06:00
Corey Johnson & Nathan Sobo
b846a4db98 wip: cleanup package lifecycle specs 2013-03-26 17:35:43 -06:00
Corey Johnson
da016114b6 Add specs for activating and deactivating TextMate packages 2013-03-26 17:35:43 -06:00
Nathan Sobo
f5774972e9 Add atom.deactivatePackage(id)
It serializes the package state to the atom.packageStates hash when
the package is deactivated, which means we will be able to test 
package serialization independent of the overall window lifecycle by
just deactivating and re-activating the package.
2013-03-26 17:35:42 -06:00
Nathan Sobo
58ef6c6582 Use atom.activatePackage directly in specs 2013-03-26 17:35:42 -06:00
Nathan Sobo
ab934cfbfb Replace LoadTextMatePackagesTask with async grammar loading 2013-03-22 15:29:07 -06:00
Kevin Sawicki & Nathan Sobo
501dc9b76c Merge remote-tracking branch 'origin/master' into cefode
Conflicts:
	native/v8_extensions/native.mm
	spec/app/config-spec.coffee
	spec/app/window-spec.coffee
	spec/spec-helper.coffee
	spec/stdlib/fs-utils-spec.coffee
	src/app/atom-package.coffee
	src/app/config.coffee
	src/app/window.coffee
	src/packages/fuzzy-finder/lib/load-paths-handler.coffee
	src/packages/markdown-preview/lib/markdown-preview-view.coffee
	src/packages/tree-view/spec/tree-view-spec.coffee
	src/stdlib/require.coffee
2013-03-20 10:46:50 -06:00
Kevin Sawicki & Nathan Sobo
051decc08c Use fs.resolveOnLoadPath() instead of require.resolve() 2013-03-12 14:42:24 -07:00
Nathan Sobo
bf7fc39434 Rename AtomPackage.packageMain to .mainModule 2013-03-11 16:04:38 -06:00
Nathan Sobo
10d0fdf2d7 Require a deferred package early if needed when deserializing panes
The requiring of a package's main module is now decoupled from package
activation. Non-deferred packages will always be required before the
panes are deserialized. This allows the package to register any
deserializers for objects displayed in the panes.

Deferred packages can contain a 'deferredDeserializers' array in their
package.cson. If we attempt to deserialize an object with a deserializer
in the list, the package's main module will be required first so it has
a chance to register the deserializer. But the package still won't be
activated until an activation event occurs.

We may want to add an additional optional hook called 'load' which is
called at require time. We would not guarantee that the rootView
global would exist, but we could give the package a chance to register
deserializers etc. For now, registering deserializers is a side-effect
of requiring the package.
2013-03-11 15:08:19 -06:00
Nathan Sobo
e4bf73b41c Give the view a chance to update before presenting next dialog 2013-03-07 09:30:28 -08:00
Nathan Sobo
f0398f2331 Ensure modal dialogs are presented in a coherent order
Modal dialogs can be presented while other modal dialogs are already
being displayed. Previously, dialogs were always displayed in the order
they were requested. But say you have two untitled buffers in a
pane and you close all items… You'll display prompt dialogs for both
buffers asking the user if they want to save. If the user answers yes
to the first dialog, they should see the path selection dialog before
they see the save prompt for the second buffer.

This commit uses a stack of queues to store deferred dialogs and allow
dialogs presented by the dismissal of another dialog to take precedence
over other pending dialogs.
2013-03-07 09:30:28 -08:00
Corey Johnson & Kevin Sawicki
ec2f59836a Make patch version segment optional in spec 2013-02-28 10:15:24 -08:00
Corey Johnson
ad14e65ef9 Add atom.getVersion(callback) 2013-02-25 14:58:11 -08:00
Corey Johnson & Nathan Sobo
9e8831f710 RootView.initialize no longer assigns window.rootView or calls open 2013-02-19 18:26:50 -07:00
Nathan Sobo
7f2747ead0 Make project a global and refactor startup process 2013-02-19 18:26:50 -07:00
Corey Johnson
56213872b2 Fix 💩 I shouldn't have checked in 2013-02-14 13:23:45 -08:00
Kevin Sawicki
58dbcc9ddc Un-f spec in atom-spec.coffee 2013-02-14 12:33:33 -08:00
Corey Johnson
da98addf80 better spec toggle 2013-02-14 12:31:31 -08:00
Corey Johnson
8375c8df38 Use previous package state when the wasn't activated 2013-02-13 16:37:59 -08:00
Corey Johnson
958bc2bfab Moved atom.loadPackage to a spec-only helper function 2013-02-13 16:37:59 -08:00
Corey Johnson
7ade089d04 If an atom package has no state, activate it with an empty object 2013-02-13 10:42:22 -08:00
Kevin Sawicki
07c5a94613 Remove unused packages ivar 2013-02-12 15:47:31 -08:00
Corey Johnson & Kevin Sawicki
4619e1847f Manage package lifecycle in Atom instead of in RootView 2013-02-08 17:28:08 -08:00
Corey Johnson & Kevin Sawicki
9043f8290f Deactivate rootView in afterEach 2013-02-08 17:28:06 -08:00
Corey Johnson & Kevin Sawicki
3c36eaf454 Un-f spec 2013-02-08 17:28:05 -08:00
Corey Johnson
6f05e66825 Add rootView to atom spec to eliminate warnings 2013-02-08 17:28:04 -08:00
Kevin Sawicki
379a4a4d8d Only auto-load .cson and .json keymap files
This now prevents files such as .DS_Store from being loaded as a
keymap where previously all paths were loaded regardless of extension.

Closes #205
2013-01-31 12:03:21 -08:00
Kevin Sawicki
e792265076 Trigger grammars-loaded event on syntax 2013-01-28 14:34:49 -08:00
Kevin Sawicki
ad8dd767e5 Don't allow web worker grammars to be registered
Grammars are already loaded at the beginning of the
specs synchronously and should not be overridden
when testing the background load task.
2013-01-28 14:23:18 -08:00
Kevin Sawicki
ee5d70b65d Terminate worker when all packages have been loaded 2013-01-27 22:38:11 -08:00
Nathan Sobo
0be4ad547a Disable 'package-that-throws-an-exception' except in spec that uses it
Loading this package logs a warning, so to minimize noise in the spec
console, it should only be loaded when `console.warn` is mocked.
2013-01-27 12:12:39 -07:00
Kevin Sawicki
f6e4e69e2b Remove unused require 2013-01-22 18:32:05 -08:00