Skip to content

Commit 44c8e02

Browse files
committed
Initial commit
0 parents  commit 44c8e02

File tree

783 files changed

+133925
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

783 files changed

+133925
-0
lines changed

.npmignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.idea
2+
node_modules
3+
.DS_Store

LICENSE.md

Whitespace-only changes.

README.md

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
2+
This readme file provides a brief overview of the file and folder structure
3+
included in the default MontageJS project directory.
4+
5+
>IMPORTANT: Be sure to replace the contents of this readme file with information
6+
about the final application before deploying the application or passing it on to
7+
a client.
8+
9+
Project Directory
10+
============
11+
12+
The default project directory includes the following files and folders:
13+
14+
* assets/ - Contains global stylesheets and images for the application.
15+
* index.html - Is the entry-point document for the application.
16+
* node_modules/ - Contains the code dependencies required in development.
17+
18+
Includes Montage, the core framework, and Digit, a mobile-optimized user
19+
interface widget set by default. Since MontageJS uses the CommonJS module
20+
system, you can leverage the npm ecosystem for additional modules. To add
21+
dependencies (e.g., foo), use `npm install foo` in the project directory.
22+
23+
NOTE: All packages in this directory must be included as dependencies
24+
in package.json.
25+
26+
* package.json - Describes the application and the dependencies included in
27+
the node_modules directory.
28+
* README.md - The default readme file.
29+
* run-tests.html - Is a page to run Jasmine tests manually in the browser.
30+
* test/ - Contains tests for the application.
31+
32+
By default, this directory includes all.js, a module that points the test runner
33+
to all jasmine specs.
34+
35+
* ui/ - Contains the application user interface components.
36+
37+
By default, this directory contains one component: main.reel (the Main
38+
user interface component)
39+
40+
In development, you can expand this project directory as necessary; for example,
41+
depending on the project you may want to add the following folders:
42+
43+
* locale/ - For localized content.
44+
* scripts/ - For JS libraries that do not support the CommonJS exports object
45+
and, therefore, have to be loaded using a `<script>` tag.
46+
47+
Unit Testing
48+
=========
49+
50+
MontageJS uses some pure unit tests that are straightforward [Jasmine specs][1].
51+
52+
To install the test code, run `npm install` in your project folder. This installs the
53+
the [montage-testing][2] package, which adds some useful utilities for writing
54+
jasmine tests. You will need the file run-tests.html.
55+
56+
For an example of how we implement unit testing, see the [digit][3] repository:
57+
58+
* [run-tests][4] loads our test environment.
59+
* `data-module="test/all"` inside the final script tag tells the system to load [test/all.js][5].
60+
* all.js specifies a list of module ids for the runner to execute.
61+
62+
>Note that in this example, all the tests load a page in an iframe using
63+
`TestPageLoader.queueTest()`. These are akin to integration tests since they test
64+
the component in a real environment.
65+
66+
We also test some components by [mocking their dependencies][6].
67+
68+
Documentation
69+
============
70+
71+
Here are some links you may find helpful:
72+
73+
* [API Reference][7]
74+
* [Documentation][8]
75+
* [FAQ][9]
76+
77+
Contact
78+
======
79+
80+
* Got questions? Join us on [irc.freenode.net#montage][10].
81+
* Got feedback or want to report a bug? Let us know by creating a new [Github issue][11].
82+
* Want to contribute? [Pull-requests][12] are more than welcome.
83+
84+
[1]: https://github.com/montagejs/montage/blob/master/test/core/super-spec.js "Jasmine specs"
85+
[2]: https://github.com/montagejs/montage-testing "montage-testing"
86+
[3]: https://github.com/montagejs/digit "digit"
87+
[4]: https://github.com/montagejs/digit/blob/master/run-tests.html "run-tests"
88+
[5]: https://github.com/montagejs/digit/tree/master/test "test/all.js"
89+
[6]: https://github.com/montagejs/montage/blob/master/test/base/abstract-button-spec.js "mocking their dependencies"
90+
[7]: http://montagejs.org/api/ "API Reference"
91+
[8]: http://montagejs.org/docs/ "Documentation"
92+
[9]: http://montagejs.org/docs/faq.html "FAQ"
93+
[10]: http://webchat.freenode.net/?channels=montage "irc.freenode.net#montage"
94+
[11]: https://github.com/montagejs/montage/issues "Github issue"
95+
[12]: https://github.com/montagejs/montage/pulls "Pull-requests"
96+
97+
Last edited: November 14, 2013
98+
7.4 KB
Loading
9.39 KB
Loading
3.44 KB
Loading
4.72 KB
Loading
3.44 KB
Loading
3.44 KB
Loading
74.9 KB
Loading

0 commit comments

Comments
 (0)