mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-02-23 23:54:13 +08:00
Converted all references of global atom to NylasEnv Temporary rename atom.io find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.io/temporaryAtomIoReplacement/g' atom.config to NylasEnv.config find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.config/NylasEnv.config/g' atom.packages -> NylasEnv.packages atom.commands -> NylasEnv.commands atom.getLoadSettings find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.commands/NylasEnv.commands/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.getLoadSettings/NylasEnv.getLoadSettings/g' More common atom methods find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.styles/NylasEnv.styles/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.emitError/NylasEnv.emitError/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.inSpecMode/NylasEnv.inSpecMode/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.inDevMode/NylasEnv.inDevMode/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.getWindowType/NylasEnv.getWindowType/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.displayWindow/NylasEnv.displayWindow/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.quit/NylasEnv.quit/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.close/NylasEnv.close/g' More atom method changes find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.keymaps/NylasEnv.keymaps/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.hide/NylasEnv.hide/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.getCurrentWindow/NylasEnv.getCurrentWindow/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.menu/NylasEnv.menu/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.getConfigDirPath/NylasEnv.getConfigDirPath/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.isMainWindow/NylasEnv.isMainWindow/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.finishUnload/NylasEnv.finishUnload/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.isWorkWindow/NylasEnv.isWorkWindow/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.showSaveDialog/NylasEnv.showSaveDialog/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.append/NylasEnv.append/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.confirm/NylasEnv.confirm/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.clipboard/NylasEnv.clipboard/g' find -E . -regex ".*\.(coffee|cjsx|js|md|cmd|es6)" -print0 | xargs -0 sed -i "" 's/atom.getVersion/NylasEnv.getVersion/g' More atom renaming Rename atom methods More atom methods Fix grunt config variable Change atom.cmd to N1.cmd Rename atom.coffee and atom.js to nylas-env.coffee nylas-env.js Fix atom global reference in specs manually Fix atom requires Change engine from atom to nylas got rid of global/nylas-env rename to nylas-win-bootup Fix onWindowPropsChanged to onWindowPropsReceived fix nylas-workspace atom-text-editor to nylas-theme-wrap atom-text-editor -> nylas-theme-wrap Replacing atom keyword AtomWindow -> NylasWindow Replace Atom -> N1 Rename atom items nylas.asar -> atom.asar Remove more atom references Remove 6to5 references Remove license exception for atom
254 lines
7 KiB
CoffeeScript
254 lines
7 KiB
CoffeeScript
AccountSidebarStore = require '../lib/account-sidebar-store'
|
|
{Folder, WorkspaceStore, CategoryStore} = require 'nylas-exports'
|
|
|
|
describe "AccountSidebarStore", ->
|
|
describe "sections", ->
|
|
it "should return the correct output", ->
|
|
NylasEnv.testOrganizationUnit = 'folder'
|
|
|
|
spyOn(CategoryStore, 'getStandardCategories').andCallFake ->
|
|
return [
|
|
new Folder(displayName:'Inbox', clientId: '1', name: 'inbox')
|
|
new Folder(displayName:'Sent', clientId: '3', name: 'sent')
|
|
new Folder(displayName:'Important', clientId: '4', name: 'important')
|
|
]
|
|
|
|
spyOn(CategoryStore, 'getUserCategories').andCallFake ->
|
|
return [
|
|
new Folder(displayName:'A', clientId: 'a')
|
|
new Folder(displayName:'B', clientId: 'b')
|
|
new Folder(displayName:'A/B', clientId: 'a+b')
|
|
new Folder(displayName:'A.D', clientId: 'a+d')
|
|
new Folder(displayName:'A\\E', clientId: 'a+e')
|
|
new Folder(displayName:'B/C', clientId: 'b+c')
|
|
new Folder(displayName:'A/B/C', clientId: 'a+b+c')
|
|
new Folder(displayName:'A/B-C', clientId: 'a+b-c')
|
|
]
|
|
|
|
spyOn(WorkspaceStore, 'sidebarItems').andCallFake ->
|
|
return [
|
|
new WorkspaceStore.SidebarItem
|
|
component: {}
|
|
sheet: 'stub'
|
|
id: 'Drafts'
|
|
name: 'Drafts'
|
|
]
|
|
|
|
expected = [
|
|
{
|
|
label: 'Mailboxes',
|
|
items: [
|
|
{
|
|
id: '1',
|
|
name: 'Inbox',
|
|
mailViewFilter: {
|
|
name: 'Inbox',
|
|
category: {
|
|
client_id: '1',
|
|
name: 'inbox',
|
|
display_name: 'Inbox',
|
|
id: '1'
|
|
},
|
|
iconName: 'inbox.png'
|
|
},
|
|
children: [
|
|
|
|
]
|
|
},
|
|
{
|
|
id: 'starred',
|
|
name: 'Starred',
|
|
mailViewFilter: {
|
|
name: 'Starred',
|
|
iconName: 'starred.png'
|
|
},
|
|
children: [
|
|
|
|
]
|
|
},
|
|
{
|
|
id: '3',
|
|
name: 'Sent',
|
|
mailViewFilter: {
|
|
name: 'Sent',
|
|
category: {
|
|
client_id: '3',
|
|
name: 'sent',
|
|
display_name: 'Sent',
|
|
id: '3'
|
|
},
|
|
iconName: 'sent.png'
|
|
},
|
|
children: [
|
|
|
|
]
|
|
},
|
|
{
|
|
id: '4',
|
|
name: 'Important',
|
|
mailViewFilter: {
|
|
name: 'Important',
|
|
category: {
|
|
client_id: '4',
|
|
name: 'important',
|
|
display_name: 'Important',
|
|
id: '4'
|
|
},
|
|
iconName: 'important.png'
|
|
},
|
|
children: [
|
|
|
|
]
|
|
},
|
|
{
|
|
id: 'Drafts',
|
|
component: {
|
|
|
|
},
|
|
name: 'Drafts',
|
|
sheet: 'stub',
|
|
children: [
|
|
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
label: 'Folders',
|
|
items: [
|
|
{
|
|
id: 'a',
|
|
name: 'A',
|
|
mailViewFilter: {
|
|
name: 'A',
|
|
category: {
|
|
client_id: 'a',
|
|
display_name: 'A',
|
|
id: 'a'
|
|
},
|
|
iconName: 'folder.png'
|
|
},
|
|
children: [
|
|
{
|
|
id: 'a+b',
|
|
name: 'B',
|
|
mailViewFilter: {
|
|
name: 'A/B',
|
|
category: {
|
|
client_id: 'a+b',
|
|
display_name: 'A/B',
|
|
id: 'a+b'
|
|
},
|
|
iconName: 'folder.png'
|
|
},
|
|
children: [
|
|
{
|
|
id: 'a+b+c',
|
|
name: 'C',
|
|
mailViewFilter: {
|
|
name: 'A/B/C',
|
|
category: {
|
|
client_id: 'a+b+c',
|
|
display_name: 'A/B/C',
|
|
id: 'a+b+c'
|
|
},
|
|
iconName: 'folder.png'
|
|
},
|
|
children: [
|
|
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
id: 'a+d',
|
|
name: 'D',
|
|
mailViewFilter: {
|
|
name: 'A.D',
|
|
category: {
|
|
client_id: 'a+d',
|
|
display_name: 'A.D',
|
|
id: 'a+d'
|
|
},
|
|
iconName: 'folder.png'
|
|
},
|
|
children: [
|
|
|
|
]
|
|
},
|
|
{
|
|
id: 'a+e',
|
|
name: 'E',
|
|
mailViewFilter: {
|
|
name: 'A\\E',
|
|
category: {
|
|
client_id: 'a+e',
|
|
display_name: 'A\\E',
|
|
id: 'a+e'
|
|
},
|
|
iconName: 'folder.png'
|
|
},
|
|
children: [
|
|
|
|
]
|
|
},
|
|
{
|
|
id: 'a+b-c',
|
|
name: 'B-C',
|
|
mailViewFilter: {
|
|
name: 'A/B-C',
|
|
category: {
|
|
client_id: 'a+b-c',
|
|
display_name: 'A/B-C',
|
|
id: 'a+b-c'
|
|
},
|
|
iconName: 'folder.png'
|
|
},
|
|
children: [
|
|
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
id: 'b',
|
|
name: 'B',
|
|
mailViewFilter: {
|
|
name: 'B',
|
|
category: {
|
|
client_id: 'b',
|
|
display_name: 'B',
|
|
id: 'b'
|
|
},
|
|
iconName: 'folder.png'
|
|
},
|
|
children: [
|
|
{
|
|
id: 'b+c',
|
|
name: 'C',
|
|
mailViewFilter: {
|
|
name: 'B/C',
|
|
category: {
|
|
client_id: 'b+c',
|
|
display_name: 'B/C',
|
|
id: 'b+c'
|
|
},
|
|
iconName: 'folder.png'
|
|
},
|
|
children: [
|
|
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
|
|
AccountSidebarStore._refreshSections()
|
|
|
|
# Converting to JSON removes keys whose values are `undefined`,
|
|
# makes the output smaller and easier to visually compare.
|
|
output = JSON.parse(JSON.stringify(AccountSidebarStore.sections()))
|
|
|
|
expect(output).toEqual(expected)
|