From 09c771b13bafa213a6963e7085616abfb8d41f8e Mon Sep 17 00:00:00 2001 From: "Davis W. Frank" Date: Sun, 27 Feb 2011 12:27:23 -0800 Subject: [PATCH] another attempt to push this --- pages/.gitignore | 3 + pages/.rvmrc | 1 + pages/Gemfile | 4 + pages/Gemfile.lock | 28 + pages/Rakefile | 5 + pages/config/compass.rb | 3 + pages/config/site.rb | 16 + pages/css/960gs/960.css | 1 + pages/css/960gs/960_24_col.css | 1 + pages/css/960gs/reset.css | 1 + pages/css/960gs/text.css | 1 + pages/css/pygments.css | 62 + pages/css/screen.css | 152 ++ pages/download.html | 86 + pages/downloads/jasmine-standalone-0.11.1.zip | Bin 0 -> 19298 bytes .../jasmine-standalone-1.0.0.rc1.zip | Bin 0 -> 20280 bytes pages/downloads/jasmine-standalone-1.0.0.zip | Bin 0 -> 21084 bytes pages/downloads/jasmine-standalone-1.0.1.zip | Bin 0 -> 21125 bytes pages/downloads/jasmine-standalone-1.0.2.zip | Bin 0 -> 21130 bytes pages/favicon.ico | 0 pages/fonts/droidsans-bold.ttf | Bin 0 -> 191032 bytes pages/fonts/droidsans.ttf | Bin 0 -> 190044 bytes pages/fonts/inconsolata.otf | Bin 0 -> 58464 bytes pages/images/jasmine_logo.png | Bin 0 -> 4980 bytes pages/images/pivotal_logo.gif | Bin 0 -> 2586 bytes pages/index.html | 79 + pages/jasmine | 1 + pages/jsdoc/files.html | 450 +++++ pages/jsdoc/index.html | 330 ++++ pages/jsdoc/symbols/_global_.html | 1131 ++++++++++++ pages/jsdoc/symbols/jasmine.Block.html | 419 +++++ pages/jsdoc/symbols/jasmine.Clock.html | 714 ++++++++ pages/jsdoc/symbols/jasmine.Env.html | 1212 +++++++++++++ .../jsdoc/symbols/jasmine.JsApiReporter.html | 824 +++++++++ pages/jsdoc/symbols/jasmine.Matchers.html | 1612 +++++++++++++++++ .../jsdoc/symbols/jasmine.MultiReporter.html | 396 ++++ .../jsdoc/symbols/jasmine.NestedResults.html | 712 ++++++++ pages/jsdoc/symbols/jasmine.Reporter.html | 621 +++++++ pages/jsdoc/symbols/jasmine.Runner.html | 746 ++++++++ pages/jsdoc/symbols/jasmine.Spec.html | 1219 +++++++++++++ pages/jsdoc/symbols/jasmine.Spy.html | 858 +++++++++ pages/jsdoc/symbols/jasmine.Suite.html | 775 ++++++++ .../jsdoc/symbols/jasmine.WaitsForBlock.html | 437 +++++ pages/jsdoc/symbols/jasmine.html | 1209 +++++++++++++ pages/jsdoc/symbols/jasmine.util.html | 537 ++++++ pages/jsdoc/symbols/src/src_Block.js.html | 29 + pages/jsdoc/symbols/src/src_Env.js.html | 272 +++ .../symbols/src/src_JsApiReporter.js.html | 110 ++ pages/jsdoc/symbols/src/src_Matchers.js.html | 362 ++++ .../symbols/src/src_MultiReporter.js.html | 43 + .../symbols/src/src_NestedResults.js.html | 88 + .../symbols/src/src_PrettyPrinter.js.html | 130 ++ pages/jsdoc/symbols/src/src_Queue.js.html | 107 ++ pages/jsdoc/symbols/src/src_Reporter.js.html | 39 + pages/jsdoc/symbols/src/src_Runner.js.html | 84 + pages/jsdoc/symbols/src/src_Spec.js.html | 250 +++ pages/jsdoc/symbols/src/src_Suite.js.html | 89 + .../jsdoc/symbols/src/src_WaitsBlock.js.html | 21 + .../symbols/src/src_WaitsForBlock.js.html | 59 + pages/jsdoc/symbols/src/src_base.js.html | 597 ++++++ .../src/src_html_TrivialReporter.js.html | 196 ++ .../symbols/src/src_mock-timeout.js.html | 191 ++ pages/jsdoc/symbols/src/src_util.js.html | 75 + .../pages_source/dynamic/_download_item.haml | 7 + pages/pages_source/dynamic/download.haml | 24 + pages/pages_source/dynamic/index.haml | 48 + pages/pages_source/helpers.rb | 25 + pages/pages_source/layouts/default.haml | 18 + pages/pages_source/out/css/960gs/960.css | 1 + .../pages_source/out/css/960gs/960_24_col.css | 1 + pages/pages_source/out/css/960gs/reset.css | 1 + pages/pages_source/out/css/960gs/text.css | 1 + pages/pages_source/out/css/pygments.css | 62 + pages/pages_source/out/css/screen.css | 152 ++ pages/pages_source/out/download.html | 41 + pages/pages_source/out/favicon.ico | 0 .../pages_source/out/images/jasmine_logo.png | Bin 0 -> 4980 bytes .../pages_source/out/images/pivotal_logo.gif | Bin 0 -> 2586 bytes pages/pages_source/out/index.html | 79 + pages/pages_source/setup.rb | 70 + pages/pages_source/static/css/960gs/960.css | 1 + .../static/css/960gs/960_24_col.css | 1 + pages/pages_source/static/css/960gs/reset.css | 1 + pages/pages_source/static/css/960gs/text.css | 1 + pages/pages_source/static/css/pygments.css | 62 + pages/pages_source/static/css/screen.css | 152 ++ pages/pages_source/static/favicon.ico | 0 .../static/images/jasmine_logo.png | Bin 0 -> 4980 bytes .../static/images/pivotal_logo.gif | Bin 0 -> 2586 bytes pages/src/stylesheets/screen.sass | 4 + pages/stylesheets/screen.css | 5 + 91 files changed, 18145 insertions(+) create mode 100644 pages/.gitignore create mode 100644 pages/.rvmrc create mode 100644 pages/Gemfile create mode 100644 pages/Gemfile.lock create mode 100644 pages/Rakefile create mode 100644 pages/config/compass.rb create mode 100644 pages/config/site.rb create mode 100755 pages/css/960gs/960.css create mode 100644 pages/css/960gs/960_24_col.css create mode 100755 pages/css/960gs/reset.css create mode 100755 pages/css/960gs/text.css create mode 100644 pages/css/pygments.css create mode 100644 pages/css/screen.css create mode 100644 pages/download.html create mode 100644 pages/downloads/jasmine-standalone-0.11.1.zip create mode 100644 pages/downloads/jasmine-standalone-1.0.0.rc1.zip create mode 100644 pages/downloads/jasmine-standalone-1.0.0.zip create mode 100644 pages/downloads/jasmine-standalone-1.0.1.zip create mode 100644 pages/downloads/jasmine-standalone-1.0.2.zip create mode 100644 pages/favicon.ico create mode 100644 pages/fonts/droidsans-bold.ttf create mode 100644 pages/fonts/droidsans.ttf create mode 100644 pages/fonts/inconsolata.otf create mode 100644 pages/images/jasmine_logo.png create mode 100644 pages/images/pivotal_logo.gif create mode 100644 pages/index.html create mode 120000 pages/jasmine create mode 100644 pages/jsdoc/files.html create mode 100644 pages/jsdoc/index.html create mode 100644 pages/jsdoc/symbols/_global_.html create mode 100644 pages/jsdoc/symbols/jasmine.Block.html create mode 100644 pages/jsdoc/symbols/jasmine.Clock.html create mode 100644 pages/jsdoc/symbols/jasmine.Env.html create mode 100644 pages/jsdoc/symbols/jasmine.JsApiReporter.html create mode 100644 pages/jsdoc/symbols/jasmine.Matchers.html create mode 100644 pages/jsdoc/symbols/jasmine.MultiReporter.html create mode 100644 pages/jsdoc/symbols/jasmine.NestedResults.html create mode 100644 pages/jsdoc/symbols/jasmine.Reporter.html create mode 100644 pages/jsdoc/symbols/jasmine.Runner.html create mode 100644 pages/jsdoc/symbols/jasmine.Spec.html create mode 100644 pages/jsdoc/symbols/jasmine.Spy.html create mode 100644 pages/jsdoc/symbols/jasmine.Suite.html create mode 100644 pages/jsdoc/symbols/jasmine.WaitsForBlock.html create mode 100644 pages/jsdoc/symbols/jasmine.html create mode 100644 pages/jsdoc/symbols/jasmine.util.html create mode 100644 pages/jsdoc/symbols/src/src_Block.js.html create mode 100644 pages/jsdoc/symbols/src/src_Env.js.html create mode 100644 pages/jsdoc/symbols/src/src_JsApiReporter.js.html create mode 100644 pages/jsdoc/symbols/src/src_Matchers.js.html create mode 100644 pages/jsdoc/symbols/src/src_MultiReporter.js.html create mode 100644 pages/jsdoc/symbols/src/src_NestedResults.js.html create mode 100644 pages/jsdoc/symbols/src/src_PrettyPrinter.js.html create mode 100644 pages/jsdoc/symbols/src/src_Queue.js.html create mode 100644 pages/jsdoc/symbols/src/src_Reporter.js.html create mode 100644 pages/jsdoc/symbols/src/src_Runner.js.html create mode 100644 pages/jsdoc/symbols/src/src_Spec.js.html create mode 100644 pages/jsdoc/symbols/src/src_Suite.js.html create mode 100644 pages/jsdoc/symbols/src/src_WaitsBlock.js.html create mode 100644 pages/jsdoc/symbols/src/src_WaitsForBlock.js.html create mode 100644 pages/jsdoc/symbols/src/src_base.js.html create mode 100644 pages/jsdoc/symbols/src/src_html_TrivialReporter.js.html create mode 100644 pages/jsdoc/symbols/src/src_mock-timeout.js.html create mode 100644 pages/jsdoc/symbols/src/src_util.js.html create mode 100644 pages/pages_source/dynamic/_download_item.haml create mode 100644 pages/pages_source/dynamic/download.haml create mode 100644 pages/pages_source/dynamic/index.haml create mode 100644 pages/pages_source/helpers.rb create mode 100644 pages/pages_source/layouts/default.haml create mode 100644 pages/pages_source/out/css/960gs/960.css create mode 100644 pages/pages_source/out/css/960gs/960_24_col.css create mode 100644 pages/pages_source/out/css/960gs/reset.css create mode 100644 pages/pages_source/out/css/960gs/text.css create mode 100644 pages/pages_source/out/css/pygments.css create mode 100644 pages/pages_source/out/css/screen.css create mode 100644 pages/pages_source/out/download.html create mode 100644 pages/pages_source/out/favicon.ico create mode 100644 pages/pages_source/out/images/jasmine_logo.png create mode 100644 pages/pages_source/out/images/pivotal_logo.gif create mode 100644 pages/pages_source/out/index.html create mode 100644 pages/pages_source/setup.rb create mode 100644 pages/pages_source/static/css/960gs/960.css create mode 100644 pages/pages_source/static/css/960gs/960_24_col.css create mode 100644 pages/pages_source/static/css/960gs/reset.css create mode 100644 pages/pages_source/static/css/960gs/text.css create mode 100644 pages/pages_source/static/css/pygments.css create mode 100644 pages/pages_source/static/css/screen.css create mode 100644 pages/pages_source/static/favicon.ico create mode 100644 pages/pages_source/static/images/jasmine_logo.png create mode 100644 pages/pages_source/static/images/pivotal_logo.gif create mode 100644 pages/src/stylesheets/screen.sass create mode 100644 pages/stylesheets/screen.css diff --git a/pages/.gitignore b/pages/.gitignore new file mode 100644 index 0000000..4c377fc --- /dev/null +++ b/pages/.gitignore @@ -0,0 +1,3 @@ +.bundle/ +.idea/ +pages_output \ No newline at end of file diff --git a/pages/.rvmrc b/pages/.rvmrc new file mode 100644 index 0000000..7a283b1 --- /dev/null +++ b/pages/.rvmrc @@ -0,0 +1 @@ +rvm use default@jasmine \ No newline at end of file diff --git a/pages/Gemfile b/pages/Gemfile new file mode 100644 index 0000000..079aa7a --- /dev/null +++ b/pages/Gemfile @@ -0,0 +1,4 @@ +source :rubygems + +gem "frank" +gem "haml" \ No newline at end of file diff --git a/pages/Gemfile.lock b/pages/Gemfile.lock new file mode 100644 index 0000000..4a31649 --- /dev/null +++ b/pages/Gemfile.lock @@ -0,0 +1,28 @@ +GEM + remote: http://rubygems.org/ + specs: + daemons (1.0.10) + frank (1.0.8) + haml (>= 3.0) + mongrel (>= 1.2.0.pre2) + net-scp (>= 1.0) + net-ssh (>= 2.0) + rack (>= 1.0) + tilt (= 0.9) + gem_plugin (0.2.3) + haml (3.0.25) + mongrel (1.2.0.pre2) + daemons (~> 1.0.10) + gem_plugin (~> 0.2.3) + net-scp (1.0.4) + net-ssh (>= 1.99.1) + net-ssh (2.1.0) + rack (1.2.1) + tilt (0.9) + +PLATFORMS + ruby + +DEPENDENCIES + frank + haml diff --git a/pages/Rakefile b/pages/Rakefile new file mode 100644 index 0000000..cec2066 --- /dev/null +++ b/pages/Rakefile @@ -0,0 +1,5 @@ +desc "build the site" +task :site do + system("staticmatic build .") + system("cp -r site/ .") +end \ No newline at end of file diff --git a/pages/config/compass.rb b/pages/config/compass.rb new file mode 100644 index 0000000..6ec0dfa --- /dev/null +++ b/pages/config/compass.rb @@ -0,0 +1,3 @@ +require "staticmatic/compass" + +project_type = :staticmatic \ No newline at end of file diff --git a/pages/config/site.rb b/pages/config/site.rb new file mode 100644 index 0000000..5f54328 --- /dev/null +++ b/pages/config/site.rb @@ -0,0 +1,16 @@ +# Default is 3000 +# configuration.preview_server_port = 3000 + +# Default is localhost +# configuration.preview_server_host = "localhost" + +# Default is true +# When false .html & index.html get stripped off generated urls +# configuration.use_extensions_for_page_links = true + +# Default is an empty hash +# configuration.sass_options = {} + +# Default is an empty hash +# http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#options +# configuration.haml_options = {} \ No newline at end of file diff --git a/pages/css/960gs/960.css b/pages/css/960gs/960.css new file mode 100755 index 0000000..bdfa213 --- /dev/null +++ b/pages/css/960gs/960.css @@ -0,0 +1 @@ +.container_12,.container_16{margin-left:auto;margin-right:auto;width:960px}.grid_1,.grid_2,.grid_3,.grid_4,.grid_5,.grid_6,.grid_7,.grid_8,.grid_9,.grid_10,.grid_11,.grid_12,.grid_13,.grid_14,.grid_15,.grid_16{display:inline;float:left;position:relative;margin-left:10px;margin-right:10px}.container_12 .grid_3,.container_16 .grid_4{width:220px}.container_12 .grid_6,.container_16 .grid_8{width:460px}.container_12 .grid_9,.container_16 .grid_12{width:700px}.container_12 .grid_12,.container_16 .grid_16{width:940px}.alpha{margin-left:0}.omega{margin-right:0}.container_12 .grid_1{width:60px}.container_12 .grid_2{width:140px}.container_12 .grid_4{width:300px}.container_12 .grid_5{width:380px}.container_12 .grid_7{width:540px}.container_12 .grid_8{width:620px}.container_12 .grid_10{width:780px}.container_12 .grid_11{width:860px}.container_16 .grid_1{width:40px}.container_16 .grid_2{width:100px}.container_16 .grid_3{width:160px}.container_16 .grid_5{width:280px}.container_16 .grid_6{width:340px}.container_16 .grid_7{width:400px}.container_16 .grid_9{width:520px}.container_16 .grid_10{width:580px}.container_16 .grid_11{width:640px}.container_16 .grid_13{width:760px}.container_16 .grid_14{width:820px}.container_16 .grid_15{width:880px}.container_12 .prefix_3,.container_16 .prefix_4{padding-left:240px}.container_12 .prefix_6,.container_16 .prefix_8{padding-left:480px}.container_12 .prefix_9,.container_16 .prefix_12{padding-left:720px}.container_12 .prefix_1{padding-left:80px}.container_12 .prefix_2{padding-left:160px}.container_12 .prefix_4{padding-left:320px}.container_12 .prefix_5{padding-left:400px}.container_12 .prefix_7{padding-left:560px}.container_12 .prefix_8{padding-left:640px}.container_12 .prefix_10{padding-left:800px}.container_12 .prefix_11{padding-left:880px}.container_16 .prefix_1{padding-left:60px}.container_16 .prefix_2{padding-left:120px}.container_16 .prefix_3{padding-left:180px}.container_16 .prefix_5{padding-left:300px}.container_16 .prefix_6{padding-left:360px}.container_16 .prefix_7{padding-left:420px}.container_16 .prefix_9{padding-left:540px}.container_16 .prefix_10{padding-left:600px}.container_16 .prefix_11{padding-left:660px}.container_16 .prefix_13{padding-left:780px}.container_16 .prefix_14{padding-left:840px}.container_16 .prefix_15{padding-left:900px}.container_12 .suffix_3,.container_16 .suffix_4{padding-right:240px}.container_12 .suffix_6,.container_16 .suffix_8{padding-right:480px}.container_12 .suffix_9,.container_16 .suffix_12{padding-right:720px}.container_12 .suffix_1{padding-right:80px}.container_12 .suffix_2{padding-right:160px}.container_12 .suffix_4{padding-right:320px}.container_12 .suffix_5{padding-right:400px}.container_12 .suffix_7{padding-right:560px}.container_12 .suffix_8{padding-right:640px}.container_12 .suffix_10{padding-right:800px}.container_12 .suffix_11{padding-right:880px}.container_16 .suffix_1{padding-right:60px}.container_16 .suffix_2{padding-right:120px}.container_16 .suffix_3{padding-right:180px}.container_16 .suffix_5{padding-right:300px}.container_16 .suffix_6{padding-right:360px}.container_16 .suffix_7{padding-right:420px}.container_16 .suffix_9{padding-right:540px}.container_16 .suffix_10{padding-right:600px}.container_16 .suffix_11{padding-right:660px}.container_16 .suffix_13{padding-right:780px}.container_16 .suffix_14{padding-right:840px}.container_16 .suffix_15{padding-right:900px}.container_12 .push_3,.container_16 .push_4{left:240px}.container_12 .push_6,.container_16 .push_8{left:480px}.container_12 .push_9,.container_16 .push_12{left:720px}.container_12 .push_1{left:80px}.container_12 .push_2{left:160px}.container_12 .push_4{left:320px}.container_12 .push_5{left:400px}.container_12 .push_7{left:560px}.container_12 .push_8{left:640px}.container_12 .push_10{left:800px}.container_12 .push_11{left:880px}.container_16 .push_1{left:60px}.container_16 .push_2{left:120px}.container_16 .push_3{left:180px}.container_16 .push_5{left:300px}.container_16 .push_6{left:360px}.container_16 .push_7{left:420px}.container_16 .push_9{left:540px}.container_16 .push_10{left:600px}.container_16 .push_11{left:660px}.container_16 .push_13{left:780px}.container_16 .push_14{left:840px}.container_16 .push_15{left:900px}.container_12 .pull_3,.container_16 .pull_4{left:-240px}.container_12 .pull_6,.container_16 .pull_8{left:-480px}.container_12 .pull_9,.container_16 .pull_12{left:-720px}.container_12 .pull_1{left:-80px}.container_12 .pull_2{left:-160px}.container_12 .pull_4{left:-320px}.container_12 .pull_5{left:-400px}.container_12 .pull_7{left:-560px}.container_12 .pull_8{left:-640px}.container_12 .pull_10{left:-800px}.container_12 .pull_11{left:-880px}.container_16 .pull_1{left:-60px}.container_16 .pull_2{left:-120px}.container_16 .pull_3{left:-180px}.container_16 .pull_5{left:-300px}.container_16 .pull_6{left:-360px}.container_16 .pull_7{left:-420px}.container_16 .pull_9{left:-540px}.container_16 .pull_10{left:-600px}.container_16 .pull_11{left:-660px}.container_16 .pull_13{left:-780px}.container_16 .pull_14{left:-840px}.container_16 .pull_15{left:-900px}.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:after{clear:both;content:' ';display:block;font-size:0;line-height:0;visibility:hidden;width:0;height:0}* html .clearfix,*:first-child+html .clearfix{zoom:1} \ No newline at end of file diff --git a/pages/css/960gs/960_24_col.css b/pages/css/960gs/960_24_col.css new file mode 100644 index 0000000..6d92fa7 --- /dev/null +++ b/pages/css/960gs/960_24_col.css @@ -0,0 +1 @@ +.container_24{margin-left:auto;margin-right:auto;width:960px}.grid_1,.grid_2,.grid_3,.grid_4,.grid_5,.grid_6,.grid_7,.grid_8,.grid_9,.grid_10,.grid_11,.grid_12,.grid_13,.grid_14,.grid_15,.grid_16,.grid_17,.grid_18,.grid_19,.grid_20,.grid_21,.grid_22,.grid_23,.grid_24{display:inline;float:left;position:relative;margin-left:5px;margin-right:5px}.alpha{margin-left:0}.omega{margin-right:0}.container_24 .grid_1{width:30px}.container_24 .grid_2{width:70px}.container_24 .grid_3{width:110px}.container_24 .grid_4{width:150px}.container_24 .grid_5{width:190px}.container_24 .grid_6{width:230px}.container_24 .grid_7{width:270px}.container_24 .grid_8{width:310px}.container_24 .grid_9{width:350px}.container_24 .grid_10{width:390px}.container_24 .grid_11{width:430px}.container_24 .grid_12{width:470px}.container_24 .grid_13{width:510px}.container_24 .grid_14{width:550px}.container_24 .grid_15{width:590px}.container_24 .grid_16{width:630px}.container_24 .grid_17{width:670px}.container_24 .grid_18{width:710px}.container_24 .grid_19{width:750px}.container_24 .grid_20{width:790px}.container_24 .grid_21{width:830px}.container_24 .grid_22{width:870px}.container_24 .grid_23{width:910px}.container_24 .grid_24{width:950px}.container_24 .prefix_1{padding-left:40px}.container_24 .prefix_2{padding-left:80px}.container_24 .prefix_3{padding-left:120px}.container_24 .prefix_4{padding-left:160px}.container_24 .prefix_5{padding-left:200px}.container_24 .prefix_6{padding-left:240px}.container_24 .prefix_7{padding-left:280px}.container_24 .prefix_8{padding-left:320px}.container_24 .prefix_9{padding-left:360px}.container_24 .prefix_10{padding-left:400px}.container_24 .prefix_11{padding-left:440px}.container_24 .prefix_12{padding-left:480px}.container_24 .prefix_13{padding-left:520px}.container_24 .prefix_14{padding-left:560px}.container_24 .prefix_15{padding-left:600px}.container_24 .prefix_16{padding-left:640px}.container_24 .prefix_17{padding-left:680px}.container_24 .prefix_18{padding-left:720px}.container_24 .prefix_19{padding-left:760px}.container_24 .prefix_20{padding-left:800px}.container_24 .prefix_21{padding-left:840px}.container_24 .prefix_22{padding-left:880px}.container_24 .prefix_23{padding-left:920px}.container_24 .suffix_1{padding-right:40px}.container_24 .suffix_2{padding-right:80px}.container_24 .suffix_3{padding-right:120px}.container_24 .suffix_4{padding-right:160px}.container_24 .suffix_5{padding-right:200px}.container_24 .suffix_6{padding-right:240px}.container_24 .suffix_7{padding-right:280px}.container_24 .suffix_8{padding-right:320px}.container_24 .suffix_9{padding-right:360px}.container_24 .suffix_10{padding-right:400px}.container_24 .suffix_11{padding-right:440px}.container_24 .suffix_12{padding-right:480px}.container_24 .suffix_13{padding-right:520px}.container_24 .suffix_14{padding-right:560px}.container_24 .suffix_15{padding-right:600px}.container_24 .suffix_16{padding-right:640px}.container_24 .suffix_17{padding-right:680px}.container_24 .suffix_18{padding-right:720px}.container_24 .suffix_19{padding-right:760px}.container_24 .suffix_20{padding-right:800px}.container_24 .suffix_21{padding-right:840px}.container_24 .suffix_22{padding-right:880px}.container_24 .suffix_23{padding-right:920px}.container_24 .push_1{left:40px}.container_24 .push_2{left:80px}.container_24 .push_3{left:120px}.container_24 .push_4{left:160px}.container_24 .push_5{left:200px}.container_24 .push_6{left:240px}.container_24 .push_7{left:280px}.container_24 .push_8{left:320px}.container_24 .push_9{left:360px}.container_24 .push_10{left:400px}.container_24 .push_11{left:440px}.container_24 .push_12{left:480px}.container_24 .push_13{left:520px}.container_24 .push_14{left:560px}.container_24 .push_15{left:600px}.container_24 .push_16{left:640px}.container_24 .push_17{left:680px}.container_24 .push_18{left:720px}.container_24 .push_19{left:760px}.container_24 .push_20{left:800px}.container_24 .push_21{left:840px}.container_24 .push_22{left:880px}.container_24 .push_23{left:920px}.container_24 .pull_1{left:-40px}.container_24 .pull_2{left:-80px}.container_24 .pull_3{left:-120px}.container_24 .pull_4{left:-160px}.container_24 .pull_5{left:-200px}.container_24 .pull_6{left:-240px}.container_24 .pull_7{left:-280px}.container_24 .pull_8{left:-320px}.container_24 .pull_9{left:-360px}.container_24 .pull_10{left:-400px}.container_24 .pull_11{left:-440px}.container_24 .pull_12{left:-480px}.container_24 .pull_13{left:-520px}.container_24 .pull_14{left:-560px}.container_24 .pull_15{left:-600px}.container_24 .pull_16{left:-640px}.container_24 .pull_17{left:-680px}.container_24 .pull_18{left:-720px}.container_24 .pull_19{left:-760px}.container_24 .pull_20{left:-800px}.container_24 .pull_21{left:-840px}.container_24 .pull_22{left:-880px}.container_24 .pull_23{left:-920px}.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:after{clear:both;content:' ';display:block;font-size:0;line-height:0;visibility:hidden;width:0;height:0}* html .clearfix,*:first-child+html .clearfix{zoom:1} \ No newline at end of file diff --git a/pages/css/960gs/reset.css b/pages/css/960gs/reset.css new file mode 100755 index 0000000..99a0211 --- /dev/null +++ b/pages/css/960gs/reset.css @@ -0,0 +1 @@ +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outline:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0} \ No newline at end of file diff --git a/pages/css/960gs/text.css b/pages/css/960gs/text.css new file mode 100755 index 0000000..f37d174 --- /dev/null +++ b/pages/css/960gs/text.css @@ -0,0 +1 @@ +body{font:13px/1.5 'Helvetica Neue',Arial,'Liberation Sans',FreeSans,sans-serif}a:focus{outline:1px dotted}hr{border:0 #ccc solid;border-top-width:1px;clear:both;height:0}h1{font-size:25px}h2{font-size:23px}h3{font-size:21px}h4{font-size:19px}h5{font-size:17px}h6{font-size:15px}ol{list-style:decimal}ul{list-style:disc}li{margin-left:30px}p,dl,hr,h1,h2,h3,h4,h5,h6,ol,ul,pre,table,address,fieldset{margin-bottom:20px} \ No newline at end of file diff --git a/pages/css/pygments.css b/pages/css/pygments.css new file mode 100644 index 0000000..e89794f --- /dev/null +++ b/pages/css/pygments.css @@ -0,0 +1,62 @@ +code .hll { background-color: #ffffcc } +code { background: #ffffff; } +code .c { color: #808080 } /* Comment */ +code .err { color: #F00000; background-color: #F0A0A0 } /* Error */ +code .k { color: #008000; font-weight: bold } /* Keyword */ +code .o { color: #303030 } /* Operator */ +code .cm { color: #808080 } /* Comment.Multiline */ +code .cp { color: #507090 } /* Comment.Preproc */ +code .c1 { color: #808080 } /* Comment.Single */ +code .cs { color: #cc0000; font-weight: bold } /* Comment.Special */ +code .gd { color: #A00000 } /* Generic.Deleted */ +code .ge { font-style: italic } /* Generic.Emph */ +code .gr { color: #FF0000 } /* Generic.Error */ +code .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +code .gi { color: #00A000 } /* Generic.Inserted */ +code .go { color: #808080 } /* Generic.Output */ +code .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ +code .gs { font-weight: bold } /* Generic.Strong */ +code .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +code .gt { color: #0040D0 } /* Generic.Traceback */ +code .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +code .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +code .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +code .kp { color: #003080; font-weight: bold } /* Keyword.Pseudo */ +code .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +code .kt { color: #303090; font-weight: bold } /* Keyword.Type */ +code .m { color: #6000E0; font-weight: bold } /* Literal.Number */ +code .s { background-color: #fff0f0 } /* Literal.String */ +code .na { color: #0000C0 } /* Name.Attribute */ +code .nb { color: #007020 } /* Name.Builtin */ +code .nc { color: #B00060; font-weight: bold } /* Name.Class */ +code .no { color: #003060; font-weight: bold } /* Name.Constant */ +code .nd { color: #505050; font-weight: bold } /* Name.Decorator */ +code .ni { color: #800000; font-weight: bold } /* Name.Entity */ +code .ne { color: #F00000; font-weight: bold } /* Name.Exception */ +code .nf { color: #0060B0; font-weight: bold } /* Name.Function */ +code .nl { color: #907000; font-weight: bold } /* Name.Label */ +code .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ +code .nt { color: #007000 } /* Name.Tag */ +code .nv { color: #906030 } /* Name.Variable */ +code .ow { color: #000000; font-weight: bold } /* Operator.Word */ +code .w { color: #bbbbbb } /* Text.Whitespace */ +code .mf { color: #6000E0; font-weight: bold } /* Literal.Number.Float */ +code .mh { color: #005080; font-weight: bold } /* Literal.Number.Hex */ +code .mi { color: #0000D0; font-weight: bold } /* Literal.Number.Integer */ +code .mo { color: #4000E0; font-weight: bold } /* Literal.Number.Oct */ +code .sb { background-color: #fff0f0 } /* Literal.String.Backtick */ +code .sc { color: #0040D0 } /* Literal.String.Char */ +code .sd { color: #D04020 } /* Literal.String.Doc */ +code .s2 { background-color: #fff0f0 } /* Literal.String.Double */ +code .se { color: #606060; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */ +code .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */ +code .si { background-color: #e0e0e0 } /* Literal.String.Interpol */ +code .sx { color: #D02000; background-color: #fff0f0 } /* Literal.String.Other */ +code .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */ +code .s1 { background-color: #fff0f0 } /* Literal.String.Single */ +code .ss { color: #A06000 } /* Literal.String.Symbol */ +code .bp { color: #007020 } /* Name.Builtin.Pseudo */ +code .vc { color: #306090 } /* Name.Variable.Class */ +code .vg { color: #d07000; font-weight: bold } /* Name.Variable.Global */ +code .vi { color: #3030B0 } /* Name.Variable.Instance */ +code .il { color: #0000D0; font-weight: bold } /* Literal.Number.Integer.Long */ diff --git a/pages/css/screen.css b/pages/css/screen.css new file mode 100644 index 0000000..5a08a87 --- /dev/null +++ b/pages/css/screen.css @@ -0,0 +1,152 @@ +@import url("960gs/960.css"); + +/* http://www.levien.com/type/myfonts/inconsolata.html */ +@font-face +{ + font-family: "inconsolata"; + src: url("../fonts/inconsolata.otf"); +} + +@font-face +{ + font-family: "droid sans"; + src: url("../fonts/droidsans.ttf"); +} +@font-face +{ + font-family: "droid sans bold"; + src: url("../fonts/droidsans-bold.ttf"); +} +body +{ + color:#333; + font-family: helvetica, arial, sans-serif; + font-size:87.5%; /* 16px * 0.875 = 14px */ + line-height: 137.5%; /* 16px * 1.375 = 22px */ +} +a +{ + color: #55862e; + text-decoration: none; + border-bottom: solid 1px #3030a2; +} +a:hover +{ + text-decoration: none; + border-bottom: 0; +} + +a:visited{ + color: #777; + border-bottom: solid 1px #ccc; +} + +h1, h2, h3, h4, h5, h6 +{ + color: #000; +} +h1, h2, h3 +{ + font-family: "droid sans", helvetica, arial, sans-serif; +} + +h4, h5, h6 +{ + font-family: "droid sans bold", helvetica, arial, sans-serif; +} + +h1 +{ + font-size: 150.0%; +} +h2 +{ + font-size: 137.5%; +} +h3 +{ + font-size: 125.0%; +} +h4 +{ + font-size: 112.5%; +} +h5, h6{ + font-size: 100%; +} + +pre,code +{ + font-family: "inconsolata", monospace; + /* font-size: 1.142em; */ +} + +pre { + border-left: 2px solid #55862e; + padding-left: 1em; +} + +.noul +{ + border-bottom: 0; + text-decoration: none; +} + +img { + border: 0; +} + +img.screenshot { + padding-left: 35px; + padding-right: 10px; +} + +header, footer +{ + display: block; + padding: .1em 0; +} + + +header h1{ + font-size:1.142em; +} + +header h1 a, header h1 a:visited +{ + color:#55862e; + text-decoration: none; + border-bottom: none; +} + +footer{ + margin-top:1em; + border-top: solid 3px #ccc; +} + +footer img { + vertical-align: middle; + height: 59px; +} +.twtr-widget a, +.twtr-widget a:visited, +footer a, +footer a:visited { + border-bottom: none; +} + +ul.posts +{ + list-style-type: none; +} + +nav { + margin-bottom: 25px; +} + +table { border-collapse: collapse; width: 100% } +table th, table td { border: 1px solid #aaa; padding: .2em; } +table td { white-space:nowrap; } +#standalone-downloads td { font-family: monospace; } +#standalone-downloads td.sha { font-size: 0.8em; } +#standalone-downloads .rc td { background-color: #ddd; } diff --git a/pages/download.html b/pages/download.html new file mode 100644 index 0000000..d607387 --- /dev/null +++ b/pages/download.html @@ -0,0 +1,86 @@ + + + + + Jasmine: BDD for your JavaScript + + + + + + + Fork me on GitHub + +
+
+ These files are for the standalone release, meant for inclusion on a static HTML page and manual management of files. +
+
+ For a using Jasmine with Ruby on Rails, other Ruby frameworks, within continuous integration environments, or to gain more dynamic source and test file loading, see + Using the Jasmine Gem + . +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersionSizeDateSHA1
1.0.220k2011/02/27 12:17:47 PSTba6c43c0b70de0632e45c2346b4ba841d909ba49
1.0.120k2011/02/27 09:56:14 PSTb2b3d00a7cb8d5ccd65a3356bb5ae15775328119
1.0.020k2011/02/27 09:56:14 PST1866f654a3ad0ab9109393ce31d6613c77916607
1.0.0.rc119k2011/02/27 09:56:14 PST20e7da22bc7ce3433331a5ad44eb199f4ff34065
0.11.118k2011/02/27 09:56:14 PST26998c7ca047e47f84c382a4efeb1dc5cb8661a6
+
+
+ Powered by   + + Pivotal Labs, Inc. + + diff --git a/pages/downloads/jasmine-standalone-0.11.1.zip b/pages/downloads/jasmine-standalone-0.11.1.zip new file mode 100644 index 0000000000000000000000000000000000000000..ab92663429b6634219d2af27aac5f028e1f30721 GIT binary patch literal 19298 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 literal 0 HcmV?d00001 diff --git a/pages/downloads/jasmine-standalone-1.0.0.rc1.zip b/pages/downloads/jasmine-standalone-1.0.0.rc1.zip new file mode 100644 index 0000000000000000000000000000000000000000..553e41ceffad47475c416f57f99412c0e470e801 GIT binary patch literal 20280 zcmagFW2`Vd5GHzT+qP}nwr$(CZQHhO8}G4g>wdf0o16P%ciXh-kIr_w2XX5d7x#2QLeg4Ak9TGiGR`T5!2)b`ngyA%g@GEwXEAAW3pdES~!B zZY88v;LGKj>jV^|dHlXTc>LT=_)D#brSfv59f_9?Q`S>gbecf5?WSd-t70ChqBqxp z$DXw+K>FIS^{g5K@~^kqPqpH5Be$St_ad-C+4S$SPm8p2?WUDds++USH#%jYN8{lK zj`x>2;!Dy}>z>oI$TN>A2h_0hv0r60t6Ei*(`rQ%rS*Q3r`DZHVJ@;&nDj8(M3#Yi zX*v85gc@2oB#f#CC=$MzJAsCZC(@eR-Ds zW^QK(fWNQk(R{~6EPc*32nk#PjtHogO8LsL@!m`58~%{g5 z59EFn?PTM!j=iX*G1~1-B&>!u4j*O8m4btR2ohJ8!-BQc+x-W#JorlY%=1AxXv%Gi zC29l8Ljb@KKJA3)p`0C&}Nqc%EZJsbkZBfP_jx5wzZv(NIc!B4e@#fvk#dPSW zys9DfkHu*^x}5y(M8{O4om^36FvlPeCf9hrd~|mJliv;RP%c>MEs6l*Bpd#8&N~BE z%>V^?bh2Yx%IW5YzWJ-I$(g5>Pq`zwo8R>X2H^dXrN8jWjpYd=q&8u5_yoAvzNG|% z0^?ebr7b)~32_C$rK5|w>G6i)bt+v(=l5-57+l4{5^b=glT1KtD5VP5c>HVogI5f1 z#Cj!K4Y5b&N*$?XWSu(d9_ev2@6OXO1(m`pF_de07f!i}CU1_rJ15=C{MDO^^%&UH zQZBf3zwQ__`6)cTZE5`IgxCywW(XvIeLsIowpLUlBXi3n)O7l{(LjX)+&VcR@DLgg zMmW_oQA&*EbGBQ&J?IMEugai}$seW9Y%FYjb;}iwE#^1v_TsaTZ2@8qFn{fo-wa&* zwd_%pESj6y+mOBC0@j@NK&ppSV$J}_s6J@Df$`#c7LG@klm;AY6UbCEYnPoye{kmP zTl8}V%z^Ir4?TN7`^74MaRkaF#C8t}?iLZQo7Tu;++ZHYhvt-%G)Fy3$6Pc<;dRax<*fq|A2!+@Rxn>5>PzxxsD?k8$VOyR4*t#&ON0Fp14ITOljFQ)K%vb4)g1dP@h| zvF+f@LcVacZp<{86>$>!3^};1_fybhU1lESc(NIFPgW6|lcN2C(Zs5@WQ<8;4|@&} zKAF7uJq|6DUDbnuovH;rOVAH`Vs?xka4^Z)%-i3J4&!RCqKDGyGkX!3tS5xLm68Q% zfp87Ccdi1o*jqk+8ly3zBg|-f0|qkxt~?sB&wHA^&2y{xief;m9WCG2e z_o~gr&26c6a*0+nz6lWPGtjyK-V0+}2e3NObt{;_b0s|LKgRa#0E)`kh-wt7e%z;G z2fiNaOfF{ouE0!WueIJ-{A@cxJ@O{c2@V~H)Dq>ZARbK2?;y_G>d{VAGK zmSzE(eqsId{iUe+=wogXy}hLYao=`%BCO5+Yq7veUB-x~=#Y9)F|*#NvwkYW#}(4n zg}@D+AI>E*MsUA?p0lG7P{r9A(rv&Qjn08L>FmqUAA8qh*mC#S9K*T2Y6hb!5c*-V z!=Y_&`FeG(IF6)n_Io>H!V;o6Cj*-MLjNB~{r@5B&A|l!0T2Ly1Oxy8;r|U;>5QHK zkEj}}D(k#WfYAG;&M^6W7->?T$%6Z_a#6@z!uygZXhgb5umJEV&is3)i?Fegwyb9Z z>9%+4&7)Ro#Qn%dT%xvQ#(LASfqMMko64%8r}&5rMlj!Fc{7XK>4`@*NAXcsX|j*j zr!*)%yK{s-TR8wOTsjG3p;vGAwP};~S5|g}q{s3srM(b>W^LC2>LyOc=F6RmB!zzb zYWUGW1ZM_Ss%pKEi~(9pqc04l8U+ZHf_EH!QHT`@EoxhcJB-@*n!-qzJwuOj+_+a) z#1-}z7<8Op=q!!a#%8QQDNC!~M4%+8A=`d=>7v4pGn__T7EN85V#t0HT~Au8hg}Oc z+0>ydocpYfqZnePG86()aicl^_VKgfVsd6QN9csIOpsiR3v?i_+=<5!5lQlmfBShn zed|sTvIW9lu?uPDQ=yK?yHdau&fKA}U20f_xxiu!T8c?<>)TIi)c{6g$+A<6l$(g7 z*|+=#k!C;^IY{nDe^<#kP>0ZM$|`;TnC0Zi+hNAY(M3m4cD#ub2x>yK5nElA1l+MgQFw6a)%Zl2~1qGi7c659{OWPSR-Bxa1?@?_ec?S;e z&f-mB_c-I6FTMkn9h4Aw^_=Z|X*Tw5%cKr$7{}CIX#H@b(`0TYla)N(dSp7CSvmPu zl`Psn6nkrpSTYXB;m+^d6#Jv_(jh1UVQ47+(pzAaryB`UFOSaegt+tQ!A!lc%BMay z$%p%$s6X7%z4>3D|G)33nBL>qZ~y?b`~UzD{9k?N{~VB>_*y$-cQ&58|3GEnryXaN z-5j5ikZSH0x1Q8Ee|NR9WpmM`TS>%~G)`ignNehJp7{6w3={_r!boanJ74Xpn9{-p zh!rnduykR^hVS|N7xbx{k1EYBU%Avhnk1@Cn`Bi*7peG5SBa*T6Q@>qx_PSZmAvb} z`{ep$q-{2-@$>orHfWVChr4R6YWh{uNd-74r|6FXU>N?DgF^P>;pvcZtnpJfyunuDp ztD1hW*ix!$mh#nCVR=ihIOUmiQk^n`l1wB`@~BF}b&y)KN~&gFwplf)sWwWGkJ{8O zd8TS{jZGS7;bK?C&Ck!@n7?nwzI%El)||4!RLf0YnZWs1h_dCIt8&pkYKkhu=_IUM z=>dq>G`qm*gI~Nm)m#dZK5;5`j$Noi$_%)w)uXZm4KejnEMG#E5vi`W$SmvZn6Uo+ zUR=LagC~~&u}rJxm7h4&@X-L^BpCHcQM;z5Q7QrnFoabN^(9nRKsu~x{J3kOF{DfC zRrV-UpTJZoR;ucmJCDR#0oNRJsV)PR*wbFecygeZeDy$vzwRS z{rNpYoxg?i^I9!c&7oN~ZV5GKlT=ru54a1nW}+|CuX1diY)-G2+xzn+`~F@m5?`;Z z^vGQG&qYJJEE_mJDQ|Lh2>>o$s%8S0HeW*U*}%bFvny^I|03r|iTNo3v}@d>&Ygrn zW&kM1rFumQ&jXgD)?^Un*VBrdrF$xt0Xh%uK~4aKKGpj9a)0E=UB%v(#&f(@Y9B){ zS6YM)3H^Kuq1*gx0HobN&lKN)^zqO(OUE=glLWo?7HP;3qi})JMZ7e85U2SGd7h$M z89<3kK5^=UgTS5%p?Ju?uuFb)3Jog9!c)9~m4&J`-T6HbetA?;tv+d@u-;S-h6fW4 zKMNyUP^nz{lzA%C{=^dmL$n}Xb%*^5D5zx4EtmA<4rrFZ8KP^r(7}rYKymO7rK5yJe2@~gd zaAl;1(`=Ak!n%JjTNO6zp^5Gq&>MGsD5P`rww(Yqx#9YW%6RkI;HIeq^qbkAE+&3I zixhF;k$;;0gzDStx8J}-7bwfC5*H40!5669O{8U>FhwPHxs{O}9m*fSty?~vuRBR z+y&bQt!;!n9^I6Efac`ZT)5;z!A2OqT<3r}Ppj}^(Bpeu-x6{iR`jBpdb+Nuc}x*H ze#ug=R-itxmU`%?LAfAjQ2p4BM8PpzpFK^DFte&9&jx z?Jj%h_c_a}ez}ex4HTl@_i#U3mE0t=b_N@WDvE8D5AU^7#D2&pfK|B%OiN4jIvAbJ zG2#c`vRi|e-0}~a*3JpL#qR{s7KMo&Dt=qGA-opQbRp5BISEy>T#J5@HZET9)|aND z>9YC@jrYCzuksG|9yb7N2X8Db8&u3FX3ZW{>p=4nbWJ5G_;()QfngYUN^}{5z_$%C*d3dkep&rN(J@pIGdV-$;#GB?f3`lfcOIja;Y8?@ABS$p}1oT zWsZU>vtY@~IaRj)9~h9yO1D&6u$N6iR|BB*^5 z$zGosX(?7dfSt~2HbXO|pN3h7QJ_JI?_3n>K5(;hDgmxD&jPV;l^1KJSk=%Lv8&)T z&U^<4FLfC?of3N}aVvwl-gR7eWnI*&j~Kb+u5Bac3-r{F6=x8VhEOG0Z!(qoMOH#( zBezX#P41l70_!ENiEf493dzX~%*-r7pyDc5eR92VECi6V!?TulHFgV!jHREWi{~KF zHCUuz4z%b7p|z&U4$M6WLH(+#(gSAOKrxGE--M1+gLB`L93Tu z1$lBgLm4?dxjZDK{sQfK!Olz*k_4N6HFyIS6~>~Gs5uh1p^PJiC$zGSDlU}>5Q^y& zaYT9ANfv_s0X)iB!_t2GN&!rWVE*)HMZN$xukVOQ1C`x^Qi*qfl8E+mZ~=W3&`s34 z@<9t8R5ieah=!;c?9T9>xJTQ2-mfu(=?Tt$Od_=%Q;FVS%HndCpKLkxX=|5;+D5_z zOMsZeTF92mkcb5s3>`Va1yXvnwcJ3tsGj);RJo>RwW*PbGB5)~IHuFgrmAKQT|Jl@ zgrR+d)?E&P7evQ8ET*w8KA(%xJ5U2A%d7FaM=G8z$t#5z$!pmWfADG1uMBH!#hR$B zA@4>l)}+fnpInG=%Yaxf*3eP0en;LmM*m~v20t0#8O<-}BHZ*igqt}r(Iu@yMm#i* z%)w_oMMHmrc7fjRIWvThYd!yvhKv^pcts-MhIoy{Su{HlKh>iigyD}$0q0KE zzs9AU041atP&4NIKm-D9{#04V_;+71j`t^tAJcM1<577%(MEn>pJ&Pf>5{o4c|aU# z?#^YwRQWZXz~TC5^1|kv()Y|aQWb~D0GfLkLRNOH$jpX`7+Zc=N)E{>;do}vLXv)H zrl(O+VTdGtP|Z|FsusAE#%1WVQzqK07s5#z0Q@P@_Z6Z}-bsQu2fv++>1kS~&+Uz( zKe?b60taY_ts*=)DGl3aO3DOBQZlbz(N?>B70v0!cxr!c!Q~wv=M{y1f z6}gO)2M@%9DZ()qQ?n;6A_d3e~Hb>5`icg zWzuS-3WjEfCaG&GcKnem;;7F6+%0S}uhFZ|R)3SCW__K}ojaJl=Q-mG5O227Z?3MJ zyiXvqay2$x!{5z!T5MZWpz{(Ihl#dwb)8(WDC4=EfaUP#3jgjq0U!&fP;KBQt^SW)GEL`e zTLnp&{iH1)1T0SPd~M{$E3@){klY{pjvF32M3-Ly9xI)tNF8apD|lOxRZmneEGU;@ z-dq;t5(0&5b0kV^jN@f_XuL z=M!rUKrf2eEpfKrg4&`xxW7lL$R#-R>Z_=)*e;SHCqw$3{lb@VIXA0>KkmiZ7=)v= zj)fM~9kv8uqgXv<_7?D92g1n$t_qpt{ZvrMPzsuLKbY?kq!oa}^1s_+#ug?t{P-Xi zUeK?eP(rwj6$&xKLbRcZJk>xyGSirW&-P-rnspBB9b#i!lN>k<1s1oPc%$wwJMNF< z!}sk}Mz&38#hvkoPEC}X=>{m_98A7Aq@BTPtZi19nY1#kS}d4Q6fg%_izEAhE<$Tm zovgElb(8;M^7u^(6D-V{$2(vjgENfTnSeLzOl`GLuyJL=Rv&7>^BVw1I}Y%5q!d}8 zQI1T+Ue0M~!3<}hxIIMRWjtJl_MmzFf$OnyK1c0uPQ<$>iS_3l==S@SWgBIK<)`$jEQV54EpWjj++n1)ARJcQN z_yt!zR3HusA;$4;2Nyi5`2`p~+ZTLb1X@x?^7~R!#^L=*PgQd}oV^NM8V7)cAWj*r z(TIT;V+#-<2NiV1=eb*7#I9T0+kUjH4TD8PpDB2r3XW9d8OYbvh27wfG6>&9g%tBp zlp>`-Ft0V&a55USu$1?=l9xy>ui_d=Ccw%yXngvd+OY$eS^1vHU%2nzlZb z0#42C^ZR*Krdje61%Zq?h+z^|9S|D$NLTDXizhNgt0PP{TeS*XpQ>c9Jnhrelt1Cc zSdXrgB$KYQFIc)K%GL<*7q1WK`2tI7G=gyk_ZMPtb11}0vZps)mn(C-XOv|S5%Kii zasX9DR?|K_lj!p1nxIg>HaR)JFLmwBWa3pDFBvt~n#MQ?`2)W~F320}fx zX`+$l5T9DJYAM7l!T?W3lY$(6=}SM?w-bM?!FTvqBqPUZ^_p7#I!TETm`FS|q19ar zU`^d zl^)F{Wx+bS7Z$D6*`Za8^2`J}PnECDCx^V$Cmp;)>I)#Ps3D}Jq2|PsA4xZ5BU==r3_U2iDw5WK1yYMrz$K zXjxldh>6(-eVt8A*%3oqJq%!C$p9^+mRWLLlM5L~@s2Zcs3f>ZpPXaM;Fe<(scSBi zAvWa|Ca*kJ)?}Lv)SHCdwQ8@bwySP)S>pA$Ool}43*4h$eV0yqYIktw8g#^cO+H-u zvKnVC^JbB@6a-#t(WWaLoSa8^^T>8Z7)^B(-SeziEDE!#F|3=31(Tp*D7GW<9Hy$G zlVIP^xkX3U1-hsB$Wh9R-V}mNRp;C;72XsNH<096!dJB=jITtsL_k~cnDYxq(Qb=^ z4bHv#)4upbhXa-@?3f$l5>IRudoe0Py7ShxS=Id8(`GcGz~7UG!6+qcxI$M`3?b59 zyR2}>W;htkYlod?G{za|Mi5bO`__$D95Jk7!vjagel7Us1FHW_Q_)7CKk{ZoEyT%h z+D?3iy%-P@WIlMB6r^9JUn~WTi!Ur4ZWcOV7Uf-9h``hb)427cGkALh)sXs*IK~ew zEZ185ToHE&saZ}*oZH8ll(kfVPo$06pbFio5y7!`;X4iulD6@4~~$$ zJ*$3Men0p5$MoTAe~$2@J8OJuC{(acnFE}BYP??cOzbQCEZza9TJMrXwKpMmon-z7 zr5+33x<0!y{tROZ=I3@}|BSyY#@)ygU>Z{4pE13ixgGp_lpXfKsIt>URdrUj3q#%Q z=kEd71;J?>u4*KxnF`Oh?FMUNE|luHVEFJiIlTWK8(dUD+Qajkd)CF(IIvAUgox%Q zoj3pu6}YsDYq%qHQ(PQmCKv=$iQ8?7sbdTHp8ry5bWCVCTbW z#HHpC%Cazl>ZRYJp|gN;ORfh2tR>A%2V2!&Dbs@!6QyI~R{t&k2_E)BZ4 z|6vFWzJ}aaunDLG*U0CCbQTzFv{P7XBJ_5PF8ip`pO&w(XnJXbT&oXB3ikg~h4?cX z>5xfx)|d(o-{TFzt^32R;1~ZPG`yS2bJ*;$L*qRulBS6wpzul0Yl^-VnGQQ%_V9Kr z3f|>w<)my#y~{Ygcsu?QAeod z%W`t!QR@66K|q$}5j|HqUm-dQP7Lx>s6jSa>~^~Tb32nt!KwcErl27TrPh1RTLR7j z&(rvog8Nt4O$uoPh%I%5HGj3*Gq-!y6j(722~6}BuB`;5@y{#=T0r0N763u-z8yip zVU1t;O%DOkN|?ThGro|PVdnjj-Hya!SpcZN#JU0w&sY3143u(fu-VHuj6Af7Ydyzb zK#-5!v`OW&%-Yl#?fK69p;wd@CT2&@t<*?+zhHB<0x-k8VG-8|R#~wFdarH5PPceM zBW8+{Lo*~o#D29qUYvGT%Wi&p-d6Ug{djbJj*nQj_wI14$dzeR1E|L%!C@n%QGaN$ zps1q;wMt&oPf_8Vvw#_Hyu$*hr0eRP`b3=<}|NTZwvkizA;s zaq!Xda!!294YS|6gJK4^@V$!r59d9R`jfih<_w7aVz&eQuT{U9=P^|rP#iL2Oz!qqF&=v!2&iLzcTo@?R^WIe5WS7^v^Wa%y# zLV8M8eQl7?bCqRbgLHi{ANc5&qb&wS1@Q^L~A%< zQRiLOUS3y0Ojg&_B6#F|-vlK?Ow_pnadqYrJwKr>SPIx~qKm9C=n@><(Y4A5hNaBr zm&7-|q->@A`hg#VD|FK{!!z6$6*$Z7kVMQ@o`Eo-5Qpm=q?e`qior6{%yqLII_WmF z&;Nui3W0BWEtWWsGl4v{m4JK!867u+Tq=9&ApXp?U@ zjF)olCVImZ*B01efw4jD$)a61rE&4_wqddbTP=S3%NC46WALPBl4xrh-axio>yUNg z0&>vsIbtjb+<+yzvp$MwBF1pYs91Qa1f5&MbEPhLja$^zL4EU@VFd$h81afNV8B+Q zPC37kwB<3$frOY9vr<%TG4Zf}$@RqVN4F$eD2U|f$+>qYUw(;&f4qA7tVd~no)U8$ zgqAb;<|V0(m=MWTo8Kx(wf&_CsoPbD6g8#>QT&xuS9&`=x=Q8E!+vnk;JU2t9kMTa z-^tk1U3{}5(wHb&X~$S4;ks-N!Fw^E{IGc&^!U0Vx6E8vjiCo)LD^R&&bGaP?ak1L za;&h5Ba-yo3MYc;7Syu>!Zy+gN!SxfoO2V~G*}6JOB#k|p3?TPPQu%z4K#zGEL#3k z*jxK&0(LVKqv}cUa7I2L=X6iUF>CuZ=Q*!5L(w_9htmnQTQsgg7LMl^z3_^o0KgJ+W7iYM(5)x-K8>}Y z_wA{DuVr$>o}%gkzRM`uk<%(AdUQzHBv*YthkIy^Z59tSFO$c^k5(2)4U!A;K&>4N zHT7g|Wj-~IWSgvK81{#En%ZVSxXKanhWy@oNzc)U8cZ8WFurB5mraX_C#s%3m!`6D zf97qH;aoGGvj8}B@=V!9l3yH};Q-MG2C$GA7d9MtW($;h^4BIDR~mc;V7hDpO5qJa z_7#MsF(8TUFjFOw@L}c+?7?G;%=X>|s2z;w$(P-OizR@(YP>BK4`>Axxt<`&fPDqd zJ&_76I2_*a8M1U?jk24^1aq5iG^Hk^Po*2^LYI7*o><{$d6UN$i|7W)ttz-CiGc+2q%-Hv{FV3UIu8D=PoJ2C*JZGx;Gxw|L$)cosDg)-W zj@$x|m>@U!uB&(>;v1sFeqsEeh3qMb-{ORHHpr$ z)0;T9M>0?qTkQ&rn0-6=%D6Ux3)@|N*oQ2p7c@`5*)m|3!6`I39P8IQ79C|`-j)}> zrqx7(P?*;>yFL0lbB-wsI86b5PHJJI^yVy~)>2owjwQfF!{ULeO8uk-qr(2*K(ZD8e^ zdF?e`I_hfp!ukWsm_af`rAA=%mDg^)ELeSM;#NsZ8t5LasGkN+GV_O;cO8k!DAtxZ zc$7Z_r!x2)&%L->xQvi1eO1_oR)ivL4)rmIhKiK$2;J6hCN4LloXHQi&xB4o^%AOzlz&e6d zCa;6OaMYG?1Y;;oA>U!2(hvt3+;mN4X^SEA&sc3opFkI_yy@CCdv;ob`y*CosO)~- zsB=RE%B>PrrfNj!&=$GXx!YLMZI>$`S_xl$nXKc%?N-ONg62`jfq8g;Z<0e#WsOyq zEXKO!y@*N9djFVCSLznWGOFIu-#$@ zKxQSl-mD!EW}6noIIjUY@Kl*E1A#7=Q7n*tN4epO-e--^uL)#Y^0kde zwGq-ct~s{wmH;yZkYENkxOqAry2l;PixX*_Q}O+58j^< zBX=fuVb)o#pO}d5h1_*u7lRZ(7LRY-*CrYmC@r=3!e5zs3va$tUzNTsu!?P;)MqpJ_o^77g1=(Cp_%9Nn81D}?S!AFwAbq61Sbye%H5Q!IK;$G zDS`H1X>vR{{O=dC9*?7u5}99#G%G3vVtrJ0iw{^e8vf^21Rz(9cllU#e4Pm))+k<( z+(96F4c>>TB&a$sja|VlvT{SYV>+L!<-oiDVvA0!+hE|jYoR_gvU;3X@ou8JY+C3r zDsQKI-#2Hnzodfk_N*8Onhp@sA11>cX<5U+su-g!_>=gKOY^=gfWTphg8-g*!_$(2 z`>OwbOD6*kH2G7kM1*m5GF*_QH0PYqhE3R(59Q*k1tIzSdT2?)>qIqBYv}w!@><)c zr-h4=tv4W0{m2jB-!&-o%NVL0J>gM*&No$LyUS(=Ei@YbI^I@7rZmtSv|fcj^suK8 zM=u{RT;OH0fUFZ6+%9K4z6c;&d&fNMeRGa)x6E@CoC80mmT>Ob`RW=!DJRW6K=rzr z#G_2;zq8kt_v=1ymnA1|*pwFXYq1rb`fqGEa`t=2Ds^jbag^@6@}6#Wc*5F?tb0t`mLv+glf zWKPh%|5>|_6~=2{1OeqbI-VHIMDE)bx(lLyvmEeLG7Ng~li3;)e?GO@h{V2~6z*8K z+BaagzLKjOgKq-f;4h!OmR@#Tcp*&nYZT1&gD&TfR&R0dW5FtJ;j6=#ZbA04S9=}@ zp0mwR2vy-?4j&D~!SDYeRpuseQmenLcA@5azk%?PZHu#Gc^BUUftY}UbrT8za+(MZ z2)Fws%};34GoD2h3F^xI(7u1b!;jv01(y@zE^O~>rOp3>;ov`BhmdBH z2YIF7Gb-aFPxI zf)aDL9bkYytMdg|;_Gx#|1(i$eKclYOmI^PleX zCNJ=$j=LM#Yr)cTw|+`%YOOJG?J9WFc1o~1{$QchlYMkNj%))t>E2Gtdr)v=7Zw}u z%g(gj*4XRe{d#@4HHlj(-d)dVp>Aw*kP6n)hP$aZsLa(R<(5k-TTdP!>nn}#U&4ks z+1=rZ&E9p-_IMy7Pt%R+ro znD%qwxkk6%>Y4?T%tSw3WIn5GjoaE?r1Oqq=Yv_@GL(>=A83!Y+*qL9*)?_!+UE;4 z4yFyQIT?WF1;-HET?OZ?L+1CEwl`@b14v_Ps8jU8@~0DMc~SM>C`A`nV1M_*z@T>$ zW@jNpR6KA>syDWl8(F#kH*q)B`H;uDTrRa>6nHhAx@(H;<4!e^jpX7|qswqmE2?(@ z5>VvML9T^=F^w-8z%P6sgZEJP{jb8pI4Q2nQ3VgdST&j`|e2|I)pt^;_>+DoJh8J24x| zFR_OkA%$iKci2pF!9-7|=yEr!d`-BQ)=O6n34}%dq>zj5s};^>r(#pRklRV{R=nJ|EXXd*=)?XBjB}zld=$fDn3|WCbSV z@37tI1)sK?xdQc0N>m%CM`j;|jtW82l55)tD@(71iz&;finzDDI?%#prR2)Ap!H&a z4jXKczILQ=g8I%71V71^lf=4rp5u1wzW?ZUuCKxHqJAmZZBwgxx~C$UA21K16rts^ zM4D6Q9`!4-1W63Ouwm1iWa8mWz+)>(;^#a0NQXHGw%hG)^xGrFnDe@#cP|v;x@yY4 zPx#9jGYq|;_5hil3XBKVGbK*P`Gh93juP@U5h)oTLPfq6PWflojhhlEIs)Bj5eB0* z5Aug48D=`JV>$LGSWth`VAl=~TaNtCIiD?9W#`E1uUq^hY~rR!i}rax=JY_ckSE@y zXgdOHR8cKV@>p}ist`_}`tt({p**0Cx&cv$_D&hq-l3Fj2Lvjc9&Im87cPK<#? zW03~38RJbo_|xB*e@sKHhgfVz@x!7-Rb9lAF&{L$jV2whlIE^q==cCT|B=nl2~M%~ zg#4Zyo>0*suTZ?x+_TYXL%G+dl1E2J2|=e*T&39ePv-Z=-BEbktnw6*6RYoA9^$dP zi@?3MT$fIfz(vw~T+m$w8_-_WK7TXjC z@$`Y?&)xloYpc;b9kt}i9zw8{Ks$V~XQFo4@d#83_IfD#YSLll2%>f;t%(DVfzK#shhE3lT@UVlEyyI&llI`FH4f|rF|762DWRh;?dRMNag?## zk0l=8WlTG7U)!{9iGAV^ePKHo?TO4~$c@Psk?@1tFTI=aKEnoEKzYlPSb=c;ueVf> z6DU3wuPc8Qyl4;PWeZ=}jGK|vZh0P^8fVLh$yQy_9cK2dBh2Tcd?AIfbbAw zlkN#3+1YKVHq*Kzugp@Dp!P&A(heE8&{3g-3iS>F5;HD*H*1eY*8Y2kjG{ zVI%t;k5`@)!$u_hcbOoFI=ZIlt#rFk?%)wFN_(I<6a@^6_Vuz*qEDilOoMfc`@%WsV3dUac z8pp@=sOeCGU9E1n-_7Os`#QV*{yuNc-|^>gNiMHZ8luJPL7QOtbF;Xbu;q@{axL<;^i%$2K~CZbnc^}(gsSCyI< zC@K~cS9v*`^Pc7vi&Z_@rhw%TSA5W=s@0HuzVqkVznMDk9}r2rE-pSQOVE)=v>xAg zBMMZe(L0FG;C^bS$P%U$}5QFEfKr7*&YfKNBFp2=XYj1$hwMS6W%3Vd^eC zV+`VrQgxDF3%!{uY|^Q}`7#&jT)momaBSyF7V#hyA=0q~N;IFr)xZz+vz2wkhR;;1 z2z_rx#@F*U4rM}Zho6%_KQr2>A`)enUnG98BWx5|di!UOebA&N)J}r^lvpj%9&RRW zH``9_)QSS4sS4z>c7#mIQ=RczSTb5jcAuYUHTQ8mp55hdsgZcX;j1`pDVdlvLa$IN zJfGxi9VMldP7)flW%12xi$;^;@!6sHJUO>aQJTBBdydlv^^zaiplxZagk-kuSY;1W z&!-ndSW^X`%8h!loCJ+XoJcbL6amAAYln635$n(19VaXqqWY@;bMIo9Ph32}i^YpA zs&{oY>YQ)Zik-)cYFja!fFVYV>5Xqqj4xwDc(&X-%&^RLC#HLDaZfg4W0thazThy% z^qlo}+b(E3KX~Q=D*dlKEBH!>P1AG{n?v>=-cV-vgKF&tWMQB(YDue#6JZw3pivL7 z_X->Bwtl^LI4LF4=-PA38hA5&nt;hh@-s}L}<*0ftuWX{mNqO3@ZP_FF3CGoEuI;I`2_ zQDT;?8Eg*CLw53Cw3d%Cg zo#|%eTL73(tGU{MSc$4aPT_%u%cdKcr~l<;xvDI1r#*S9l@d^zwG=hFu9G0UNczK0$O63ePYtu1 zSr!}sE!T3dWq_jVo8zI%ejnqMPvl4psq|;nFqBwk&2>p`dxVY!<0wl)A^lE%>%?ET zN=|I#1T|c$HT6^QSO zWV=aoWn*0ln7A`fpOQFr;oXHl(W@T`7-r~Rj zVeS5SOLL=kRHQa*je2d`8J4>EJV3Yyj8_9@AIUI9W}PbAB5;b>-RKwTQ-__$a8KUpLwFN}PRY)baW+wR1G* z-ND^ICq7EwzBu!dSK_*cK~EMverHIn5K$-RcYIk@QmwqyLv<)`Rd!$4HEBM=C>8Mz zXbO$n>kC6j+DloY^?CP@m&p!E8j6>#&5aW=^@A$B(W4{zD>3O0!&qX5Ph3EVxPo;- zTsiNHW{&vU#08#=H|mmOSMx_m=2_bnx8gcB0-kArBuv-_(oVDlITT`qjpx=+t5w}N zTyw{e4|Ah$c{6SZ55l7X>-dUKWj1R#4Q7F*o zF&C~6VbZW}KDuQ}(0rQ8u^(D%1pn-{rk?lK(&{0E%K}vyr$Y`CDBZeMYskVujbToi zN6$(B1#CDEb(rK+n_)Nr6lU@%k90GxU|rLnVFh0&Xc8sx%|2G>33(6Rl3D5NeV|2+ zD)R`poOPZ~%h6nf-cdKgeey*+2Z?*1l5}~nngXs2hJnnv!L3tK+xB#nfBfBzDH!;A z)cvC&rXaT>5WdHt;b-q7PKd)xsDM$vt8wPqu+JqEjrXUz({9UGoac3|{Af+BNm11O zRkse-l<#mamhrv#EhjSXLw7^Q&G|M#j`V{L($U}Qh@x324ZaEQs9Em>iE zI;zxzi^ayI1gl$Q+XD0+V(^QvJdFQ?F5^bswtk~HMEC#-RkVJa7&Dj2Sp)pjtA#mB z#76|)KaG$H@LhNJr)q~LNNubxc^>#0ewRLB;<5TIzjv1?D-bwfP3HTfgy3-%*ze6- zXLL$8p7l`_-$a}d(e8-hJogTVw}T$IqW0^y9DrcN@9iOdn~ImVjdX-zfARBZ!8+R8 zQrLEF?!#^ItMNh>Jxj6(H_d1OblpjZX}UXh?MMKCh227u)&sbNYRrufNYP7un1M*AK;Om)?>eKc-1f~g{-Y!&X2o&6qijQB2*Z&JJd*XMUE#ZK@4ZrwB+oE0~=G>>}Wt&oKzf$Dq5hG z5>$=3sd;!`M(Q}nxbClwE@6(UHO_6efDIh>oRs2>P?%q)a`dXNuKGW z(5)jduFF@yj{nSebfCrOhz_Z#ceqPB%16!)HfV9NE-ch#{tcf0SC4@;T6E=JQuf3` z`9fb40NFHc(=?=zGpW@(T}L^K``S0u`PWd#Ad75M&(3~Cny%*XPKRc<(=X9i0?|Zk zj;Lj2byIHHtjd8yitv3@v;TeF6X*q%cba(V$|NmYMH$8x%6w{-*VkYk+rR}r_0b?s z)E>-S8%i75bM3qov0ZKd7o4#@P@9XGo`Vn>_gU|9V`zhrjX6^lUsvX{!sX++dPOf* z#eJu6xt_-UlWeQieqTkBk<{LjeJ=1&kFA}D&R%axmohuG8Y-Oo@fmfD7^RpsPs4%V zx4FQ8GO*&%dS@Ni;E`JW&*&Ta!tgHn8;K;wlF2C{Y;kep@TS=6VrKh8w7(45aVc4a zjd-+eRTFUBX|>~GUn58#KVmNBgj&;RcJ2SEKUT>m&e8dA*777-&MjEoG*TCzok z$X3>xVaC4iYmp@y%gCN3lu0Svq?j>wS#psgvW}&Tu_QH;_>aF9x;J%a&U@y}ob!Hu z&u@8u&vWK|pKoShBRslrkL74U321_P_XXwG!Tx;wRyS>sD9!=Lp&P5JUjpvXQ#S)! z2Ly1tM;}vd?-#T zV#-g>ip+vH2J?b6$k4EuxneH5H_E(LVaVNDI!4nnpg8`d+Sts5$O=)pGl)n9jEk#J zmw@-h>I!Ew*>|ofVB1f86m&o>#CoRA%;SSGh`ZLBvWJIwPqg8RYM22*rjRqdkd^Jt zo5hYA+x%6OX;-*3*CeVw4v#%LUsJSzsj2F2-2LFd@bF#EiQZS8S8MMRveR;Qm5wHI zylA0JB7`knH1f22XK$q)Z=fHIdG2^dFR}!aOA2eK)tFj)%kgJp(;`B8sr!sJT_@a! zyC@oLdJ^YCYLIZgrSX&mxez$f#13~0J}*10Y{_&5QPga1v@hCp$S$*gAWh7p@@9c< z`jWR5mn`}E43Pb93hu5cw6nvzqYZ-3utfzY0@!Jy?xXRYw>!mn)1Xdr3P8*sc?H>} z#f#why32hjyuo-p-_?*OO6uN^cs#KxwXd#mv_%YQgLdohLDGwok?l*Ln_Qo2kJMn; zYV}F-(8C05oxQCKHc-4}Fvnjp_kzipD&EebX3-n%!{_EYpJbfK$6fG8`DY>m92X+1 zRz{9oS{^;HwqipbS=&adgO0k3(ZdyG^&g};5?Nj9fz%De3v>Vg>(|ru91(sfcLOTv z7djjB|wdHK@9u~^)%6oG@%yqrLUZTrWb7*a~%+6W2ZeOt(x$02`HT1*v&}6 zWz}F3g^gXE=;^Q9FlBQESpM?3VI{=G%)oJY2wY7A_H=VeK@X-s9>~=GU}&PDd%n9N zQcx2z&kh13UWgyVKVe_!YP<$|I^HFuWiM__EDOq01G^3}7sntk!xW6*IO^X{?|6ClKI-=MZW_y>(3XY%NpUo@#kQvR zzo${2#wIM4W5(cZ8F5F`Sd?QdwOa~RQ`u9H z#PgAOn~*tX1%jZ{Wh{slSz6AFP{oglPIl!WTc1e zT3W=UTJsz^YJ?Sk9PN-hiKH*Pqe-F*4yT`%wi#J+UP2&iD8;i)els8C8mc7R=X%&a zg+I`4g|6m9+?-=+p=vG05 z2aqfdxXqByUd}e!(K1FwptDFwDC$X&D zpBRm@*jf16&5`LUN;Qndvhbb1Sf`uj*~jz70J7>VS;8Eu5SQo$rO0Q#J@)!& z{Uogt?FB~p#*r+N=kQTocrn>bP=e%PPVR5bj%QR)^L)UJ81rKf@(O|NTpd^GmTpS{ znZ&CSW_%o8c7K=xZuMGMU5Y_kx|O_1qRyd0_$ZDE39#`WX^`LrgMIZN#J_kyg) zIa1q7#**Yz42-g@Yr;9bo-;E53y?3S^t&BxJ#$vH%tA4Wb%9RM^1W7~d%2vlYp`4l z?Fy{1>JV`?@ta ze#qGS?TzO2h0oA3B*6(UCHbCs0w^#m6;JHbff0#|C8FMlRRKw{W$!nPq=Es@0Dbm` zjHwn_`GeaNm3$ulc}afl@BM{`n(g2p(+ggsl|DvC=wq_S=+@Kqa|t95_y5utC*>v{ zS5b?&lA7>8*83v$?2WegiyBUfhwZsStzk+=Es}w8-%0T6a#rE1cXG}ijB>>7GU~5X zyR3GIQ@(NSr_D*-mA1T*V2bnN~1h7f$YfE)^YY znF<)xw8!|N;%JnpOyh#+U!i*S`Z~AeH6^ib2OeGPHIvRCm10tf{TveIbaHJ!^qsYC zFd!0W9;G-bmboXn#xraJrgDBsOgBjAy-mR&VIDo0RhZ$Wuw2W}SAyy_J`7_u!QE6m z6!gR8Y;=$t=ueG867^vG5(NVnXPaNd0D4WCAxr`Umqt%oEgFeC?&No3loOeYZ=Ixg3kUrQLVt6Ur1l|t2QfSZO8tu;;~g9YlBU#JHV}w z*q^e$TKlG!^?Rna3WjVp^*8-SK)!;%yYc0h4f&AYGqY7&VY3-Q#$TCPS6bN4%D-oq zZc9$4Q~_UCLffIfr(o+kX!C#}YF|)4tcre*yLCd`%=JC>h5N(w_u TK?eYUsBa!x0AMG4{oDTls1Rb8 literal 0 HcmV?d00001 diff --git a/pages/downloads/jasmine-standalone-1.0.0.zip b/pages/downloads/jasmine-standalone-1.0.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..f46fdf7208c84934c00fad14d8160a5daa354d4d GIT binary patch literal 21084 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 Dw|4wc literal 0 HcmV?d00001 diff --git a/pages/downloads/jasmine-standalone-1.0.1.zip b/pages/downloads/jasmine-standalone-1.0.1.zip new file mode 100644 index 0000000000000000000000000000000000000000..912710376fc29472f9082a6c90656ee238606d60 GIT binary patch literal 21125 zcmagF1FSGWvn6x3f073bWox=a` zZKVIcZDr_eYiVan%SgvS$M}Es^DO&eRsDK zQYoZma!t1d<)XXjcSr8xr^=P9g~t=7w5>$6v!0~ZGuCXz(Xttqgi{p%G^cy<7)#ZK zNbg%TpOk<>zfJaf8QYj#Nvw!j{E1tkEP8j@r$Tjd?I)E|rlOfd3uFLM)rSZmj8gn)y!N z!X6?1KEX%#8W*zgxu_KgYyw0FS4*URrq_DzWBZ1Ft$8?^u;>Sm2J%K-t<}??V$Vq4 zuAe!XJC&~J*k2;O!_CBGrZKd6_!cZ_1qc6-R9KeDg102){RJ^U_{j9p+ktY>l+`Pi zO4T=ofq)S{?-c8yoEl-r4NS!<%V}EBc30F`5_aKl4dD;+$uIE4UofyykZ%}b8OcQ2 zsy=}_R5#bkkta*pl*mP!P(E8R%QJQ4t|Q9?V12h8f2M%4KM~Q|1JCyd?alZh@K?*K zT5dEsPg#R13MgkpiVRNK8vUa$$0_89!*}=6G_+8i0~`PaNdes%VcQ2rL^W+$Akjbe zxW-1G%?atUEZN=$*{6`;WgyXhxOStv>rcA#D3dtrCJ+Tw(RXO4g95CY26QvtC%spO zHy`=tFSAa~IHG*Q9mb{oMaS4zPn{?ks#=~`h9UxRM>cP_b6dAZd8S>jKY5N);tGIG zLlb4E%MHbESGq{j7qErVxRe4T-MCFBnFy#4r3lq}_-^@)D~?-HjQ3Wr84D$AmfbtLInG5E zFz>KWQZ)=8;{p&R{hQtm2q&gz^=zmoBhZH~j-+W4GHLrY>2KS__vA4G;>&G26Yhu= zPa=!60b$0q^fUzE!odl8b)0*>*;i05#*8QHy`M-AE#RkLXyE1Gy-$ey1eddP{3OR+ zlEUXWI}#sou4M~VgO?3*6*dZ-ro$j9`qGUc_adM1iEDZt@M<{f}xy(`86cTJKInJ8gMrq#v57?V)`GD zU`Ee+V5J+i8M2#`kB^L6iHz1!H4Zzfuy+UN8(GIsjSEH=2V zVz7G}xSjhk?i{;TYx3_=R0h|m0Bu$4pNsTHbCw>dFvD{g(jM40idl#w9IYEOP6h=$ z#2!NqZp$dQax(6i$5O6LdRhlh=#{UQkWv1gK`3G+n-xv5VlF#d2w%+Z8=l;z+|I~; zz_wK}&tkL!y|BA+HSy7Kshj(*rOrlY4~5T1(grkPQwU9SYUZ;T;yT3EO%5!EtMJw? zzIS>-jKyqYGD7)B-z+$`z*){uqHFnQ1SMMefT?Wp8$UUZZ>H#)k9|7s@+M5Dw_tg} zyP$Blrq(&o@S7zKXk0({Mks~z@u3*Q^gFHy0A0ph z9=F?<0U-1o7q#LyGR+v(i;O!jeQqZ^@ZKrbCl%Y-HQOuF2V`qPwKU3A*POEP&zM`D z;R2ODeb1^9vulUZsdO|Wm?+n%=XBRwacf3%e++Jk^B5Bmyxl|s0pDS(Mb?DU1W*|p zImqQzo6zhMP-owcE5>C6A?vj~$~AoAF4LyAk0tQRmecUjE27_f#`aMRkJ9xK5R=4q z&TD9sj+1Iw<^y*DOK>Y`JNn>IH(2evuomK4!s_TEoN#3zxN3nkFm z5A=Uw{{Ms1HwWYV2S5M-5)c3Yxc?`drZaZ_KVo#Os;u)C0YcB0I>W^CVWde}1`F=T z@qFF2eeH+LE3Pq}$%DH;-D05%(h-ak1K>8S72^I_mK$ zcLb}3p5h}i7{Oe(<;@IkhbJD@EX7A@g~>izuhM|@%+3+|OhrGqaLELWg)-*lJal>A1Ay?R6V9;@1fwMGPE1R(br7W#_BY~2n zhHTsArHcwX&QKb0X*6|3iXr<+bRB7p9(E1bL}R+sDtk zi^-YMETI$15K{_W@S)U7)~$R-GX`7WfHPq{iG?{YpIM<+ck*ABIpFn}wVS}U(vxYW7d9~&Fy-Zb^y*SuKBuuD~^aEXdw5s0~9 zKl68$%;aMPk~%BN^KXH+raS-(mH-(7WjrO!S_t%QKgMQ&WH%zIh*wM|+WG)NGFG1M zSFrRhx#CKywAuD^(Cs4PJ^rO<8stFx$Mds`DF{HnOUH&$t~En&J--;~_?Ay#V)RF; zsJdBc8LD2X-VoFp`V;T(>?{+5SQzQvY=IP|%FE>?RJNribdeB#F#C~137wgLV5a-F z%d*j7&caPW*BIlhFTMkn9h4Aw)vWDYNf!2Q z^Mnp;7{}yYXx&hQ(?m`Nla)N(TI4@Evoi9{N?EjR6nkrpSTYXBp^op{6#Jv_l0hf} zVQ47+l3QSvryB`UFOQDzgt+tQfegK`il<&S$%p%$s6X71y}4hY|5x7hb`uzK007kf z0Q@Iw{uk5!-;DNuapnI${a>i~Wz)A%&Od;IPKrJm0EWR|dT1m+-t8_ash5m_O5&HRnShbXZSm!Fem}=@&@${&Xn`)*E`POA8gFn~m`JUVdhlo!yUpPY8e3Hg;Donbbx(>oQj}s;Q>UEv6}@s$M>IRyMSW z)SyYGRT(j=3k1<*&?%)J2WU4cE~%te*j1HctD;W1Xic+I>8eze7-#d8ZX_059$#Ni z`-S!GMC6s7O?W8|)n7JuOQGF|Ynerhs+BYm<*Bor^n-fVpn*CJlS!lByQa(0kyX;E zG-@EET4(E}_Jin{zK97DQ_w6uG1br+QYop3OIAhpVixMXYM`hC12-d1I}q1Q(X@Ak#J)h>Kp6|?cz9)`hf{BmRm!@5G*cNq zZK8_i8rUOuc_^%V__~<@J-+GsiORUQH@0i&2>W0RrjLg^$S+S)m@Jy9zx?n1=ht^= zwjF@!MTHlOvG@x>>IQ$4DOg915y@N_@ZR{<@_04W@=ksJN`MYfeMLaOMyS4X1MhE7 zg44q7eBt_-`W)Xih{aNlNHTSuq;z?5=7_1nydJhk@WZ*dJ>%Pgx;6=lt&v$hl7HO^ zOoqF$)}VKts@}CWGT0UL*SFo=(U49-+%KNLe1QAYnMna0O|*7vzpI{<&9R%J3)7a+ zoE@8LCfo?wiQ^@7%EK21mWwnM4!R|AEh z`w<&{ubPW)%EWmUK|`^*;B~_xPwP6q13p3Q@=ZWGIzspUkPNP254eW?>V$>XT_`$h z8>~j(Q-mEV13Pr=hHQOkHGt_{qFZw!s#>|`-#MDNIKdkqnu;duvTrorH|IOcJ=i;( zK(HOW@ze|uF{9X38&J(X%LkA()r8=md4Nay0ibCy-H@lCZtXwGUx2i&>{)J9VpDjQ zI089E87JTbR7C|UwX4j3RrwjE_2P{ym8M>f+{eA18h6j-aor`K1)9bZ-U`JRAP_)V zL-X}vIZ+zAzo&_BJ$T}}gX@Ozq6a16u;HU3y#8NWJ%P+70@Tu^<<#RK-pkk0^toPo zG>Fy3$N>-OkbeF+#|jrH?Z)?zFF_QSk%c>nWNr?LgB5gHurNxX@RqFr8L~EDIKbc} zTtfYjQuRoxBfKAJG)BzSM%ZI0TQ6*8|wk4jmu$n=u9t-yq`S_y-_gFmkCE-{>5pTDTAx zeim}%#MvJ9UbzPz_73ZR-(~FhaVmU)7RRNXSrj^IMp5NK?2<|L`b|knvT=aywU@H# z8z}tMOgaq$42yhcBUtx=8yzwUah!PPiF~R(xoXC$hBpmdWu|fFI@!6bOUURIS%VE) znauQVV>>GUM!Xoyl1c7b*JD0GPyBkYgdu4PRFZckQ>R>n$CuY}Tg6u8&Wz8oUf>$( zmI{t&-O!)*{6~0y#OnYHXKTwQ$T>`Zzkf4FKI@hY4mwiLMh`Xe#Z% zJYW*oFPSRdVYK%ZGimfq=r|SDBu8SH$tdRbkF|+oD?fd?fLQ^d$Ck0PQ5I|h@R#eQ zl+%+nSsx)KpH%x(=Ax|$c#Qv@nxsh8Ejks=f17P~Q(is`@X{|QUnpZNC5JDSg@n+b zt6|UEooYgoXxl6UYrvw$Sag&!N9Hh;a-?*JQnpsYp%MW`HGUutD^EGeM%3MdLm6vW z-b-64fDJnIn*uM(=jY_|8S!YKu31nn@(NHE(tZlgpNR&#iGEi&Xu*f50+`dlbZUf^e7}jPuE{5Msk(ZFiLtQ)5F=y=hx7Egk!BVBpD=YuJ-bGYyBq>9$o7?3 zOhYX^J{O}8;5rQUSA%u89K1crD}@-zYv~bx@M+<%3~Oxps;I0X@3nfY371{3T*weh zzgSQ1fKkz2JKk10|0ARZe<|Q;^$+JloV0j^n|TqDWz9SWJaqQ7fmeKaJ%56B{;sa6 zGm|A%NIAUEJ>+|tSoty(96_+_FDbaAV3{_wdQWwEs2aNG${zwi6$U@ajA2BICgv(h zc)tVWVj5z8i&p=nEl!!8PrifNPmqvUJc=m^13HvsnpQm#3n)fs0@Y+B(jW(sq`@n= zjmUd$6)b-I3Vt^|vObNx0ugY1yhh>-nw^NB>QOhs&_{)Ua|i2R!(w)T5>gDP8FOAR z0)aMv>WoADyRR6>_mjqtc^#wih`gR?1HZ4&GiAPX@$8X2AdWP5$C6;G{HjjiP~9_m zK~r|=d&V27ibG@o%{>euD?3(XM*VnZ*zz zf8??_>N5a$Gn))t)XTNg+k~iDZ*O$RO{|{Ftg%JNS8M23XXkmYXAl{=8ru!y-*s17 zY^&1%Gg799iFSf@tsL-313UZvGaxROhwq#ol{{HoO>B`sI9I~N_;{|&NTVLtZ~a|P z2ZT6(NZ8(}5VQ19_c;4hw}yJIY`&@&d{3-!a!C5cy%_7eqz98A_Ne}rDc|LclbFmD z1oK4_otbBzn#J=d?lQz1;GB@{GCgtvz^2Z?Ye4m@ydJtF+Kv{s3e!&;2`NPM9ilh^bNu7-q{_5615*&TJfv~CJ*hnG6M|m29{brpH=W`Vl2N! zRe9Htf45aoO7co)=dfQeU1Yh=JN28pz)oUQ4_E%*?m3y5grl?$#U_*;c7$L9SltEo zX0YJ4DVLadu{KR+^-47ubODJ?5YvVo1%^! z8}S!X%prhyX?zih`+Vi78ZB{CXoXrdnJ{1|p^kGV22X(8gcfOADd;q7M%KbpI1LKY zjLj=Xo1hJDzGxY2W{_<1-r-bHRfz+k9|U=(mxGzQdyMiaQMX&C`tRUvHTZ` z2Ocq5PX`V_ABY~tL^hUseS5f*M#KXMS&<$G5Ep?6D*Pt-yuzr!oR%*u20{0*vhmNH?|P@fuD?8(p1wFPtXN&(3Kp3MO!+8&EQDn(O-O zb|#uPW2xS#Csu6a0?6wAs^xPLQG}>=3OXGGqT0}p%zynd+@U!9f-4>>5Ql^iV|cd* z;~rJ~0*sz*^FA;F%_+lqy(uYU@cyKysyXe>UimH!{Xjwxr;OHU#J~%&`3R5$3cBKR z+$}F+*DY8TDFN z%KMwiizJs z)q;G58$C5c)D*nfh!{_X`h}*bop}3 zQK{aa$l(vd*^OtbKq>S~JkyK>n)I4jvLMHzHbY};WYWt6p`TiHP)W0i(Xd(dm1E{{ zfG49-K@Yz5rC#dVh`-k0I{nL&k>a(xO)USMr9}u#Bpw^lYA*$_C#ftiOn`CYr0GF! z0m*<~u#JV}oshT-oYz6$TSHOK_2Nv;+g%pSrO)~*(L`j=2C2e|kLQvyVe0$l7p&FU zp;e4>%>+75m9Nbw2EEiL9K1v7@*%CLA*7_CX4QzKvT)W{$ntd4TrSD|;3|;rGx{E8 zx)vH(DAznsaF1!tU6FvYV6(DcpkYCl4`6h`G1B3bnx>;V9!lt=sgVk3?44ukiXB|I zTRo$!LsT%ke+ULwUu3~00pa{R8xZgHmbsq;Yi=Ym#+h^?wO=r3SzBI+iP;8xp-oKL z5kp%%3}9l(04=1NSaRHx3m8Z6j?=TLB)CYUnPW@gmSPjBt1puwHslp1t~|C^Wt;Np zH4C_FR$W(YRo~*W#OZOF3=7%kyF|bEES+~(Z{f@}YK!<9eOfiNA;O1{U?yYlhM>!B4AQHR3R@ zKt@A3f(nP;ykfZEglirc64ux8XU;GkUifPkgFFcLk~<)7&Wm?iv+XtD!GMw|^Tg4t zCj2V+U@dG|cwuXCvHlT$HpHn7?^CTip<^R9g|m-K4Z0(pap2I-bgs6|7IB+|j%J%2 zylR+9MO)?jSWb@;KHHHF3S5C5JW*fO=)zQ`LhU2g99yYFsMUG+=9xpI%#!{n#`Xz9 z{=Ugitaari*LBHE;xW8)$JrG;{QkUD%1RYg&0gCo2z9rYe*jXx8p zDmdS=8>p5!SE}WL;KSeK@cw(OcTojt3(srnUK3a2z&7;|BAT6W;s7*M;L<9p=8n)! zadD6tXAn#!ZnGt(j?L$Xh8?cWCd`E5+eHqJgSl_HA8oWnz&LeSEMPTx)|B^5dC;I% zzTP(Qxfypk=ry(t4_C)0UjumLRc9fH3*~Rf^|*j`KOF~MHYfd1$ZB4K^kX*DSBC>= zAJ=fW*iE+{XyMxIu(ONt1}A0t(8Z8Zt)9~SeEL!cgGy8O)<(L(q2?6Mv@n6{rrV*V zvyjRSz3UC`JY7YFAb9%e#lo2ng;Dg%-)4ooVG<%KmkwAe4!*ekMGOeKfjm&O4X6#% z$m4@_5*)BFP+V;!@N$nX{bHw z-se{EhXW@b+)d>@XcXO{@tPDx*FX_ec&FnvMc;``gPkaQc>UG@@A0*ARx+U8<0jPN z;xBPzIaiG0LIgRWh)Uf01=F^+2DOPB_WJB>b74=yk8zQxCD8I^IXU(yc6yT}Aj|ZK znva~X5FG_42K~v`ARjMuKUx2~nN6kOT#X(v)DVGE@4n_O0q20`Y4}dXX(x7mA|Pt2DEhWt*dE#UHa#;w3cE4BciyPToSMVY*masI^v{m}V0A$5^en;NS* z-kI$>fAd4DK4XsA5u2PqyLb=bIC&S(1JDOhk8 zFiWEI2ZXv*>FKYohriY`3-k*YtvQ3DK7t*0)pv0#Q6po06JF97)9fKHF;W5a1^$y*8|+WbHWmX4Sus;tJ=F$ZofCY@9t>Jl-K8; zRdS-a6uaItL%uP*0!{bq?OUJ7bh8Te{Ax!9&rP^HOE6$gRAV@9LHAwSRz^p0R9ef_ zC}`y4zyu{zRLHp=VP*CbEibWUSOUmyqMNKC_|ntU&ZWu-hNaBrpVTX^q8i zGkDE2-96MB1t`nyh*Z={o{lgs0f*}n^utni#b6m}=DJY^owN(@`!{KeLg`b&Y$x}abF&|9t6>yG`18x%y^UQr)xIwoYhD*766Mfzk*9y3P zg`rX9*}O$Jxo+X;K5w##troxaWeY~3F>um7L9{sqZy;-~b;vq?0Xd-f95EUMZom@V zQ5Qut9%DFYR3toEjLxm$xm+8(+Ed8XUS;ElUw9OSULVD3~;{k+FL_S8AD=cd&B8tXE-fo)Tjmm6m<+>Lt0Ah!ELX zgU>orx#gu8xx+=53?;T2LHw0uS9~)is#@vY-L`MQ;HIqp4YDWd(9zJ{Rb;a~%$O=! zamz?0;ihaJ(sMqi{IGEYc4`7M8zUzr&=++&3pT?Ts^Y+xX*F3RqPf>XR z-)R)>$Z3@lJu;|llA}JC%{{ovHiHM6o5ADZM=J}Y2FV3^pwkh)w5|G4pn4ywL z_%Qtj_TaHuYJ2Yj)CR`$)Pv81i`9?ZGS`~w3sMeUswYS?U{{X&nn;Bf91d^z3|TV2 zO4-F@g1JREl2V=CtI`E>p-bLGZ>;dM^g(2cMRWsaSg9p7B9dHzk}P&OZPx0oj5{1Z zVt{g4(OuNx(|PJw(w<}7RkDm>KNoJsA|EgF+n~0!DoH_*^R+>Z_*x!zT{6Q^F1N$? zjn_oQOQDuMzdll!Ue02S>s$bAE7z0`3+G6bd^pq{P$8NF41eJNbMG9-Zm*BpWb$Cx zl#Lc$2{_iZ8I|{5{57yHP*M@UWVh#Qo;}(0ne$cnWKmo-nGSPXOKyQjOpp_N*IBe4 zaa)_WZ$5VXZ2pks;5A}-}b^&znVlC3iGmTyG!?I z&NaoO$D*8Ty5dH$U5IQgy%46#`aGj6vid}#4HH|TPPsNQKSBKPJNVG`PYuWxRlvU{ zPF*t#g-L?oNxXKT$hWF92E{?3*pX73AIR}l^SH4qe7HtL16a9fPGgIoj#bck3rF1J#= z9^ma`iLbifx3{SMZu-of@!pNpl)cp!;rgT-3$x=CP1aipXs6T_m_ZS`Gj|7w#ij`* z#&c8(AXom!M5x_i5C^o=M|_~R>t6TkeF8}!8pAhl8k8@JVdXNlwc3(IhNQA2qBx7r zJJOt$tl;fL5@4DB6>_Slr?sI`@DATpTK3U^g^NBWZStLOI1pa7?;~IT7N8bRs>T*$ zwGOlm3>V=xBwz%hpzA2vXDR2mN&|M1pa|3NT9VuqVKyIua&PZdVSwxzcNXc@%*7+y zK*A?Kzv`d4=1XZg_Z-@*DEw23__dFrb2Sjly9Hqp>(W|~%Doc9?zB*& z?4}t0b)PI`6y!X!42Yi@T0v$Rt52mCgsTjN|7$7X@FK}(n*8!i)6)}*?^SxjS71T@ zIF(Sxz#H(F0W+2woZ#@lCt3xAvy_BsS*XU)E|;@OgjgeZ!Ls{#>{Y%GQ%O+u zFO6-19r98G`6D{t%f*0)ze39nteYUf7Cp{ymshUZO(jS4}h$_F+Do6y52n4wCCk!(=D5$#4G4VVYjNBLC z3Ne=Dff7mff|L^)b4Hm{XWHB6cC3{9qp2++r*o|k)q%@H@pDb@u5KO{u7u6>G{f~|^%kz?a;?(zBsGX}NUI+Uud7*DB z-}2;yYWE}r{afusCVpDm6rF?I@woju%Z&7FW3OyE`w5z;@t=w3d$trL+$)gBUdRx4 z_1ZP)HA2$TNr0abOL8-aG4xtI^7I0}ag_ZGd=MiVtpW^&!87kMRb)=ky|=6QkLJf} zTm%DW+uI)@OGWNm=ezQu{4$+#RniT*@snHY5q~_j*$PLy9u@etcCcTIR&S53t_gVO ze;Ix4^ef}CYQqb@qd_mfr5S!SyDN8q*DN9yZ`+M1lj+=Ek+@8PC!S z1$E_qXx~5J;YaRZHk}nk4DEINZ33D(*%Vm1m{-$b7#jY?gZU|>NYKW3y7F$!hlTJ? zkjNmxB=u0dYfiid&lnJOrj-rHea+#wuwBE+r+=ZyqX4yggF@a343aET-($F1ky-h7 zbK~Sxv_VD-_%3=ms{}e;BdP!>P-4B`Wo9Fn<0>I7x>9L5aCr@@Q>&T(U_R z+cU=7wIy5E?mDusJ(`L~E(7<(g|1^-5rOu(CihgW>^0u)LR#!b9dSRf*MzO^ zY<8E}&{AvW&|Unb;S^(e^2tW2C;Q-d7SalO`fD#T<4O55o48#6OxtXYexBZ3w8gjm z<5Y_GQa4u8H?loQ0c&Z++0-9U;_i|0l1nOGOYSG@Es5`&$A&nW-QkJN+WnI4_DD>~ zg`j`fxxFA`uo^}hcs0Kt&kA;u$SvCtORLvd9mlk+y5s#QWoKmw0IwlZ??X;_Xqez# zBtenp$I2~$*9O{GPUKzOg)OX(F71aj;$`4If8`E>rS1$h6XjiQ#K(pI8p&+6YZ6d8 z4fTAU_Oz-ga{H^F%RP*R7jE%_skp#=Z)J?d>MYsvwvj{FHg~Y8FG*;@@i5#23`=x> z5sbSUp4)BYXVXRokjB(lqu`U}Lnqh-vtqbhj3zF}_ThzzLGLKQ&P<3Xci^05Z(t=i zvhuJyc0bwnn9ICSCbekje>su5YlQ6OMm?5=#pJc=~cx5-#BmI5U0mu zP^_qNyBRaL=XWEOtUCWn%!2Yu?B+&DsousNGLxJ) zQPj!5+|4Xo74D(+(p5tOVUa&+VAy7Y#5bjeS#S(mdZC;AIS3Jyt3jQi_N?W>TS1F9>0HQ~9VbtZ)59sSDqcI6 zA2HI~u!jB)OKCOY(kAEgahbMv&LDS^f%a=hjE@C?(B~j4Fd=(~?Lja2u-VEHtaDPP zT0cH6d(U@J43?7E*g{xYe9m7=T|!aBz2nt|7Ah+tQ>F#269;tIV1w|nCxsK#bA}}R zPO_LH)_w3Cw_o#_P^)tJ4Tcx>PsM7TTF%uy7R~sCy%(VfEtMtKq(SqjTa_h9X7GUt zpV}lB4`T)%e~A)1-^)Wf$Ud;yZgZ#K9vi|~&=q}nVGz?%SN3_qU(T3g>;|z1%Xqg_ z6P-4gbA2j#R8*7@bUMjZf_?vFesA0rg}22jPZ2r3^1kUI9=p2$++)jiX%z}wD80u8 z-I>1*?NtTz54g`k;_m%;g9f*1>V;_nKgE*iY|YQ;!RB^mh(avLbCf2(a5G zXW!&jIK?uPNT9yGsb>JfWM3a`1m#8ocRyE0A*ZZ{z}t-5Dya07sYtsB*jLV_JnP8~ zhC@u`w3DO}6{pmS{-jSj$ny>2rTel%xADzaT>S4$sX-7Bo`NrjmJcY>ai8*0$XK~t*_21 zf-XPxbKD)cCvUv{;d8|^Dg_P~u51Q-X-BSt!9NwqZLn>zL9ZW3@6-L>*rz+aa>3hP zOpxTu303pA${u*;Y>ya)Krd;d4yU|EsAyy!;jJ*f?6P8I&@{TAWWWo@Yr5HxH24y7 z4|R0nePr2xXW_gB8&kgB6sDovfhRSdIt4W~bo`@xk?+zM+ll3)#_XwxS*rxNi5 zeO<~ccYzFul^losr+FOt?O%(;Bo!J*k^smY;&?#YXnI(HxJVJnHnen&0=EsyLLBvC zQCK=?OP-E`Wjn36>&vj=rOiJq4I4HiRBaMFw=6NcwHBskpLYM@sljB#KkuB{pDpVT zRdY6wAC1~PM4Oy5FITS$IHoM&VIRubxrJ3qeo|#$?mbe$`-G=hNdCv8<;Mju5sCb1 zh#-hsx~3;BboyD zEOTotheDAmJg>CPTCL^s72n#Swb7Ne*6~|${_`~_6uyV0T(QUfdLeNwih9JL$Ls5L zXXB~OUT$tTkLT;-CmfmFa+8a6`f$NIP-aLTedGZ&d_n`z%{Ow68qPH`5ummZK~zm| zK5EV-4d=7qOhdfdxEF2gQ3;-%u^gZ6j~aj;NW zJx`dw_T|Kh3peijc^a@0qY{ya7Xm~W0Y0UM01x6nbx@|L7&;5DP(q*GAEt7x>lZUm_KSHE1$>A_2(&E0;&lh`RnL7Lw(|C<@Tn>l;qUeE*jlc}flTO) z@H4X4Cq`=}MB>cS^Y}M5gv~;8PhZyP2Te*s%>>v_vDG5&;YQL{lkMbAjVK_Rsz45F zd&q=5)fumaC8LdG*ZGN7Q!mHk*yDOLjv{_bG3et%CNmgBM=l zqFmd_fGb^Ab>lf~4w)VN!Sv93rP_7Ke18Shq83#Lf^3=r<8A@3RaV+fopzf!H=FIn z9;Ek5_ZL0Ix4J}&B#MX8EHG`xz!;d5#0~vL2^AI z{iTLJ%#YZ1n0|FQ{nIujTM;?LX(*FC1OG%`rWCIoOTrmVd=%Z{E=njOFpMz_tpC!g z?{*724AEjj2coOzcW1H8$V*LPRi7BSyKL?@a@vOSpwi(Oi8uLIH7&E#$zH$pPU`N^ z5W4q`1%`)w+{Vs|d%6#%z#aV|_!M3hp3KNw9$!Gd4@*ef^g$W(Wxg9(TQAT{@oYiF zD!W97ed`)kdP(S!Yz$Y@8av@==JP(-Y^W_j8*U6ksUI;rDQ(!An z#}{fE4A^0~dPSq`kjtAiBD5!;8GywldGaYByT6j>ek95|0fy-p_~8F$P)|ogh?1AW zl1kN~;(V)Gbi4RV9Wp7Go?ZsGwY7^qx?titT*f{jdq3`%W9$@lcswQaUA)FWGTVs1 z*(|H)U*{{`hzw-!$PC7s53AyKOC$U_8~9h~MI>&E+Hk_eKpF2uHE@@%x5_~20o$CR zb+{d!VtJ>5XoVt7t?#hncy0v$X>H{%6JgC|v8_Nl=Q1w{ZW*-|Dr(I%cy63<4ME<7 zbP8vnw=OS&hyQqV*7O!zmb$8{XvW6tJxw#w20rOaS2%zzqb%9nmTW|_36S}?o~Z?l znxrOd8|HgafBYjUA}D&grlwnjF`1{LZ8EBjN3hb=QB0%ME2DVHaNSz8&>`+eufH01 z!E_7bynPAdqB_T&8X>AuN8ks~pz)R$GmSfr6X+bOo~7CI7)s~`b|{4;SZ6@T3%F|m;o)NrNV&_~H_ z=^rxPUUhEjmrVsfkm(5Tn>fY}Z>!0qwqGb1TBeSrhEM>s+Om3G6?Dy6kQI1h()K)9 zzQ7cN=@cjgw%)LULCoYl+H00crVq!1!3{nkaG5v6ror`FhO2^(@ZDUZtt_XU0_CdM(pvT(+xO+@tDb#nHD;WmoD+vfUJ=QSSk~pOs&i?IO*Qjddkx?8-2O zTYBJ{ufo0s1Y1oU&A7f?@JK@V)&RzyK%2oiohgXLPVeNj#eoUR-1+vF?n-ShM{Uv) z_1?HOEOGg9fOroOuPVScnr@85GF`gH*ZQ*O!o1>vpvpuaJ99nCw8T$EZJDP_)fQeQ zDi^0UUJKb5)eG6s!z*y*Nak(B0;`)X#kywbNaCnXgl}CHP1U!lcxYqYXk+nRynMHMXW}h0V^9d<_RVK-?sYK&_XZj5Xq-D z!%zSy%*0bJ=|)`s+J*tgBEC-01WF*hU98X(@*cb;v(ndlf3q5u=00v2>>QnzC!+I1zaf%1DSKZTZf{y?db?V`MVoaF!1$=`$v6DeolEHe78aU z&)$2S5QmpgKBIhR!}PUbuS*6R?@v{S-KMWN&+BU05t~}0qNw|;t}Toy-{D>?<9pFt zc4Y2{?z+q;r@KU@Z!kUiZB=BtnnF?j@E+!GE!Vf8P~#U{^8D5mREY-{%e6^0R+otO zdFWllz-KRcSl@dshRxbd-8x~2umM!+2)%X@Chj8l^-wqOCMK*AUm-X<8sTH$+m4?f zsvMi4wD4QxS>Q|fth>eVyXqEvo}6NAzafD&m>-VQeR^de|CaA9k?5SWuFL}ZgrH7y zG{?1PIJ7(d>=l96l-(301I9of&G$%{mVLA@B;&VwNH50m=AquELstuNuWz#-j?_`A zS&+rQ76^xhRG7AB&%O<1u`EJnpu+v5{gl%~-9fgQBVOrr5BNk3%swgfg+YOg^!R_D zyFjO{50r!i4~H(`6x`7}{hwH@L~RaUW793!FIjxKqii<3yaU)Hqlm61Rua+pflh79 zqfr6}zm*5?D3N-K&K$A6?T=!aRm+m|rGzzJL z3m>Mm%@QcBS@B`}c-{g%5V^)TXRDM7)mhb4X(^DVxtRDHEI9}4UZH8uqgEa@oA~9t zl%24=m2MZIDW7BWpnm42iAAm+izfxcY*WY9tvd7@yqPD8btNyqEwNUMLnYwPjn8ID z8Qqx2+})$&kk`N{ATfK0z6YL>vy%Cl@$r8+7_GE3J_j%Jxp5k1rEj zdGd35y`HbX$1f9E%Kg_5MXQ(Gk{>&!NpDKzvr7Ocz>gcCWhtZDfx(HaEnd!#yS)^b zjUggb7&AN6NVA2KCn!M-XH~T1?1%H~lUeL&Kv$ep9Ed7fpcN8S4LPZ~cppaUILEl| zaP=;6j;htpt+s&m9QK@);fzq2U#4>Os&Fp)!8LcHQ0US}Tq@8l!!WK(SHFte<~usj z;j=`C)YLoN#qDLoX9w%FxL6nM^klaN&-Vphu|^9o+-gmtnJJ&>YW*M^rfj;#6tgZx zyQb365<0dbQd4;Dbk+NIY!JN6{BUHGQ!GApp zzh)&CweC0WXv*Uq<1JSyqg>cMJ@cIK5UwSH1Ma`(a6QTejaL20VLfcfykwD;(e?o! z9InfHIz~2~A+sv4+c{YG%Ag#sYn!W56BO0*1w)yp){?;5 z!9fI)?%>cE&XM0hr9wFhb=yTi=QYetjci$?Df}#NpX@mi&kJ2F2#O zZe;rm71wMC6bdYeBS69kH(Ym08hA;ZziE?tYX1I;qAawQhL42?)?y1rsPPNy)WthLTH#q#Q2E5akW)( zvFpuzqYbQsU1%17jUxUA>hrs&4(zGD7#wyCVAJj}BP1>sLNf&^^1U24PL!avK0rK` z-h_#gFx28u=r0*s%#Y_&?p9tYQsE8iTF{JDK!F%gSVj!9iKFR6GS_L<)$E6FOGZu@ zq~2cOVtrSi)hcFCmOgnV780NaAw*8E9FZy zS%lAYvzmZBFU4C@ZfZN<3Ub&Clz&In5EB?2lX;Pg(q+Z96AEY&LSFWQ%`*FMZ*k+d*B)PAX; zP?uAdnae58Yp-I%afUYzZXgOCQTK?IIf(LNZcD!}ig!!COTHk#wML1rfNr2~X!0_B z_6;5&$Se3Bi|lc5L~GGP&WCnOtTLM?C}zW49lrW>coHvorhiK@`S8_x4!pG;eCeiJ z$T_;nAO-Np$bJLQIbE%(P^OZ_t8R0NDW;X2JU2A2o6sXE%2RKQU9>n`x~h@sjJ%Tg zVX%;(t2`E9(a=iN_e}`gz8`$@Gh397*mI1|o`y)n1pA9sVAS2VWw8ix6VWPoI73Yft4wIARWk$~ypT|ykJUMR>^3W#>Ut7u$*WGo5|H^FmE%PsIut=& zKx5Iox9|kFCyhy4hH#=_n3?dIctsok+H-<$z0>bpXN}eI>c-RAdg~RQQKPd>XY6t# z;zZeR8l)1kMI=Cx1(!+;m{aM>vSzsJUbDf%b*y4kFop+0uCOriXB?K(ll9T_w&)+?2Mrq|Jl+ z)C{|F$El(?!41_=!YT`!dXsmce&>vR6tMRBapOi|Q*$GiSL56*6x`k(=xo$j-o4QR z-H*nmn)+u3JL3ekgcsSs+{gimqxCgx@1J!gg73e6c1Xub;&c-(q*RUDeVp-DvUNCg zqpoGT!gWnJ(qBGq%h%X5-M42nx zg^rhpEfcg~?Kf?55Yr9HaU4BN6hO{rZZdUB9SuEPW&}L_z{8TW$63~?@^!3K+D!;7 zn8#k#2m|Y9Yb!}Pwp>SK5a|;45}Zq>t!Z#qv1w6}UOr>s*_*R*)hg%AjxElHnA!5i+@kyy-Hkyz=aKteu(o#SBmFI|t zkD(;(lMYO?fBIQW5W$kyV}1@EUWlOVo^CuhN&B49a^_RBF{alJZ|lik|DH9cA-3dF zM~p~i9!zPQf;^`RB+1#Ok-$ger01`2+6g2rI~R95&tHU-UJ?}44gstC6{;AyW4MZ1 zVZ}DZPgrVFm^mZ4ZEK~oMjD}T*mlvxZ1ZXhl*y`MIZ&+MLkoUy@ibsgl{g2n5LZae z@)2K^FIYM{EYmSfb%N?Fy?ociMS}M$8GYETIdee>!OLQ9q^B^AUOm^lk`Xx-z!u^Y z0o}9pT4hkWFB@!{rrI#?=lp!|;|!2|Zz|F2IW{C(R6Gy>U?5$UooyNVxVe$GwZm=t zS%tWqsi#i~WsF_eN~jW&b5|J<^I zfWoF{sVnZmQr$c#mK>BxHl$vmUXeFKi*X@U^ZcX>7fVRMKvb{rtjuh;NR(_XI}M=3 zwo;!lzbw74s$zuljvS^zGDI5jTASVC{Dks;Oxww89JsnH8P5Gyhnt^b4hTGkoHd6@ zbmoB6HHPioZTGY-KT10ie+IDNw4b(2+=kc~{3)xZk>dmL0t|lzlrN6Fs>W3GQtdq;U1RBS9Nn?JL)s>BbqC!KE$Cr@d9@ z$LWq5NExvjjQWJToj9&Ln6-eeVw-g3EVG>n3E87DCzaOpQV-fxvr;AEi`){BblLD7 zrzgaZde<4Ubz*0_p|vTO-!vZZ3M{=4@YtumeEgv!Y(4MlGt`OogjmBQ-bv~oXT=@( zmzU>%Ns7~QZ|*gdBDj%s+W-6Z_Sc;FivYfm2K^(76u_(4Hfs?5-jm$Jwah~2uN1@i z;$6yV5hIOi;c5ptXIR&srH2CiWvLks~sPiri&ROOg z00PV;X0)PD)j`G0@Tc!6PR5HI>v}KpDAJ(AQ17z5mSnmIZ*}63xpdj26oX32=ZJXM zliT~nmu>Y!0dYW!c*SY4fp+5kI;UD8xVecg(Hn0!wCZz z1tqC1AuacN1UQZ_zXJe_fO+Mek6(Fk)L(gU|6;-YScw_1TS@7g5;^YzVf-`Qzlk&C zWVo-oq?iL-ib(jb?w?lv;>7))8FH}AZZnc3)Xk0~{uCz1b$r3x{H6&q2FPv`PV_%B zu>-sNJqzUR`fdw+YTvU!*1Z4B#P}d2!pV3)cbsyVU(m^!xs#BJ<~G7-_Lza`MlV{&pvMM&7+V u1>LVoyYlnzNs_0x-IB_BUnT!ac0UrN-b1>jqzdsr0Gjk45^!qg+y4PCsk5*E literal 0 HcmV?d00001 diff --git a/pages/downloads/jasmine-standalone-1.0.2.zip b/pages/downloads/jasmine-standalone-1.0.2.zip new file mode 100644 index 0000000000000000000000000000000000000000..bce3d0c69888aa63c9bb9e86286a3f65a0e0925c GIT binary patch literal 21130 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 literal 0 HcmV?d00001 diff --git a/pages/favicon.ico b/pages/favicon.ico new file mode 100644 index 0000000..e69de29 diff --git a/pages/fonts/droidsans-bold.ttf b/pages/fonts/droidsans-bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7ac04b6f0d8a7e8407ec37445a29ad72d6c43fd3 GIT binary patch literal 191032 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 literal 0 HcmV?d00001 diff --git a/pages/fonts/droidsans.ttf b/pages/fonts/droidsans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..767c63ad000e3eea20f3cb7a43ba9f4154ed7a5d GIT binary patch literal 190044 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%0D=-PBu&{ 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 wkXu8HFQ7O=WL+{~?(v8s#K0|5-ib%7 literal 0 HcmV?d00001 diff --git a/pages/index.html b/pages/index.html new file mode 100644 index 0000000..e5563f9 --- /dev/null +++ b/pages/index.html @@ -0,0 +1,79 @@ + + + + + Jasmine: BDD for your JavaScript + + + + + + + Fork me on GitHub +

+
+
+ Jasmine is a behavior-driven development framework for testing your JavaScript code. It does not depend on any other + JavaScript frameworks. It does not require a DOM. And it has a clean, obvious syntax so that you can easily write tests. +
+
+
describe("Jasmine", function() {
  it("makes testing JavaScript awesome!", function() {
    expect(yourCode).toBeLotsBetter();
  });
});
+
+
+ Jasmine can be run anywhere you can execute JavaScript: a static web page, your continuous integration environment, + or server-side environments like + Node.js + . +
+
+ Find out more in the + documentation + . +
+

Downloads

+ +

Support

+ +
+
+ Powered by   + + Pivotal Labs, Inc. + + diff --git a/pages/jasmine b/pages/jasmine new file mode 120000 index 0000000..68b6fc2 --- /dev/null +++ b/pages/jasmine @@ -0,0 +1 @@ +jasmine \ No newline at end of file diff --git a/pages/jsdoc/files.html b/pages/jsdoc/files.html new file mode 100644 index 0000000..9f94559 --- /dev/null +++ b/pages/jsdoc/files.html @@ -0,0 +1,450 @@ + + + + + + JsDoc Reference - File Index + + + + + + + + + + +
+

File Index

+ + +
+

src/base.js

+ +
+ + + + +
+
+
+ +
+

src/Block.js

+ +
+ + + + +
+
+
+ +
+

src/Env.js

+ +
+ + + + +
+
+
+ +
+

src/html/TrivialReporter.js

+ +
+ + + + +
+
+
+ +
+

src/JsApiReporter.js

+ +
+ + + + +
+
+
+ +
+

src/Matchers.js

+ +
+ + + + +
+
+
+ +
+

src/mock-timeout.js

+ +
+ + + + +
+
+
+ +
+

src/MultiReporter.js

+ +
+ + + + +
+
+
+ +
+

src/NestedResults.js

+ +
+ + + + +
+
+
+ +
+

src/PrettyPrinter.js

+ +
+ + + + +
+
+
+ +
+

src/Queue.js

+ +
+ + + + +
+
+
+ +
+

src/Reporter.js

+ +
+ + + + +
+
+
+ +
+

src/Runner.js

+ +
+ + + + +
+
+
+ +
+

src/Spec.js

+ +
+ + + + +
+
+
+ +
+

src/Suite.js

+ +
+ + + + +
+
+
+ +
+

src/util.js

+ +
+ + + + +
+
+
+ +
+

src/WaitsBlock.js

+ +
+ + + + +
+
+
+ +
+

src/WaitsForBlock.js

+ +
+ + + + +
+
+
+ + +
+
+ + Documentation generated by JsDoc Toolkit 2.1.0 on Sun Feb 27 2011 12:17:46 GMT-0800 (PST) +
+ + \ No newline at end of file diff --git a/pages/jsdoc/index.html b/pages/jsdoc/index.html new file mode 100644 index 0000000..3da3b72 --- /dev/null +++ b/pages/jsdoc/index.html @@ -0,0 +1,330 @@ + + + + + + JsDoc Reference - Index + + + + + + + + + + +
+

Class Index

+ + +
+

_global_

+ +
+
+ +
+

jasmine

+ +
+
+ + +
+ + +
+ +
+

jasmine.Env

+ +
+
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ +
+

jasmine.Spec

+ +
+
+ +
+

jasmine.Spy

+ +
+
+ + +
+ +
+

jasmine.util

+ +
+
+ + +
+ + +
+
+ + Documentation generated by JsDoc Toolkit 2.1.0 on Sun Feb 27 2011 12:17:46 GMT-0800 (PST) +
+ + \ No newline at end of file diff --git a/pages/jsdoc/symbols/_global_.html b/pages/jsdoc/symbols/_global_.html new file mode 100644 index 0000000..91ca60e --- /dev/null +++ b/pages/jsdoc/symbols/_global_.html @@ -0,0 +1,1131 @@ + + + + + + + JsDoc Reference - _global_ + + + + + + + + + + + + + +
+ +

+ + Built-In Namespace _global_ +

+ + +

+ + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method Summary
Method AttributesMethod Name and Description
  +
afterEach(afterEachFunction) +
+
A function that is called after each spec in a suite.
+
  +
beforeEach(beforeEachFunction) +
+
A function that is called before each spec in a suite.
+
  +
clearInterval(timeoutKey) +
+
+
  +
clearTimeout(timeoutKey) +
+
+
  +
describe(description, specDefinitions) +
+
Defines a suite of specifications.
+
  +
expect(actual) +
+
Starts a chain for a Jasmine expectation.
+
  +
it(desc, func) +
+
Creates a Jasmine spec that will be added to the current suite.
+
  +
runs(func) +
+
Defines part of a jasmine spec.
+
  +
setInterval(funcToCall, millis) +
+
+
  +
setTimeout(funcToCall, millis) +
+
+
  +
spyOn(obj, methodName) +
+
Function that installs a spy on an existing object's method name.
+
  +
waits(timeout) +
+
Waits a fixed time period before moving to the next block.
+
  +
waitsFor(latchFunction, optional_timeoutMessage, optional_timeout) +
+
Waits for the latchFunction to return true before proceeding to the next block.
+
  +
xdescribe(description, specDefinitions) +
+
Disables a suite of specifications.
+
  +
xit(desc, func) +
+
Creates a disabled Jasmine spec.
+
+ + + + + + + + + + + + + + + +
+ Method Detail +
+ + +
+ + + afterEach(afterEachFunction) + +
+
+ A function that is called after each spec in a suite. + +Used for restoring any state that is hijacked during spec execution. + +
+ Defined in: base.js. + + +
+ + + + +
+
Parameters:
+ +
+ {Function} afterEachFunction + +
+
+ +
+ + + + + + + + +
+ + +
+ + + beforeEach(beforeEachFunction) + +
+
+ A function that is called before each spec in a suite. + +Used for spec setup, including validating assumptions. + +
+ Defined in: base.js. + + +
+ + + + +
+
Parameters:
+ +
+ {Function} beforeEachFunction + +
+
+ +
+ + + + + + + + +
+ + +
+ + + clearInterval(timeoutKey) + +
+
+ + +
+ Defined in: mock-timeout.js. + + +
+ + + + +
+
Parameters:
+ +
+ timeoutKey + +
+
+ +
+ + + + + + + + +
+ + +
+ + + clearTimeout(timeoutKey) + +
+
+ + +
+ Defined in: mock-timeout.js. + + +
+ + + + +
+
Parameters:
+ +
+ timeoutKey + +
+
+ +
+ + + + + + + + +
+ + +
+ + + describe(description, specDefinitions) + +
+
+ Defines a suite of specifications. + +Stores the description and all defined specs in the Jasmine environment as one suite of specs. Variables declared +are accessible by calls to beforeEach, it, and afterEach. Describe blocks can be nested, allowing for specialization +of setup in some tests. + +
+ Defined in: base.js. + + +
+ + + +
// TODO: a simple suite
+
+// TODO: a simple suite with a nested describe block
+ + + + +
+
Parameters:
+ +
+ {String} description + +
+
A string, usually the class under test.
+ +
+ {Function} specDefinitions + +
+
function that defines several specs.
+ +
+ + + + + + + + +
+ + +
+ + + expect(actual) + +
+
+ Starts a chain for a Jasmine expectation. + +It is passed an Object that is the actual value and should chain to one of the many +jasmine.Matchers functions. + +
+ Defined in: base.js. + + +
+ + + + +
+
Parameters:
+ +
+ {Object} actual + +
+
Actual value to test against and expected value
+ +
+ + + + + + + + +
+ + +
+ + + it(desc, func) + +
+
+ Creates a Jasmine spec that will be added to the current suite. + +// TODO: pending tests + +
+ Defined in: base.js. + + +
+ + + +
it('should be true', function() {
+  expect(true).toEqual(true);
+});
+ + + + +
+
Parameters:
+ +
+ {String} desc + +
+
description of this specification
+ +
+ {Function} func + +
+
defines the preconditions and expectations of the spec
+ +
+ + + + + + + + +
+ + +
+ + + runs(func) + +
+
+ Defines part of a jasmine spec. Used in cominbination with waits or waitsFor in asynchrnous specs. + +
+ Defined in: base.js. + + +
+ + + + +
+
Parameters:
+ +
+ {Function} func + +
+
Function that defines part of a jasmine spec.
+ +
+ + + + + + + + +
+ + +
+ + + setInterval(funcToCall, millis) + +
+
+ + +
+ Defined in: mock-timeout.js. + + +
+ + + + +
+
Parameters:
+ +
+ funcToCall + +
+
+ +
+ millis + +
+
+ +
+ + + + + + + + +
+ + +
+ + + setTimeout(funcToCall, millis) + +
+
+ + +
+ Defined in: mock-timeout.js. + + +
+ + + + +
+
Parameters:
+ +
+ funcToCall + +
+
+ +
+ millis + +
+
+ +
+ + + + + + + + +
+ + +
+ + + spyOn(obj, methodName) + +
+
+ Function that installs a spy on an existing object's method name. Used within a Spec to create a spy. + +
+ Defined in: base.js. + + +
+ + + +
// spy example
+var foo = {
+  not: function(bool) { return !bool; }
+}
+spyOn(foo, 'not'); // actual foo.not will not be called, execution stops
+ + + + +
+
Parameters:
+ +
+ obj + +
+
+ +
+ methodName + +
+
+ +
+ + + + + +
+
Returns:
+ +
a Jasmine spy that can be chained with all spy methods
+ +
+ + + +
+
See:
+ +
jasmine.createSpy
+ +
+ + +
+ + +
+ + + waits(timeout) + +
+
+ Waits a fixed time period before moving to the next block. + +
+ Defined in: base.js. + + +
+ + + + +
+
Parameters:
+ +
+ {Number} timeout + +
+
milliseconds to wait
+ +
+ + +
+
Deprecated:
+
+ Use waitsFor() instead +
+
+ + + + + + + +
+ + +
+ + + waitsFor(latchFunction, optional_timeoutMessage, optional_timeout) + +
+
+ Waits for the latchFunction to return true before proceeding to the next block. + +
+ Defined in: base.js. + + +
+ + + + +
+
Parameters:
+ +
+ {Function} latchFunction + +
+
+ +
+ {String} optional_timeoutMessage + +
+
+ +
+ {Number} optional_timeout + +
+
+ +
+ + + + + + + + +
+ + +
+ + + xdescribe(description, specDefinitions) + +
+
+ Disables a suite of specifications. Used to disable some suites in a file, or files, temporarily during development. + +
+ Defined in: base.js. + + +
+ + + + +
+
Parameters:
+ +
+ {String} description + +
+
A string, usually the class under test.
+ +
+ {Function} specDefinitions + +
+
function that defines several specs.
+ +
+ + + + + + + + +
+ + +
+ + + xit(desc, func) + +
+
+ Creates a disabled Jasmine spec. + +A convenience method that allows existing specs to be disabled temporarily during development. + +
+ Defined in: base.js. + + +
+ + + + +
+
Parameters:
+ +
+ {String} desc + +
+
description of this specification
+ +
+ {Function} func + +
+
defines the preconditions and expectations of the spec
+ +
+ + + + + + + + + + + + + + + +
+
+ + + +
+ + Documentation generated by JsDoc Toolkit 2.1.0 on Sun Feb 27 2011 12:17:44 GMT-0800 (PST) +
+ + diff --git a/pages/jsdoc/symbols/jasmine.Block.html b/pages/jsdoc/symbols/jasmine.Block.html new file mode 100644 index 0000000..f604ccd --- /dev/null +++ b/pages/jsdoc/symbols/jasmine.Block.html @@ -0,0 +1,419 @@ + + + + + + + JsDoc Reference - jasmine.Block + + + + + + + + + + + + + +
+ +

+ + Class jasmine.Block +

+ + +

+ + + + + +
Defined in: Block.js. + +

+ + + + + + + + + + + + + + + + + +
Class Summary
Constructor AttributesConstructor Name and Description
  +
+ jasmine.Block(env, func, spec) +
+
Blocks are functions with executable code that make up a spec.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Method Summary
Method AttributesMethod Name and Description
  +
execute(onComplete) +
+
+
+ + + + + + + + + +
+
+ Class Detail +
+ +
+ jasmine.Block(env, func, spec) +
+ +
+ Blocks are functions with executable code that make up a spec. + +
+ + + + + +
+
Parameters:
+ +
+ {jasmine.Env} env + +
+
+ +
+ {Function} func + +
+
+ +
+ {jasmine.Spec} spec + +
+
+ +
+ + + + + + + + +
+ + + + + + + +
+ Method Detail +
+ + +
+ + + execute(onComplete) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ onComplete + +
+
+ +
+ + + + + + + + + + + + + + + +
+
+ + + +
+ + Documentation generated by JsDoc Toolkit 2.1.0 on Sun Feb 27 2011 12:17:45 GMT-0800 (PST) +
+ + diff --git a/pages/jsdoc/symbols/jasmine.Clock.html b/pages/jsdoc/symbols/jasmine.Clock.html new file mode 100644 index 0000000..e1bbd61 --- /dev/null +++ b/pages/jsdoc/symbols/jasmine.Clock.html @@ -0,0 +1,714 @@ + + + + + + + JsDoc Reference - jasmine.Clock + + + + + + + + + + + + + +
+ +

+ + Namespace jasmine.Clock +

+ + +

+ + + + + +
Defined in: mock-timeout.js. + +

+ + + + + + + + + + + + + + + + + +
Namespace Summary
Constructor AttributesConstructor Name and Description
  + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method Summary
Method AttributesMethod Name and Description
<static>   +
jasmine.Clock.assertInstalled() +
+
+
<static>   +
jasmine.Clock.installMock() +
+
+
<static>   +
jasmine.Clock.isInstalled() +
+
+
<static>   +
jasmine.Clock.reset() +
+
+
<static>   +
jasmine.Clock.runFunctionsWithinRange(oldMillis, nowMillis) +
+
+
<static>   +
jasmine.Clock.scheduleFunction(timeoutKey, funcToCall, millis, recurring) +
+
+
<static>   +
jasmine.Clock.tick(millis) +
+
+
<static>   +
jasmine.Clock.uninstallMock() +
+
+
<static>   +
jasmine.Clock.useMock() +
+
+
+ + + + + + + + + +
+
+ Namespace Detail +
+ +
+ jasmine.Clock +
+ +
+ + +
+ + + + + + + + + + + + +
+ + + + + + + +
+ Method Detail +
+ + +
<static> + + + jasmine.Clock.assertInstalled() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
<static> + + + jasmine.Clock.installMock() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
<static> + + + jasmine.Clock.isInstalled() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
<static> + + + jasmine.Clock.reset() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
<static> + + + jasmine.Clock.runFunctionsWithinRange(oldMillis, nowMillis) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ oldMillis + +
+
+ +
+ nowMillis + +
+
+ +
+ + + + + + + + +
+ + +
<static> + + + jasmine.Clock.scheduleFunction(timeoutKey, funcToCall, millis, recurring) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ timeoutKey + +
+
+ +
+ funcToCall + +
+
+ +
+ millis + +
+
+ +
+ recurring + +
+
+ +
+ + + + + + + + +
+ + +
<static> + + + jasmine.Clock.tick(millis) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ millis + +
+
+ +
+ + + + + + + + +
+ + +
<static> + + + jasmine.Clock.uninstallMock() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
<static> + + + jasmine.Clock.useMock() + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + Documentation generated by JsDoc Toolkit 2.1.0 on Sun Feb 27 2011 12:17:45 GMT-0800 (PST) +
+ + diff --git a/pages/jsdoc/symbols/jasmine.Env.html b/pages/jsdoc/symbols/jasmine.Env.html new file mode 100644 index 0000000..87aec30 --- /dev/null +++ b/pages/jsdoc/symbols/jasmine.Env.html @@ -0,0 +1,1212 @@ + + + + + + + JsDoc Reference - jasmine.Env + + + + + + + + + + + + + +
+ +

+ + Class jasmine.Env +

+ + +

+ + + + + +
Defined in: Env.js. + +

+ + + + + + + + + + + + + + + + + +
Class Summary
Constructor AttributesConstructor Name and Description
  +
+ jasmine.Env() +
+
Environment for Jasmine
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method Summary
Method AttributesMethod Name and Description
  +
addEqualityTester(equalityTester) +
+
+
  +
addReporter(reporter) +
+
Register a reporter to receive status updates from Jasmine.
+
  +
afterEach(afterEachFunction) +
+
+
  +
beforeEach(beforeEachFunction) +
+
+
  +
compareObjects_(a, b, mismatchKeys, mismatchValues) +
+
+
  +
contains_(haystack, needle) +
+
+
  + +
+
  +
describe(description, specDefinitions) +
+
+
  +
equals_(a, b, mismatchKeys, mismatchValues) +
+
+
  +
execute() +
+
+
  +
it(description, func) +
+
+
  + +
+
  + +
+
  + +
+
  + +
+
  +
version() +
+
+
  + +
+
  +
xdescribe(desc, specDefinitions) +
+
+
  +
xit(desc, func) +
+
+
+ + + + + + + + + +
+
+ Class Detail +
+ +
+ jasmine.Env() +
+ +
+ Environment for Jasmine + +
+ + + + + + + + + + + + +
+ + + + + + + +
+ Method Detail +
+ + +
+ + + addEqualityTester(equalityTester) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ equalityTester + +
+
+ +
+ + + + + + + + +
+ + +
+ + + addReporter(reporter) + +
+
+ Register a reporter to receive status updates from Jasmine. + + +
+ + + + +
+
Parameters:
+ +
+ {jasmine.Reporter} reporter + +
+
An object which will receive status updates.
+ +
+ + + + + + + + +
+ + +
+ + + afterEach(afterEachFunction) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ afterEachFunction + +
+
+ +
+ + + + + + + + +
+ + +
+ + + beforeEach(beforeEachFunction) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ beforeEachFunction + +
+
+ +
+ + + + + + + + +
+ + +
+ + + compareObjects_(a, b, mismatchKeys, mismatchValues) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ a + +
+
+ +
+ b + +
+
+ +
+ mismatchKeys + +
+
+ +
+ mismatchValues + +
+
+ +
+ + + + + + + + +
+ + +
+ + + contains_(haystack, needle) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ haystack + +
+
+ +
+ needle + +
+
+ +
+ + + + + + + + +
+ + +
+ + + currentRunner() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + describe(description, specDefinitions) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ description + +
+
+ +
+ specDefinitions + +
+
+ +
+ + + + + + + + +
+ + +
+ + + equals_(a, b, mismatchKeys, mismatchValues) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ a + +
+
+ +
+ b + +
+
+ +
+ mismatchKeys + +
+
+ +
+ mismatchValues + +
+
+ +
+ + + + + + + + +
+ + +
+ + + execute() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + it(description, func) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ description + +
+
+ +
+ func + +
+
+ +
+ + + + + + + + +
+ + +
+ + + matchersClass() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + nextSpecId() + +
+
+ + + +
+ + + + + + + + +
+
Returns:
+ +
a sequential integer starting at 0
+ +
+ + + + +
+ + +
+ + + nextSuiteId() + +
+
+ + + +
+ + + + + + + + +
+
Returns:
+ +
a sequential integer starting at 0
+ +
+ + + + +
+ + +
+ + + specFilter() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + version() + +
+
+ + + +
+ + + + + + + + +
+
Returns:
+ +
an object containing jasmine version build info, if set.
+ +
+ + + + +
+ + +
+ + + versionString() + +
+
+ + + +
+ + + + + + + + +
+
Returns:
+ +
string containing jasmine version build info, if set.
+ +
+ + + + +
+ + +
+ + + xdescribe(desc, specDefinitions) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ desc + +
+
+ +
+ specDefinitions + +
+
+ +
+ + + + + + + + +
+ + +
+ + + xit(desc, func) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ desc + +
+
+ +
+ func + +
+
+ +
+ + + + + + + + + + + + + + + +
+
+ + + +
+ + Documentation generated by JsDoc Toolkit 2.1.0 on Sun Feb 27 2011 12:17:45 GMT-0800 (PST) +
+ + diff --git a/pages/jsdoc/symbols/jasmine.JsApiReporter.html b/pages/jsdoc/symbols/jasmine.JsApiReporter.html new file mode 100644 index 0000000..8dbaf37 --- /dev/null +++ b/pages/jsdoc/symbols/jasmine.JsApiReporter.html @@ -0,0 +1,824 @@ + + + + + + + JsDoc Reference - jasmine.JsApiReporter + + + + + + + + + + + + + +
+ +

+ + Class jasmine.JsApiReporter +

+ + +

+ + + + + +
Defined in: JsApiReporter.js. + +

+ + + + + + + + + + + + + + + + + +
Class Summary
Constructor AttributesConstructor Name and Description
  + +
JavaScript API reporter.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method Summary
Method AttributesMethod Name and Description
  +
log(str) +
+
+
  + +
+
  + +
+
  + +
+
  + +
+
  +
results() +
+
+
  +
resultsForSpec(specId) +
+
+
  +
resultsForSpecs(specIds) +
+
+
  +
suites() +
+
+
  +
summarize_(suiteOrSpec) +
+
+
  +
summarizeResult_(result) +
+
+
+ + + + + + + + + +
+
+ Class Detail +
+ +
+ jasmine.JsApiReporter() +
+ +
+ JavaScript API reporter. + +
+ + + + + + + + + + + + +
+ + + + + + + +
+ Method Detail +
+ + +
+ + + log(str) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ str + +
+
+ +
+ + + + + + + + +
+ + +
+ + + reportRunnerResults(runner) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ runner + +
+
+ +
+ + + + + + + + +
+ + +
+ + + reportRunnerStarting(runner) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ runner + +
+
+ +
+ + + + + + + + +
+ + +
+ + + reportSpecResults(spec) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ spec + +
+
+ +
+ + + + + + + + +
+ + +
+ + + reportSuiteResults(suite) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ suite + +
+
+ +
+ + + + + + + + +
+ + +
+ + + results() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + resultsForSpec(specId) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ specId + +
+
+ +
+ + + + + + + + +
+ + +
+ + + resultsForSpecs(specIds) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ specIds + +
+
+ +
+ + + + + + + + +
+ + +
+ + + suites() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + summarize_(suiteOrSpec) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ suiteOrSpec + +
+
+ +
+ + + + + + + + +
+ + +
+ + + summarizeResult_(result) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ result + +
+
+ +
+ + + + + + + + + + + + + + + +
+
+ + + +
+ + Documentation generated by JsDoc Toolkit 2.1.0 on Sun Feb 27 2011 12:17:45 GMT-0800 (PST) +
+ + diff --git a/pages/jsdoc/symbols/jasmine.Matchers.html b/pages/jsdoc/symbols/jasmine.Matchers.html new file mode 100644 index 0000000..9ba6cb7 --- /dev/null +++ b/pages/jsdoc/symbols/jasmine.Matchers.html @@ -0,0 +1,1612 @@ + + + + + + + JsDoc Reference - jasmine.Matchers + + + + + + + + + + + + + +
+ +

+ + Class jasmine.Matchers +

+ + +

+ + + + + +
Defined in: Matchers.js. + +

+ + + + + + + + + + + + + + + + + +
Class Summary
Constructor AttributesConstructor Name and Description
  +
+ jasmine.Matchers(env, actual, spec, opt_isNot) +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field Summary
Field AttributesField Name and Description
  +
+ wasCalled +
+
+
  + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method Summary
Method AttributesMethod Name and Description
<static>   +
jasmine.Matchers.Any(expectedClass) +
+
+
<static>   +
jasmine.Matchers.matcherFn_(matcherName, matcherFunction) +
+
+
  +
message() +
+
+
<static>   +
jasmine.Matchers.pp(str) +
+
+
  +
report(result, failing_message, details) +
+
+
  +
toBe(expected) +
+
toBe: compares the actual to the expected using ===
+
  + +
Matcher that compares the actual to jasmine.undefined.
+
  + +
Matcher that boolean nots the actual.
+
  +
toBeGreaterThan(expected) +
+
+
  +
toBeLessThan(expected) +
+
+
  + +
Matcher that compares the actual to null.
+
  + +
Matcher that boolean not-nots the actual.
+
  + +
Matcher that compares the actual to jasmine.undefined.
+
  +
toContain(expected) +
+
Matcher that checks that the expected item is an element in the actual Array.
+
  +
toEqual(expected) +
+
toEqual: compares the actual to the expected using common sense equality.
+
  + +
Matcher that checks to see if the actual, a Jasmine spy, was called.
+
  + +
Matcher that checks to see if the actual, a Jasmine spy, was called with a set of parameters.
+
  +
toMatch(expected) +
+
Matcher that compares the actual to the expected using a regular expression.
+
  +
toNotBe(expected) +
+
toNotBe: compares the actual to the expected using !==
+
  +
toNotContain(expected) +
+
Matcher that checks that the expected item is NOT an element in the actual Array.
+
  +
toNotEqual(expected) +
+
toNotEqual: compares the actual to the expected using the ! of jasmine.Matchers.toEqual
+
  +
toNotMatch(expected) +
+
Matcher that compares the actual to the expected using the boolean inverse of jasmine.Matchers.toMatch
+
  +
toThrow(expected) +
+
Matcher that checks that the expected exception was thrown by the actual.
+
  + +
Matcher that checks to see if the actual, a Jasmine spy, was not called.
+
  + +
+
<static>   +
jasmine.Matchers.wrapInto_(prototype, matchersClass) +
+
+
+ + + + + + + + + +
+
+ Class Detail +
+ +
+ jasmine.Matchers(env, actual, spec, opt_isNot) +
+ +
+ + +
+ + + + + +
+
Parameters:
+ +
+ {jasmine.Env} env + +
+
+ +
+ actual + +
+
+ +
+ {jasmine.Spec} spec + +
+
+ +
+ opt_isNot + +
+
+ +
+ + + + + + + + +
+ + + + +
+ Field Detail +
+ + +
+ + + wasCalled + +
+
+ + + +
+ + + + +
+
Deprecated:
+
+ Use expect(xxx).toHaveBeenCalled() instead +
+
+ + + + + +
+ + +
+ + + wasCalledWith + +
+
+ + + +
+ + + + +
+
Deprecated:
+
+ Use expect(xxx).toHaveBeenCalledWith() instead +
+
+ + + + + + + + + + + +
+ Method Detail +
+ + +
<static> + + + jasmine.Matchers.Any(expectedClass) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ expectedClass + +
+
+ +
+ + + + + + + + +
+ + +
<static> + + + jasmine.Matchers.matcherFn_(matcherName, matcherFunction) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ matcherName + +
+
+ +
+ matcherFunction + +
+
+ +
+ + + + + + + + +
+ + +
+ + + message() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
<static> + + + jasmine.Matchers.pp(str) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ str + +
+
+ +
+ + + + + + + + +
+ + +
+ + + report(result, failing_message, details) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ result + +
+
+ +
+ failing_message + +
+
+ +
+ details + +
+
+ +
+ + + + + + + + +
+ + +
+ + + toBe(expected) + +
+
+ toBe: compares the actual to the expected using === + + +
+ + + + +
+
Parameters:
+ +
+ expected + +
+
+ +
+ + + + + + + + +
+ + +
+ + + toBeDefined() + +
+
+ Matcher that compares the actual to jasmine.undefined. + + +
+ + + + + + + + + + + +
+ + +
+ + + toBeFalsy() + +
+
+ Matcher that boolean nots the actual. + + +
+ + + + + + + + + + + +
+ + +
+ + + toBeGreaterThan(expected) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ expected + +
+
+ +
+ + + + + + + + +
+ + +
+ + + toBeLessThan(expected) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ expected + +
+
+ +
+ + + + + + + + +
+ + +
+ + + toBeNull() + +
+
+ Matcher that compares the actual to null. + + +
+ + + + + + + + + + + +
+ + +
+ + + toBeTruthy() + +
+
+ Matcher that boolean not-nots the actual. + + +
+ + + + + + + + + + + +
+ + +
+ + + toBeUndefined() + +
+
+ Matcher that compares the actual to jasmine.undefined. + + +
+ + + + + + + + + + + +
+ + +
+ + + toContain(expected) + +
+
+ Matcher that checks that the expected item is an element in the actual Array. + + +
+ + + + +
+
Parameters:
+ +
+ {Object} expected + +
+
+ +
+ + + + + + + + +
+ + +
+ + + toEqual(expected) + +
+
+ toEqual: compares the actual to the expected using common sense equality. Handles Objects, Arrays, etc. + + +
+ + + + +
+
Parameters:
+ +
+ expected + +
+
+ +
+ + + + + + + + +
+ + +
+ + + toHaveBeenCalled() + +
+
+ Matcher that checks to see if the actual, a Jasmine spy, was called. + + +
+ + + + + + + + + + + +
+ + +
+ + + toHaveBeenCalledWith() + +
+
+ Matcher that checks to see if the actual, a Jasmine spy, was called with a set of parameters. + + +
+ + + +

+					
+					
+					
+						
+						
+						
+						
+						
+						
+						
+
+					
+ + +
+ + + toMatch(expected) + +
+
+ Matcher that compares the actual to the expected using a regular expression. Constructs a RegExp, so takes +a pattern or a String. + + +
+ + + + +
+
Parameters:
+ +
+ expected + +
+
+ +
+ + + + + + + + +
+ + +
+ + + toNotBe(expected) + +
+
+ toNotBe: compares the actual to the expected using !== + + +
+ + + + +
+
Parameters:
+ +
+ expected + +
+
+ +
+ + +
+
Deprecated:
+
+ as of 1.0. Use not.toBe() instead. +
+
+ + + + + + + +
+ + +
+ + + toNotContain(expected) + +
+
+ Matcher that checks that the expected item is NOT an element in the actual Array. + + +
+ + + + +
+
Parameters:
+ +
+ {Object} expected + +
+
+ +
+ + +
+
Deprecated:
+
+ as of 1.0. Use not.toNotContain() instead. +
+
+ + + + + + + +
+ + +
+ + + toNotEqual(expected) + +
+
+ toNotEqual: compares the actual to the expected using the ! of jasmine.Matchers.toEqual + + +
+ + + + +
+
Parameters:
+ +
+ expected + +
+
+ +
+ + +
+
Deprecated:
+
+ as of 1.0. Use not.toNotEqual() instead. +
+
+ + + + + + + +
+ + +
+ + + toNotMatch(expected) + +
+
+ Matcher that compares the actual to the expected using the boolean inverse of jasmine.Matchers.toMatch + + +
+ + + + +
+
Parameters:
+ +
+ expected + +
+
+ +
+ + +
+
Deprecated:
+
+ as of 1.0. Use not.toMatch() instead. +
+
+ + + + + + + +
+ + +
+ + + toThrow(expected) + +
+
+ Matcher that checks that the expected exception was thrown by the actual. + + +
+ + + + +
+
Parameters:
+ +
+ {String} expected + +
+
+ +
+ + + + + + + + +
+ + +
+ + + wasNotCalled() + +
+
+ Matcher that checks to see if the actual, a Jasmine spy, was not called. + + +
+ + + + + +
+
Deprecated:
+
+ Use expect(xxx).not.toHaveBeenCalled() instead +
+
+ + + + + + + +
+ + +
+ + + wasNotCalledWith() + +
+
+ + + +
+ + + + + +
+
Deprecated:
+
+ Use expect(xxx).not.toHaveBeenCalledWith() instead +
+
+ + + + + + + +
+ + +
<static> + + + jasmine.Matchers.wrapInto_(prototype, matchersClass) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ prototype + +
+
+ +
+ matchersClass + +
+
+ +
+ + + + + + + + + + + + + + + +
+
+ + + +
+ + Documentation generated by JsDoc Toolkit 2.1.0 on Sun Feb 27 2011 12:17:45 GMT-0800 (PST) +
+ + diff --git a/pages/jsdoc/symbols/jasmine.MultiReporter.html b/pages/jsdoc/symbols/jasmine.MultiReporter.html new file mode 100644 index 0000000..98c2532 --- /dev/null +++ b/pages/jsdoc/symbols/jasmine.MultiReporter.html @@ -0,0 +1,396 @@ + + + + + + + JsDoc Reference - jasmine.MultiReporter + + + + + + + + + + + + + +
+ +

+ + Class jasmine.MultiReporter +

+ + +

+ + + + + +
Defined in: MultiReporter.js. + +

+ + + + + + + + + + + + + + + + + +
Class Summary
Constructor AttributesConstructor Name and Description
  + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Method Summary
Method AttributesMethod Name and Description
  +
addReporter(reporter) +
+
+
+ + + + + + + + + +
+
+ Class Detail +
+ +
+ jasmine.MultiReporter() +
+ +
+ + +
+ + + + + + + + + + + + +
+ + + + + + + +
+ Method Detail +
+ + +
+ + + addReporter(reporter) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ reporter + +
+
+ +
+ + + + + + + + + + + + + + + +
+
+ + + +
+ + Documentation generated by JsDoc Toolkit 2.1.0 on Sun Feb 27 2011 12:17:45 GMT-0800 (PST) +
+ + diff --git a/pages/jsdoc/symbols/jasmine.NestedResults.html b/pages/jsdoc/symbols/jasmine.NestedResults.html new file mode 100644 index 0000000..b9f4616 --- /dev/null +++ b/pages/jsdoc/symbols/jasmine.NestedResults.html @@ -0,0 +1,712 @@ + + + + + + + JsDoc Reference - jasmine.NestedResults + + + + + + + + + + + + + +
+ +

+ + Class jasmine.NestedResults +

+ + +

+ + + + + +
Defined in: NestedResults.js. + +

+ + + + + + + + + + + + + + + + + +
Class Summary
Constructor AttributesConstructor Name and Description
  + +
Holds results for a set of Jasmine spec.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field Summary
Field AttributesField Name and Description
  + +
Number of failed results
+
  + +
Number of passed results
+
  +
+ skipped +
+
Was this suite/spec skipped?
+
  + +
The total count of results
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method Summary
Method AttributesMethod Name and Description
  +
addResult(result) +
+
Adds a result, tracking counts (total, passed, & failed)
+
  + +
Getter for the results: message & results.
+
  +
log(values) +
+
Adds a log message.
+
  +
passed() +
+
+
  +
rollupCounts(result) +
+
Roll up the result counts.
+
+ + + + + + + + + +
+
+ Class Detail +
+ +
+ jasmine.NestedResults() +
+ +
+ Holds results for a set of Jasmine spec. Allows for the results array to hold another jasmine.NestedResults + +
+ + + + + + + + + + + + +
+ + + + +
+ Field Detail +
+ + +
+ + + failedCount + +
+
+ Number of failed results + + +
+ + + + + + + + +
+ + +
+ + + passedCount + +
+
+ Number of passed results + + +
+ + + + + + + + +
+ + +
+ + + skipped + +
+
+ Was this suite/spec skipped? + + +
+ + + + + + + + +
+ + +
+ + + totalCount + +
+
+ The total count of results + + +
+ + + + + + + + + + + + + + +
+ Method Detail +
+ + +
+ + + addResult(result) + +
+
+ Adds a result, tracking counts (total, passed, & failed) + + +
+ + + + +
+
Parameters:
+ +
+ {jasmine.ExpectationResult|jasmine.NestedResults} result + +
+
+ +
+ + + + + + + + +
+ + +
+ + + getItems() + +
+
+ Getter for the results: message & results. + + +
+ + + + + + + + + + + +
+ + +
+ + + log(values) + +
+
+ Adds a log message. + + +
+ + + + +
+
Parameters:
+ +
+ values + +
+
Array of message parts which will be concatenated later.
+ +
+ + + + + + + + +
+ + +
+ + {Boolean} + passed() + +
+
+ + + +
+ + + + + + + + +
+
Returns:
+ +
{Boolean} True if everything below passed
+ +
+ + + + +
+ + +
+ + + rollupCounts(result) + +
+
+ Roll up the result counts. + + +
+ + + + +
+
Parameters:
+ +
+ result + +
+
+ +
+ + + + + + + + + + + + + + + +
+
+ + + +
+ + Documentation generated by JsDoc Toolkit 2.1.0 on Sun Feb 27 2011 12:17:45 GMT-0800 (PST) +
+ + diff --git a/pages/jsdoc/symbols/jasmine.Reporter.html b/pages/jsdoc/symbols/jasmine.Reporter.html new file mode 100644 index 0000000..7c055f7 --- /dev/null +++ b/pages/jsdoc/symbols/jasmine.Reporter.html @@ -0,0 +1,621 @@ + + + + + + + JsDoc Reference - jasmine.Reporter + + + + + + + + + + + + + +
+ +

+ + Class jasmine.Reporter +

+ + +

+ + + + + +
Defined in: Reporter.js. + +

+ + + + + + + + + + + + + + + + + +
Class Summary
Constructor AttributesConstructor Name and Description
  + +
No-op base class for Jasmine reporters.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method Summary
Method AttributesMethod Name and Description
  +
log(str) +
+
+
  + +
+
  + +
+
  + +
+
  + +
+
  + +
+
+ + + + + + + + + +
+
+ Class Detail +
+ +
+ jasmine.Reporter() +
+ +
+ No-op base class for Jasmine reporters. + +
+ + + + + + + + + + + + +
+ + + + + + + +
+ Method Detail +
+ + +
+ + + log(str) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ str + +
+
+ +
+ + + + + + + + +
+ + +
+ + + reportRunnerResults(runner) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ runner + +
+
+ +
+ + + + + + + + +
+ + +
+ + + reportRunnerStarting(runner) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ runner + +
+
+ +
+ + + + + + + + +
+ + +
+ + + reportSpecResults(spec) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ spec + +
+
+ +
+ + + + + + + + +
+ + +
+ + + reportSpecStarting(spec) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ spec + +
+
+ +
+ + + + + + + + +
+ + +
+ + + reportSuiteResults(suite) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ suite + +
+
+ +
+ + + + + + + + + + + + + + + +
+
+ + + +
+ + Documentation generated by JsDoc Toolkit 2.1.0 on Sun Feb 27 2011 12:17:45 GMT-0800 (PST) +
+ + diff --git a/pages/jsdoc/symbols/jasmine.Runner.html b/pages/jsdoc/symbols/jasmine.Runner.html new file mode 100644 index 0000000..7b29116 --- /dev/null +++ b/pages/jsdoc/symbols/jasmine.Runner.html @@ -0,0 +1,746 @@ + + + + + + + JsDoc Reference - jasmine.Runner + + + + + + + + + + + + + +
+ +

+ + Class jasmine.Runner +

+ + +

+ + + + + +
Defined in: Runner.js. + +

+ + + + + + + + + + + + + + + + + +
Class Summary
Constructor AttributesConstructor Name and Description
  +
+ jasmine.Runner(env) +
+
Runner
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method Summary
Method AttributesMethod Name and Description
  +
add(block) +
+
+
  +
addSuite(suite) +
+
+
  +
afterEach(afterEachFunction) +
+
+
  +
beforeEach(beforeEachFunction) +
+
+
  +
execute() +
+
+
  + +
+
  +
results() +
+
+
  +
specs() +
+
+
  +
suites() +
+
+
  + +
+
+ + + + + + + + + +
+
+ Class Detail +
+ +
+ jasmine.Runner(env) +
+ +
+ Runner + +
+ + + + + +
+
Parameters:
+ +
+ {jasmine.Env} env + +
+
+ +
+ + + + + + + + +
+ + + + + + + +
+ Method Detail +
+ + +
+ + + add(block) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ block + +
+
+ +
+ + + + + + + + +
+ + +
+ + + addSuite(suite) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ suite + +
+
+ +
+ + + + + + + + +
+ + +
+ + + afterEach(afterEachFunction) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ afterEachFunction + +
+
+ +
+ + + + + + + + +
+ + +
+ + + beforeEach(beforeEachFunction) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ beforeEachFunction + +
+
+ +
+ + + + + + + + +
+ + +
+ + + execute() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + finishCallback() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + results() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + specs() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + suites() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + topLevelSuites() + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + Documentation generated by JsDoc Toolkit 2.1.0 on Sun Feb 27 2011 12:17:45 GMT-0800 (PST) +
+ + diff --git a/pages/jsdoc/symbols/jasmine.Spec.html b/pages/jsdoc/symbols/jasmine.Spec.html new file mode 100644 index 0000000..99eefb3 --- /dev/null +++ b/pages/jsdoc/symbols/jasmine.Spec.html @@ -0,0 +1,1219 @@ + + + + + + + JsDoc Reference - jasmine.Spec + + + + + + + + + + + + + +
+ +

+ + Class jasmine.Spec +

+ + +

+ + + + + +
Defined in: Spec.js. + +

+ + + + + + + + + + + + + + + + + +
Class Summary
Constructor AttributesConstructor Name and Description
  +
+ jasmine.Spec(env, suite, description) +
+
Internal representation of a Jasmine specification, or test.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method Summary
Method AttributesMethod Name and Description
  + +
+
  +
addMatcherResult(result) +
+
+
  +
addMatchers(matchersPrototype) +
+
+
  +
addToQueue(block) +
+
+
  +
after(doAfter) +
+
+
  +
execute(onComplete) +
+
+
  +
expect(actual) +
+
+
  + +
+
  +
fail(e) +
+
+
  +
finish(onComplete) +
+
+
  + +
+
  + +
+
  + +
+
  +
log() +
+
All parameters are pretty-printed and concatenated together, then written to the spec's output.
+
  + +
+
  +
results() +
+
+
  +
runs(func) +
+
+
  +
spyOn(obj, methodName, ignoreMethodDoesntExist) +
+
+
  +
waits(timeout) +
+
Waits a fixed time period before moving to the next block.
+
  +
waitsFor(latchFunction, optional_timeoutMessage, optional_timeout) +
+
Waits for the latchFunction to return true before proceeding to the next block.
+
+ + + + + + + + + +
+
+ Class Detail +
+ +
+ jasmine.Spec(env, suite, description) +
+ +
+ Internal representation of a Jasmine specification, or test. + +
+ + + + + +
+
Parameters:
+ +
+ {jasmine.Env} env + +
+
+ +
+ {jasmine.Suite} suite + +
+
+ +
+ {String} description + +
+
+ +
+ + + + + + + + +
+ + + + + + + +
+ Method Detail +
+ + +
+ + + addBeforesAndAftersToQueue() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + addMatcherResult(result) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ {jasmine.ExpectationResult} result + +
+
+ +
+ + + + + + + + +
+ + +
+ + + addMatchers(matchersPrototype) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ matchersPrototype + +
+
+ +
+ + + + + + + + +
+ + +
+ + + addToQueue(block) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ block + +
+
+ +
+ + + + + + + + +
+ + +
+ + + after(doAfter) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ doAfter + +
+
+ +
+ + + + + + + + +
+ + +
+ + + execute(onComplete) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ onComplete + +
+
+ +
+ + + + + + + + +
+ + +
+ + + expect(actual) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ actual + +
+
+ +
+ + + + + + + + +
+ + +
+ + + explodes() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + fail(e) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ e + +
+
+ +
+ + + + + + + + +
+ + +
+ + + finish(onComplete) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ onComplete + +
+
+ +
+ + + + + + + + +
+ + +
+ + + finishCallback() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + getFullName() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + getMatchersClass_() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + log() + +
+
+ All parameters are pretty-printed and concatenated together, then written to the spec's output. + +Be careful not to leave calls to jasmine.log in production code. + + +
+ + + + + + + + + + + +
+ + +
+ + + removeAllSpies() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + results() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + runs(func) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ func + +
+
+ +
+ + + + + + + + +
+ + +
+ + + spyOn(obj, methodName, ignoreMethodDoesntExist) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ obj + +
+
+ +
+ methodName + +
+
+ +
+ ignoreMethodDoesntExist + +
+
+ +
+ + + + + + + + +
+ + +
+ + + waits(timeout) + +
+
+ Waits a fixed time period before moving to the next block. + + +
+ + + + +
+
Parameters:
+ +
+ {Number} timeout + +
+
milliseconds to wait
+ +
+ + +
+
Deprecated:
+
+ Use waitsFor() instead +
+
+ + + + + + + +
+ + +
+ + + waitsFor(latchFunction, optional_timeoutMessage, optional_timeout) + +
+
+ Waits for the latchFunction to return true before proceeding to the next block. + + +
+ + + + +
+
Parameters:
+ +
+ {Function} latchFunction + +
+
+ +
+ {String} optional_timeoutMessage + +
+
+ +
+ {Number} optional_timeout + +
+
+ +
+ + + + + + + + + + + + + + + +
+
+ + + +
+ + Documentation generated by JsDoc Toolkit 2.1.0 on Sun Feb 27 2011 12:17:45 GMT-0800 (PST) +
+ + diff --git a/pages/jsdoc/symbols/jasmine.Spy.html b/pages/jsdoc/symbols/jasmine.Spy.html new file mode 100644 index 0000000..5f76492 --- /dev/null +++ b/pages/jsdoc/symbols/jasmine.Spy.html @@ -0,0 +1,858 @@ + + + + + + + JsDoc Reference - jasmine.Spy + + + + + + + + + + + + + +
+ +

+ + Class jasmine.Spy +

+ + +

+ + + + + +
Defined in: base.js. + +

+ + + + + + + + + + + + + + + + + +
Class Summary
Constructor AttributesConstructor Name and Description
  +
+ jasmine.Spy(name) +
+
Jasmine Spies are test doubles that can act as stubs, spies, fakes or when used in an expecation, mocks.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field Summary
Field AttributesField Name and Description
  + +
Holds arguments for each call to the spy, indexed by call count
+
  +
+ identity +
+
The name of the spy, if provided.
+
  +
+ isSpy +
+
Is this Object a spy?
+
  + +
Tracking of the most recent call to the spy.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method Summary
Method AttributesMethod Name and Description
  +
andCallFake(fakeFunc) +
+
Calls an alternate implementation when a spy is called.
+
  + +
Tells a spy to call through to the actual implemenatation.
+
  +
andReturn(value) +
+
For setting the return value of a spy.
+
  +
andThrow(exceptionMsg) +
+
For throwing an exception when a spy is called.
+
  +
plan() +
+
The actual function this spy stubs.
+
  +
reset() +
+
Resets all of a spy's the tracking variables so that it can be used again.
+
+ + + + + + + + + +
+
+ Class Detail +
+ +
+ jasmine.Spy(name) +
+ +
+ Jasmine Spies are test doubles that can act as stubs, spies, fakes or when used in an expecation, mocks. + +Spies should be created in test setup, before expectations. They can then be checked, using the standard Jasmine +expectation syntax. Spies can be checked if they were called or not and what the calling params were. + +A Spy has the following fields: wasCalled, callCount, mostRecentCall, and argsForCall (see docs). + +Spies are torn down at the end of every spec. + +Note: Do not call new jasmine.Spy() directly - a spy must be created using spyOn, jasmine.createSpy or jasmine.createSpyObj. + +
+ + + +
// a stub
+var myStub = jasmine.createSpy('myStub');  // can be used anywhere
+
+// spy example
+var foo = {
+  not: function(bool) { return !bool; }
+}
+
+// actual foo.not will not be called, execution stops
+spyOn(foo, 'not');
+
+ // foo.not spied upon, execution will continue to implementation
+spyOn(foo, 'not').andCallThrough();
+
+// fake example
+var foo = {
+  not: function(bool) { return !bool; }
+}
+
+// foo.not(val) will return val
+spyOn(foo, 'not').andCallFake(function(value) {return value;});
+
+// mock example
+foo.not(7 == 7);
+expect(foo.not).toHaveBeenCalled();
+expect(foo.not).toHaveBeenCalledWith(true);
+ + + + + +
+
Parameters:
+ +
+ {String} name + +
+
+ +
+ + + + + + + +
+
See:
+ +
spyOn, jasmine.createSpy, jasmine.createSpyObj
+ +
+ + +
+ + + + +
+ Field Detail +
+ + +
+ + + argsForCall + +
+
+ Holds arguments for each call to the spy, indexed by call count + + +
+ + + +
var mySpy = jasmine.createSpy('foo');
+mySpy(1, 2);
+mySpy(7, 8);
+mySpy.mostRecentCall.args = [7, 8];
+mySpy.argsForCall[0] = [1, 2];
+mySpy.argsForCall[1] = [7, 8];
+ + + + + + + + +
+ + +
+ + + identity + +
+
+ The name of the spy, if provided. + + +
+ + + + + + + + +
+ + +
+ + + isSpy + +
+
+ Is this Object a spy? + + +
+ + + + + + + + +
+ + +
+ + + mostRecentCall + +
+
+ Tracking of the most recent call to the spy. + + +
+ + + +
var mySpy = jasmine.createSpy('foo');
+mySpy(1, 2);
+mySpy.mostRecentCall.args = [1, 2];
+ + + + + + + + + + + + + + +
+ Method Detail +
+ + +
+ + + andCallFake(fakeFunc) + +
+
+ Calls an alternate implementation when a spy is called. + + +
+ + + +
var baz = function() {
+  // do some stuff, return something
+}
+// defining a spy from scratch: foo() calls the function baz
+var foo = jasmine.createSpy('spy on foo').andCall(baz);
+
+// defining a spy on an existing property: foo.bar() calls an anonymnous function
+spyOn(foo, 'bar').andCall(function() { return 'baz';} );
+ + + + +
+
Parameters:
+ +
+ {Function} fakeFunc + +
+
+ +
+ + + + + + + + +
+ + +
+ + + andCallThrough() + +
+
+ Tells a spy to call through to the actual implemenatation. + + +
+ + + +
var foo = {
+  bar: function() { // do some stuff }
+}
+
+// defining a spy on an existing property: foo.bar
+spyOn(foo, 'bar').andCallThrough();
+ + + + + + + + + + + +
+ + +
+ + + andReturn(value) + +
+
+ For setting the return value of a spy. + + +
+ + + +
// defining a spy from scratch: foo() returns 'baz'
+var foo = jasmine.createSpy('spy on foo').andReturn('baz');
+
+// defining a spy on an existing property: foo.bar() returns 'baz'
+spyOn(foo, 'bar').andReturn('baz');
+ + + + +
+
Parameters:
+ +
+ {Object} value + +
+
+ +
+ + + + + + + + +
+ + +
+ + + andThrow(exceptionMsg) + +
+
+ For throwing an exception when a spy is called. + + +
+ + + +
// defining a spy from scratch: foo() throws an exception w/ message 'ouch'
+var foo = jasmine.createSpy('spy on foo').andThrow('baz');
+
+// defining a spy on an existing property: foo.bar() throws an exception w/ message 'ouch'
+spyOn(foo, 'bar').andThrow('baz');
+ + + + +
+
Parameters:
+ +
+ {String} exceptionMsg + +
+
+ +
+ + + + + + + + +
+ + +
+ + + plan() + +
+
+ The actual function this spy stubs. + + +
+ + + + + + + + + + + +
+ + +
+ + + reset() + +
+
+ Resets all of a spy's the tracking variables so that it can be used again. + + +
+ + + +
spyOn(foo, 'bar');
+
+foo.bar();
+
+expect(foo.bar.callCount).toEqual(1);
+
+foo.bar.reset();
+
+expect(foo.bar.callCount).toEqual(0);
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + Documentation generated by JsDoc Toolkit 2.1.0 on Sun Feb 27 2011 12:17:45 GMT-0800 (PST) +
+ + diff --git a/pages/jsdoc/symbols/jasmine.Suite.html b/pages/jsdoc/symbols/jasmine.Suite.html new file mode 100644 index 0000000..d944a8a --- /dev/null +++ b/pages/jsdoc/symbols/jasmine.Suite.html @@ -0,0 +1,775 @@ + + + + + + + JsDoc Reference - jasmine.Suite + + + + + + + + + + + + + +
+ +

+ + Class jasmine.Suite +

+ + +

+ + + + + +
Defined in: Suite.js. + +

+ + + + + + + + + + + + + + + + + +
Class Summary
Constructor AttributesConstructor Name and Description
  +
+ jasmine.Suite(env, description, specDefinitions, parentSuite) +
+
Internal representation of a Jasmine suite.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method Summary
Method AttributesMethod Name and Description
  +
add(suiteOrSpec) +
+
+
  +
afterEach(afterEachFunction) +
+
+
  +
beforeEach(beforeEachFunction) +
+
+
  + +
+
  +
execute(onComplete) +
+
+
  +
finish(onComplete) +
+
+
  + +
+
  +
results() +
+
+
  +
specs() +
+
+
  +
suites() +
+
+
+ + + + + + + + + +
+
+ Class Detail +
+ +
+ jasmine.Suite(env, description, specDefinitions, parentSuite) +
+ +
+ Internal representation of a Jasmine suite. + +
+ + + + + +
+
Parameters:
+ +
+ {jasmine.Env} env + +
+
+ +
+ {String} description + +
+
+ +
+ {Function} specDefinitions + +
+
+ +
+ {jasmine.Suite} parentSuite + +
+
+ +
+ + + + + + + + +
+ + + + + + + +
+ Method Detail +
+ + +
+ + + add(suiteOrSpec) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ suiteOrSpec + +
+
+ +
+ + + + + + + + +
+ + +
+ + + afterEach(afterEachFunction) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ afterEachFunction + +
+
+ +
+ + + + + + + + +
+ + +
+ + + beforeEach(beforeEachFunction) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ beforeEachFunction + +
+
+ +
+ + + + + + + + +
+ + +
+ + + children() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + execute(onComplete) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ onComplete + +
+
+ +
+ + + + + + + + +
+ + +
+ + + finish(onComplete) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ onComplete + +
+
+ +
+ + + + + + + + +
+ + +
+ + + getFullName() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + results() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + specs() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
+ + + suites() + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + Documentation generated by JsDoc Toolkit 2.1.0 on Sun Feb 27 2011 12:17:45 GMT-0800 (PST) +
+ + diff --git a/pages/jsdoc/symbols/jasmine.WaitsForBlock.html b/pages/jsdoc/symbols/jasmine.WaitsForBlock.html new file mode 100644 index 0000000..b11a17b --- /dev/null +++ b/pages/jsdoc/symbols/jasmine.WaitsForBlock.html @@ -0,0 +1,437 @@ + + + + + + + JsDoc Reference - jasmine.WaitsForBlock + + + + + + + + + + + + + +
+ +

+ + Class jasmine.WaitsForBlock +

+ + +

+
Extends + jasmine.Block.
+ + + + + +
Defined in: WaitsForBlock.js. + +

+ + + + + + + + + + + + + + + + + +
Class Summary
Constructor AttributesConstructor Name and Description
  +
+ jasmine.WaitsForBlock(env, timeout, latchFunction, message, spec) +
+
A block which waits for some condition to become true, with timeout.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Method Summary
Method AttributesMethod Name and Description
  +
execute(onComplete) +
+
+
+ + + +
+ +
+ + + + + + + +
+
+ Class Detail +
+ +
+ jasmine.WaitsForBlock(env, timeout, latchFunction, message, spec) +
+ +
+ A block which waits for some condition to become true, with timeout. + +
+ + + + + +
+
Parameters:
+ +
+ {jasmine.Env} env + +
+
The Jasmine environment.
+ +
+ {Number} timeout + +
+
The maximum time in milliseconds to wait for the condition to become true.
+ +
+ {Function} latchFunction + +
+
A function which returns true when the desired condition has been met.
+ +
+ {String} message + +
+
The message to display if the desired condition hasn't been met within the given time period.
+ +
+ {jasmine.Spec} spec + +
+
The Jasmine spec.
+ +
+ + + + + + + + +
+ + + + + + + +
+ Method Detail +
+ + +
+ + + execute(onComplete) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ onComplete + +
+
+ +
+ + + + + + + + + + + + + + + +
+
+ + + +
+ + Documentation generated by JsDoc Toolkit 2.1.0 on Sun Feb 27 2011 12:17:46 GMT-0800 (PST) +
+ + diff --git a/pages/jsdoc/symbols/jasmine.html b/pages/jsdoc/symbols/jasmine.html new file mode 100644 index 0000000..0623d13 --- /dev/null +++ b/pages/jsdoc/symbols/jasmine.html @@ -0,0 +1,1209 @@ + + + + + + + JsDoc Reference - jasmine + + + + + + + + + + + + + +
+ +

+ + Namespace jasmine +

+ + +

+ + + + + +
Defined in: base.js. + +

+ + + + + + + + + + + + + + + + + +
Namespace Summary
Constructor AttributesConstructor Name and Description
  +
+ jasmine +
+
Top level namespace for Jasmine, a lightweight JavaScript BDD/spec/testing framework.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field Summary
Field AttributesField Name and Description
<static>   + +
Default timeout interval in milliseconds for waitsFor() blocks.
+
<static>   + +
Default interval in milliseconds for event loop yields (e.g.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method Summary
Method AttributesMethod Name and Description
<static>   +
jasmine.any(clazz) +
+
Returns a matchable 'generic' object of the class type.
+
<static>   +
jasmine.createSpy(name) +
+
+
<static>   +
jasmine.createSpyObj(baseName, methodNames) +
+
Creates a more complicated spy: an Object that has every property a function that is a spy.
+
<static>   +
jasmine.ExpectationResult(params) +
+
+
<static>   +
jasmine.FakeTimer() +
+
+
<static>   +
jasmine.getEnv() +
+
Getter for the Jasmine environment.
+
<static>   +
jasmine.getGlobal() +
+
+
<static>   +
jasmine.isDomNode(obj) +
+
Returns true if the object is a DOM Node.
+
<static>   +
jasmine.isSpy(putativeSpy) +
+
Determines whether an object is a spy.
+
<static>   +
jasmine.log() +
+
All parameters are pretty-printed and concatenated together, then written to the current spec's output.
+
<static>   +
jasmine.MessageResult(values) +
+
+
<static>   +
jasmine.pp(value) +
+
Pretty printer for expecations.
+
<static>   +
jasmine.PrettyPrinter() +
+
Base class for pretty printing for expectation results.
+
<static>   +
jasmine.Queue(env) +
+
+
<static>   +
jasmine.StringPrettyPrinter() +
+
+
<static>   +
jasmine.TrivialReporter(doc) +
+
+
<static>   +
jasmine.WaitsBlock(env, timeout, spec) +
+
+
+ + + + + + + + + +
+
+ Namespace Detail +
+ +
+ jasmine +
+ +
+ Top level namespace for Jasmine, a lightweight JavaScript BDD/spec/testing framework. + +
+ + + + + + + + + + + + +
+ + + + +
+ Field Detail +
+ + +
<static> + + + jasmine.DEFAULT_TIMEOUT_INTERVAL + +
+
+ Default timeout interval in milliseconds for waitsFor() blocks. + + +
+ + + + + + + + +
+ + +
<static> + + + jasmine.DEFAULT_UPDATE_INTERVAL + +
+
+ Default interval in milliseconds for event loop yields (e.g. to allow network activity or to refresh the screen with the HTML-based runner). Small values here may result in slow test running. Zero means no updates until all tests have completed. + + +
+ + + + + + + + + + + + + + +
+ Method Detail +
+ + +
<static> + + + jasmine.any(clazz) + +
+
+ Returns a matchable 'generic' object of the class type. For use in expecations of type when values don't matter. + + +
+ + + +
// don't care about which function is passed in, as long as it's a function
+expect(mySpy).toHaveBeenCalledWith(jasmine.any(Function));
+ + + + +
+
Parameters:
+ +
+ {Class} clazz + +
+
+ +
+ + + + + +
+
Returns:
+ +
matchable object of the type clazz
+ +
+ + + + +
+ + +
<static> + + + jasmine.createSpy(name) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ name + +
+
+ +
+ + + + + + + + +
+ + +
<static> + + + jasmine.createSpyObj(baseName, methodNames) + +
+
+ Creates a more complicated spy: an Object that has every property a function that is a spy. Used for stubbing something +large in one call. + + +
+ + + + +
+
Parameters:
+ +
+ {String} baseName + +
+
name of spy class
+ +
+ {Array} methodNames + +
+
array of names of methods to make spies
+ +
+ + + + + + + + +
+ + +
<static> + + + jasmine.ExpectationResult(params) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ params + +
+
+ +
+ + + + + + + + +
+ + +
<static> + + + jasmine.FakeTimer() + +
+
+ + +
+ Defined in: mock-timeout.js. + + +
+ + + + + + + + + + + +
+ + +
<static> + + + jasmine.getEnv() + +
+
+ Getter for the Jasmine environment. Ensures one gets created + + +
+ + + + + + + + + + + +
+ + +
<static> + + + jasmine.getGlobal() + +
+
+ + + +
+ + + + + + + + + + + +
+ + +
<static> + + {Boolean} + jasmine.isDomNode(obj) + +
+
+ Returns true if the object is a DOM Node. + + +
+ + + + +
+
Parameters:
+ +
+ {Object} obj + +
+
object to check
+ +
+ + + + + +
+
Returns:
+ +
{Boolean}
+ +
+ + + + +
+ + +
<static> + + {Boolean} + jasmine.isSpy(putativeSpy) + +
+
+ Determines whether an object is a spy. + + +
+ + + + +
+
Parameters:
+ +
+ {jasmine.Spy|Object} putativeSpy + +
+
+ +
+ + + + + +
+
Returns:
+ +
{Boolean}
+ +
+ + + + +
+ + +
<static> + + + jasmine.log() + +
+
+ All parameters are pretty-printed and concatenated together, then written to the current spec's output. + +Be careful not to leave calls to jasmine.log in production code. + + +
+ + + + + + + + + + + +
+ + +
<static> + + + jasmine.MessageResult(values) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ values + +
+
+ +
+ + + + + + + + +
+ + +
<static> + + {String} + jasmine.pp(value) + +
+
+ Pretty printer for expecations. Takes any object and turns it into a human-readable string. + + +
+ + + + +
+
Parameters:
+ +
+ value + +
+
{Object} an object to be outputted
+ +
+ + + + + +
+
Returns:
+ +
{String}
+ +
+ + + + +
+ + +
<static> + + + jasmine.PrettyPrinter() + +
+
+ Base class for pretty printing for expectation results. + +
+ Defined in: PrettyPrinter.js. + + +
+ + + + + + + + + + + +
+ + +
<static> + + + jasmine.Queue(env) + +
+
+ + +
+ Defined in: Queue.js. + + +
+ + + + +
+
Parameters:
+ +
+ env + +
+
+ +
+ + + + + + + + +
+ + +
<static> + + + jasmine.StringPrettyPrinter() + +
+
+ + +
+ Defined in: PrettyPrinter.js. + + +
+ + + + + + + + + + + +
+ + +
<static> + + + jasmine.TrivialReporter(doc) + +
+
+ + +
+ Defined in: TrivialReporter.js. + + +
+ + + + +
+
Parameters:
+ +
+ doc + +
+
+ +
+ + + + + + + + +
+ + +
<static> + + + jasmine.WaitsBlock(env, timeout, spec) + +
+
+ + +
+ Defined in: WaitsBlock.js. + + +
+ + + + +
+
Parameters:
+ +
+ env + +
+
+ +
+ timeout + +
+
+ +
+ spec + +
+
+ +
+ + + + + + + + + + + + + + + +
+
+ + + +
+ + Documentation generated by JsDoc Toolkit 2.1.0 on Sun Feb 27 2011 12:17:45 GMT-0800 (PST) +
+ + diff --git a/pages/jsdoc/symbols/jasmine.util.html b/pages/jsdoc/symbols/jasmine.util.html new file mode 100644 index 0000000..c8ae759 --- /dev/null +++ b/pages/jsdoc/symbols/jasmine.util.html @@ -0,0 +1,537 @@ + + + + + + + JsDoc Reference - jasmine.util + + + + + + + + + + + + + +
+ +

+ + Namespace jasmine.util +

+ + +

+ + + + + +
Defined in: util.js. + +

+ + + + + + + + + + + + + + + + + +
Namespace Summary
Constructor AttributesConstructor Name and Description
  + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method Summary
Method AttributesMethod Name and Description
<static>   +
jasmine.util.argsToArray(args) +
+
+
<static>   +
jasmine.util.extend(destination, source) +
+
+
<static>   +
jasmine.util.formatException(e) +
+
+
<static>   +
jasmine.util.htmlEscape(str) +
+
+
+ + + + + + + + + +
+
+ Namespace Detail +
+ +
+ jasmine.util +
+ +
+ + +
+ + + + + + + + + + + + +
+ + + + + + + +
+ Method Detail +
+ + +
<static> + + + jasmine.util.argsToArray(args) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ args + +
+
+ +
+ + + + + + + + +
+ + +
<static> + + + jasmine.util.extend(destination, source) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ destination + +
+
+ +
+ source + +
+
+ +
+ + + + + + + + +
+ + +
<static> + + + jasmine.util.formatException(e) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ e + +
+
+ +
+ + + + + + + + +
+ + +
<static> + + + jasmine.util.htmlEscape(str) + +
+
+ + + +
+ + + + +
+
Parameters:
+ +
+ str + +
+
+ +
+ + + + + + + + + + + + + + + +
+
+ + + +
+ + Documentation generated by JsDoc Toolkit 2.1.0 on Sun Feb 27 2011 12:17:46 GMT-0800 (PST) +
+ + diff --git a/pages/jsdoc/symbols/src/src_Block.js.html b/pages/jsdoc/symbols/src/src_Block.js.html new file mode 100644 index 0000000..a834f58 --- /dev/null +++ b/pages/jsdoc/symbols/src/src_Block.js.html @@ -0,0 +1,29 @@ +
  1 /**
+  2  * Blocks are functions with executable code that make up a spec.
+  3  *
+  4  * @constructor
+  5  * @param {jasmine.Env} env
+  6  * @param {Function} func
+  7  * @param {jasmine.Spec} spec
+  8  */
+  9 jasmine.Block = function(env, func, spec) {
+ 10   this.env = env;
+ 11   this.func = func;
+ 12   this.spec = spec;
+ 13 };
+ 14 
+ 15 jasmine.Block.prototype.execute = function(onComplete) {  
+ 16   try {
+ 17     this.func.apply(this.spec);
+ 18   } catch (e) {
+ 19     this.spec.fail(e);
+ 20   }
+ 21   onComplete();
+ 22 };
\ No newline at end of file diff --git a/pages/jsdoc/symbols/src/src_Env.js.html b/pages/jsdoc/symbols/src/src_Env.js.html new file mode 100644 index 0000000..bdcf2ef --- /dev/null +++ b/pages/jsdoc/symbols/src/src_Env.js.html @@ -0,0 +1,272 @@ +
  1 /**
+  2  * Environment for Jasmine
+  3  *
+  4  * @constructor
+  5  */
+  6 jasmine.Env = function() {
+  7   this.currentSpec = null;
+  8   this.currentSuite = null;
+  9   this.currentRunner_ = new jasmine.Runner(this);
+ 10 
+ 11   this.reporter = new jasmine.MultiReporter();
+ 12 
+ 13   this.updateInterval = jasmine.DEFAULT_UPDATE_INTERVAL;
+ 14   this.defaultTimeoutInterval = jasmine.DEFAULT_TIMEOUT_INTERVAL;
+ 15   this.lastUpdate = 0;
+ 16   this.specFilter = function() {
+ 17     return true;
+ 18   };
+ 19 
+ 20   this.nextSpecId_ = 0;
+ 21   this.nextSuiteId_ = 0;
+ 22   this.equalityTesters_ = [];
+ 23 
+ 24   // wrap matchers
+ 25   this.matchersClass = function() {
+ 26     jasmine.Matchers.apply(this, arguments);
+ 27   };
+ 28   jasmine.util.inherit(this.matchersClass, jasmine.Matchers);
+ 29 
+ 30   jasmine.Matchers.wrapInto_(jasmine.Matchers.prototype, this.matchersClass);
+ 31 };
+ 32 
+ 33 
+ 34 jasmine.Env.prototype.setTimeout = jasmine.setTimeout;
+ 35 jasmine.Env.prototype.clearTimeout = jasmine.clearTimeout;
+ 36 jasmine.Env.prototype.setInterval = jasmine.setInterval;
+ 37 jasmine.Env.prototype.clearInterval = jasmine.clearInterval;
+ 38 
+ 39 /**
+ 40  * @returns an object containing jasmine version build info, if set.
+ 41  */
+ 42 jasmine.Env.prototype.version = function () {
+ 43   if (jasmine.version_) {
+ 44     return jasmine.version_;
+ 45   } else {
+ 46     throw new Error('Version not set');
+ 47   }
+ 48 };
+ 49 
+ 50 /**
+ 51  * @returns string containing jasmine version build info, if set.
+ 52  */
+ 53 jasmine.Env.prototype.versionString = function() {
+ 54   if (jasmine.version_) {
+ 55     var version = this.version();
+ 56     return version.major + "." + version.minor + "." + version.build + " revision " + version.revision;
+ 57   } else {
+ 58     return "version unknown";
+ 59   }
+ 60 };
+ 61 
+ 62 /**
+ 63  * @returns a sequential integer starting at 0
+ 64  */
+ 65 jasmine.Env.prototype.nextSpecId = function () {
+ 66   return this.nextSpecId_++;
+ 67 };
+ 68 
+ 69 /**
+ 70  * @returns a sequential integer starting at 0
+ 71  */
+ 72 jasmine.Env.prototype.nextSuiteId = function () {
+ 73   return this.nextSuiteId_++;
+ 74 };
+ 75 
+ 76 /**
+ 77  * Register a reporter to receive status updates from Jasmine.
+ 78  * @param {jasmine.Reporter} reporter An object which will receive status updates.
+ 79  */
+ 80 jasmine.Env.prototype.addReporter = function(reporter) {
+ 81   this.reporter.addReporter(reporter);
+ 82 };
+ 83 
+ 84 jasmine.Env.prototype.execute = function() {
+ 85   this.currentRunner_.execute();
+ 86 };
+ 87 
+ 88 jasmine.Env.prototype.describe = function(description, specDefinitions) {
+ 89   var suite = new jasmine.Suite(this, description, specDefinitions, this.currentSuite);
+ 90 
+ 91   var parentSuite = this.currentSuite;
+ 92   if (parentSuite) {
+ 93     parentSuite.add(suite);
+ 94   } else {
+ 95     this.currentRunner_.add(suite);
+ 96   }
+ 97 
+ 98   this.currentSuite = suite;
+ 99 
+100   var declarationError = null;
+101   try {
+102     specDefinitions.call(suite);
+103   } catch(e) {
+104     declarationError = e;
+105   }
+106 
+107   this.currentSuite = parentSuite;
+108 
+109   if (declarationError) {
+110     this.it("encountered a declaration exception", function() {
+111       throw declarationError;
+112     });
+113   }
+114 
+115   return suite;
+116 };
+117 
+118 jasmine.Env.prototype.beforeEach = function(beforeEachFunction) {
+119   if (this.currentSuite) {
+120     this.currentSuite.beforeEach(beforeEachFunction);
+121   } else {
+122     this.currentRunner_.beforeEach(beforeEachFunction);
+123   }
+124 };
+125 
+126 jasmine.Env.prototype.currentRunner = function () {
+127   return this.currentRunner_;
+128 };
+129 
+130 jasmine.Env.prototype.afterEach = function(afterEachFunction) {
+131   if (this.currentSuite) {
+132     this.currentSuite.afterEach(afterEachFunction);
+133   } else {
+134     this.currentRunner_.afterEach(afterEachFunction);
+135   }
+136 
+137 };
+138 
+139 jasmine.Env.prototype.xdescribe = function(desc, specDefinitions) {
+140   return {
+141     execute: function() {
+142     }
+143   };
+144 };
+145 
+146 jasmine.Env.prototype.it = function(description, func) {
+147   var spec = new jasmine.Spec(this, this.currentSuite, description);
+148   this.currentSuite.add(spec);
+149   this.currentSpec = spec;
+150 
+151   if (func) {
+152     spec.runs(func);
+153   }
+154 
+155   return spec;
+156 };
+157 
+158 jasmine.Env.prototype.xit = function(desc, func) {
+159   return {
+160     id: this.nextSpecId(),
+161     runs: function() {
+162     }
+163   };
+164 };
+165 
+166 jasmine.Env.prototype.compareObjects_ = function(a, b, mismatchKeys, mismatchValues) {
+167   if (a.__Jasmine_been_here_before__ === b && b.__Jasmine_been_here_before__ === a) {
+168     return true;
+169   }
+170 
+171   a.__Jasmine_been_here_before__ = b;
+172   b.__Jasmine_been_here_before__ = a;
+173 
+174   var hasKey = function(obj, keyName) {
+175     return obj != null && obj[keyName] !== jasmine.undefined;
+176   };
+177 
+178   for (var property in b) {
+179     if (!hasKey(a, property) && hasKey(b, property)) {
+180       mismatchKeys.push("expected has key '" + property + "', but missing from actual.");
+181     }
+182   }
+183   for (property in a) {
+184     if (!hasKey(b, property) && hasKey(a, property)) {
+185       mismatchKeys.push("expected missing key '" + property + "', but present in actual.");
+186     }
+187   }
+188   for (property in b) {
+189     if (property == '__Jasmine_been_here_before__') continue;
+190     if (!this.equals_(a[property], b[property], mismatchKeys, mismatchValues)) {
+191       mismatchValues.push("'" + property + "' was '" + (b[property] ? jasmine.util.htmlEscape(b[property].toString()) : b[property]) + "' in expected, but was '" + (a[property] ? jasmine.util.htmlEscape(a[property].toString()) : a[property]) + "' in actual.");
+192     }
+193   }
+194 
+195   if (jasmine.isArray_(a) && jasmine.isArray_(b) && a.length != b.length) {
+196     mismatchValues.push("arrays were not the same length");
+197   }
+198 
+199   delete a.__Jasmine_been_here_before__;
+200   delete b.__Jasmine_been_here_before__;
+201   return (mismatchKeys.length == 0 && mismatchValues.length == 0);
+202 };
+203 
+204 jasmine.Env.prototype.equals_ = function(a, b, mismatchKeys, mismatchValues) {
+205   mismatchKeys = mismatchKeys || [];
+206   mismatchValues = mismatchValues || [];
+207 
+208   for (var i = 0; i < this.equalityTesters_.length; i++) {
+209     var equalityTester = this.equalityTesters_[i];
+210     var result = equalityTester(a, b, this, mismatchKeys, mismatchValues);
+211     if (result !== jasmine.undefined) return result;
+212   }
+213 
+214   if (a === b) return true;
+215 
+216   if (a === jasmine.undefined || a === null || b === jasmine.undefined || b === null) {
+217     return (a == jasmine.undefined && b == jasmine.undefined);
+218   }
+219 
+220   if (jasmine.isDomNode(a) && jasmine.isDomNode(b)) {
+221     return a === b;
+222   }
+223 
+224   if (a instanceof Date && b instanceof Date) {
+225     return a.getTime() == b.getTime();
+226   }
+227 
+228   if (a instanceof jasmine.Matchers.Any) {
+229     return a.matches(b);
+230   }
+231 
+232   if (b instanceof jasmine.Matchers.Any) {
+233     return b.matches(a);
+234   }
+235 
+236   if (jasmine.isString_(a) && jasmine.isString_(b)) {
+237     return (a == b);
+238   }
+239 
+240   if (jasmine.isNumber_(a) && jasmine.isNumber_(b)) {
+241     return (a == b);
+242   }
+243 
+244   if (typeof a === "object" && typeof b === "object") {
+245     return this.compareObjects_(a, b, mismatchKeys, mismatchValues);
+246   }
+247 
+248   //Straight check
+249   return (a === b);
+250 };
+251 
+252 jasmine.Env.prototype.contains_ = function(haystack, needle) {
+253   if (jasmine.isArray_(haystack)) {
+254     for (var i = 0; i < haystack.length; i++) {
+255       if (this.equals_(haystack[i], needle)) return true;
+256     }
+257     return false;
+258   }
+259   return haystack.indexOf(needle) >= 0;
+260 };
+261 
+262 jasmine.Env.prototype.addEqualityTester = function(equalityTester) {
+263   this.equalityTesters_.push(equalityTester);
+264 };
+265 
\ No newline at end of file diff --git a/pages/jsdoc/symbols/src/src_JsApiReporter.js.html b/pages/jsdoc/symbols/src/src_JsApiReporter.js.html new file mode 100644 index 0000000..8ba33ff --- /dev/null +++ b/pages/jsdoc/symbols/src/src_JsApiReporter.js.html @@ -0,0 +1,110 @@ +
  1 /** JavaScript API reporter.
+  2  *
+  3  * @constructor
+  4  */
+  5 jasmine.JsApiReporter = function() {
+  6   this.started = false;
+  7   this.finished = false;
+  8   this.suites_ = [];
+  9   this.results_ = {};
+ 10 };
+ 11 
+ 12 jasmine.JsApiReporter.prototype.reportRunnerStarting = function(runner) {
+ 13   this.started = true;
+ 14   var suites = runner.topLevelSuites();
+ 15   for (var i = 0; i < suites.length; i++) {
+ 16     var suite = suites[i];
+ 17     this.suites_.push(this.summarize_(suite));
+ 18   }
+ 19 };
+ 20 
+ 21 jasmine.JsApiReporter.prototype.suites = function() {
+ 22   return this.suites_;
+ 23 };
+ 24 
+ 25 jasmine.JsApiReporter.prototype.summarize_ = function(suiteOrSpec) {
+ 26   var isSuite = suiteOrSpec instanceof jasmine.Suite;
+ 27   var summary = {
+ 28     id: suiteOrSpec.id,
+ 29     name: suiteOrSpec.description,
+ 30     type: isSuite ? 'suite' : 'spec',
+ 31     children: []
+ 32   };
+ 33   
+ 34   if (isSuite) {
+ 35     var children = suiteOrSpec.children();
+ 36     for (var i = 0; i < children.length; i++) {
+ 37       summary.children.push(this.summarize_(children[i]));
+ 38     }
+ 39   }
+ 40   return summary;
+ 41 };
+ 42 
+ 43 jasmine.JsApiReporter.prototype.results = function() {
+ 44   return this.results_;
+ 45 };
+ 46 
+ 47 jasmine.JsApiReporter.prototype.resultsForSpec = function(specId) {
+ 48   return this.results_[specId];
+ 49 };
+ 50 
+ 51 //noinspection JSUnusedLocalSymbols
+ 52 jasmine.JsApiReporter.prototype.reportRunnerResults = function(runner) {
+ 53   this.finished = true;
+ 54 };
+ 55 
+ 56 //noinspection JSUnusedLocalSymbols
+ 57 jasmine.JsApiReporter.prototype.reportSuiteResults = function(suite) {
+ 58 };
+ 59 
+ 60 //noinspection JSUnusedLocalSymbols
+ 61 jasmine.JsApiReporter.prototype.reportSpecResults = function(spec) {
+ 62   this.results_[spec.id] = {
+ 63     messages: spec.results().getItems(),
+ 64     result: spec.results().failedCount > 0 ? "failed" : "passed"
+ 65   };
+ 66 };
+ 67 
+ 68 //noinspection JSUnusedLocalSymbols
+ 69 jasmine.JsApiReporter.prototype.log = function(str) {
+ 70 };
+ 71 
+ 72 jasmine.JsApiReporter.prototype.resultsForSpecs = function(specIds){
+ 73   var results = {};
+ 74   for (var i = 0; i < specIds.length; i++) {
+ 75     var specId = specIds[i];
+ 76     results[specId] = this.summarizeResult_(this.results_[specId]);
+ 77   }
+ 78   return results;
+ 79 };
+ 80 
+ 81 jasmine.JsApiReporter.prototype.summarizeResult_ = function(result){
+ 82   var summaryMessages = [];
+ 83   var messagesLength = result.messages.length;
+ 84   for (var messageIndex = 0; messageIndex < messagesLength; messageIndex++) {
+ 85     var resultMessage = result.messages[messageIndex];
+ 86     summaryMessages.push({
+ 87       text: resultMessage.type == 'log' ? resultMessage.toString() : jasmine.undefined,
+ 88       passed: resultMessage.passed ? resultMessage.passed() : true,
+ 89       type: resultMessage.type,
+ 90       message: resultMessage.message,
+ 91       trace: {
+ 92         stack: resultMessage.passed && !resultMessage.passed() ? resultMessage.trace.stack : jasmine.undefined
+ 93       }
+ 94     });
+ 95   }
+ 96 
+ 97   return {
+ 98     result : result.result,
+ 99     messages : summaryMessages
+100   };
+101 };
+102 
+103 
\ No newline at end of file diff --git a/pages/jsdoc/symbols/src/src_Matchers.js.html b/pages/jsdoc/symbols/src/src_Matchers.js.html new file mode 100644 index 0000000..ab3d5fb --- /dev/null +++ b/pages/jsdoc/symbols/src/src_Matchers.js.html @@ -0,0 +1,362 @@ +
  1 /**
+  2  * @constructor
+  3  * @param {jasmine.Env} env
+  4  * @param actual
+  5  * @param {jasmine.Spec} spec
+  6  */
+  7 jasmine.Matchers = function(env, actual, spec, opt_isNot) {
+  8   this.env = env;
+  9   this.actual = actual;
+ 10   this.spec = spec;
+ 11   this.isNot = opt_isNot || false;
+ 12   this.reportWasCalled_ = false;
+ 13 };
+ 14 
+ 15 // todo: @deprecated as of Jasmine 0.11, remove soon [xw]
+ 16 jasmine.Matchers.pp = function(str) {
+ 17   throw new Error("jasmine.Matchers.pp() is no longer supported, please use jasmine.pp() instead!");
+ 18 };
+ 19 
+ 20 // todo: @deprecated Deprecated as of Jasmine 0.10. Rewrite your custom matchers to return true or false. [xw]
+ 21 jasmine.Matchers.prototype.report = function(result, failing_message, details) {
+ 22   throw new Error("As of jasmine 0.11, custom matchers must be implemented differently -- please see jasmine docs");
+ 23 };
+ 24 
+ 25 jasmine.Matchers.wrapInto_ = function(prototype, matchersClass) {
+ 26   for (var methodName in prototype) {
+ 27     if (methodName == 'report') continue;
+ 28     var orig = prototype[methodName];
+ 29     matchersClass.prototype[methodName] = jasmine.Matchers.matcherFn_(methodName, orig);
+ 30   }
+ 31 };
+ 32 
+ 33 jasmine.Matchers.matcherFn_ = function(matcherName, matcherFunction) {
+ 34   return function() {
+ 35     var matcherArgs = jasmine.util.argsToArray(arguments);
+ 36     var result = matcherFunction.apply(this, arguments);
+ 37 
+ 38     if (this.isNot) {
+ 39       result = !result;
+ 40     }
+ 41 
+ 42     if (this.reportWasCalled_) return result;
+ 43 
+ 44     var message;
+ 45     if (!result) {
+ 46       if (this.message) {
+ 47         message = this.message.apply(this, arguments);
+ 48         if (jasmine.isArray_(message)) {
+ 49           message = message[this.isNot ? 1 : 0];
+ 50         }
+ 51       } else {
+ 52         var englishyPredicate = matcherName.replace(/[A-Z]/g, function(s) { return ' ' + s.toLowerCase(); });
+ 53         message = "Expected " + jasmine.pp(this.actual) + (this.isNot ? " not " : " ") + englishyPredicate;
+ 54         if (matcherArgs.length > 0) {
+ 55           for (var i = 0; i < matcherArgs.length; i++) {
+ 56             if (i > 0) message += ",";
+ 57             message += " " + jasmine.pp(matcherArgs[i]);
+ 58           }
+ 59         }
+ 60         message += ".";
+ 61       }
+ 62     }
+ 63     var expectationResult = new jasmine.ExpectationResult({
+ 64       matcherName: matcherName,
+ 65       passed: result,
+ 66       expected: matcherArgs.length > 1 ? matcherArgs : matcherArgs[0],
+ 67       actual: this.actual,
+ 68       message: message
+ 69     });
+ 70     this.spec.addMatcherResult(expectationResult);
+ 71     return jasmine.undefined;
+ 72   };
+ 73 };
+ 74 
+ 75 
+ 76 
+ 77 
+ 78 /**
+ 79  * toBe: compares the actual to the expected using ===
+ 80  * @param expected
+ 81  */
+ 82 jasmine.Matchers.prototype.toBe = function(expected) {
+ 83   return this.actual === expected;
+ 84 };
+ 85 
+ 86 /**
+ 87  * toNotBe: compares the actual to the expected using !==
+ 88  * @param expected
+ 89  * @deprecated as of 1.0. Use not.toBe() instead.
+ 90  */
+ 91 jasmine.Matchers.prototype.toNotBe = function(expected) {
+ 92   return this.actual !== expected;
+ 93 };
+ 94 
+ 95 /**
+ 96  * toEqual: compares the actual to the expected using common sense equality. Handles Objects, Arrays, etc.
+ 97  *
+ 98  * @param expected
+ 99  */
+100 jasmine.Matchers.prototype.toEqual = function(expected) {
+101   return this.env.equals_(this.actual, expected);
+102 };
+103 
+104 /**
+105  * toNotEqual: compares the actual to the expected using the ! of jasmine.Matchers.toEqual
+106  * @param expected
+107  * @deprecated as of 1.0. Use not.toNotEqual() instead.
+108  */
+109 jasmine.Matchers.prototype.toNotEqual = function(expected) {
+110   return !this.env.equals_(this.actual, expected);
+111 };
+112 
+113 /**
+114  * Matcher that compares the actual to the expected using a regular expression.  Constructs a RegExp, so takes
+115  * a pattern or a String.
+116  *
+117  * @param expected
+118  */
+119 jasmine.Matchers.prototype.toMatch = function(expected) {
+120   return new RegExp(expected).test(this.actual);
+121 };
+122 
+123 /**
+124  * Matcher that compares the actual to the expected using the boolean inverse of jasmine.Matchers.toMatch
+125  * @param expected
+126  * @deprecated as of 1.0. Use not.toMatch() instead.
+127  */
+128 jasmine.Matchers.prototype.toNotMatch = function(expected) {
+129   return !(new RegExp(expected).test(this.actual));
+130 };
+131 
+132 /**
+133  * Matcher that compares the actual to jasmine.undefined.
+134  */
+135 jasmine.Matchers.prototype.toBeDefined = function() {
+136   return (this.actual !== jasmine.undefined);
+137 };
+138 
+139 /**
+140  * Matcher that compares the actual to jasmine.undefined.
+141  */
+142 jasmine.Matchers.prototype.toBeUndefined = function() {
+143   return (this.actual === jasmine.undefined);
+144 };
+145 
+146 /**
+147  * Matcher that compares the actual to null.
+148  */
+149 jasmine.Matchers.prototype.toBeNull = function() {
+150   return (this.actual === null);
+151 };
+152 
+153 /**
+154  * Matcher that boolean not-nots the actual.
+155  */
+156 jasmine.Matchers.prototype.toBeTruthy = function() {
+157   return !!this.actual;
+158 };
+159 
+160 
+161 /**
+162  * Matcher that boolean nots the actual.
+163  */
+164 jasmine.Matchers.prototype.toBeFalsy = function() {
+165   return !this.actual;
+166 };
+167 
+168 
+169 /**
+170  * Matcher that checks to see if the actual, a Jasmine spy, was called.
+171  */
+172 jasmine.Matchers.prototype.toHaveBeenCalled = function() {
+173   if (arguments.length > 0) {
+174     throw new Error('toHaveBeenCalled does not take arguments, use toHaveBeenCalledWith');
+175   }
+176 
+177   if (!jasmine.isSpy(this.actual)) {
+178     throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.');
+179   }
+180 
+181   this.message = function() {
+182     return [
+183       "Expected spy " + this.actual.identity + " to have been called.",
+184       "Expected spy " + this.actual.identity + " not to have been called."
+185     ];
+186   };
+187 
+188   return this.actual.wasCalled;
+189 };
+190 
+191 /** @deprecated Use expect(xxx).toHaveBeenCalled() instead */
+192 jasmine.Matchers.prototype.wasCalled = jasmine.Matchers.prototype.toHaveBeenCalled;
+193 
+194 /**
+195  * Matcher that checks to see if the actual, a Jasmine spy, was not called.
+196  *
+197  * @deprecated Use expect(xxx).not.toHaveBeenCalled() instead
+198  */
+199 jasmine.Matchers.prototype.wasNotCalled = function() {
+200   if (arguments.length > 0) {
+201     throw new Error('wasNotCalled does not take arguments');
+202   }
+203 
+204   if (!jasmine.isSpy(this.actual)) {
+205     throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.');
+206   }
+207 
+208   this.message = function() {
+209     return [
+210       "Expected spy " + this.actual.identity + " to not have been called.",
+211       "Expected spy " + this.actual.identity + " to have been called."
+212     ];
+213   };
+214 
+215   return !this.actual.wasCalled;
+216 };
+217 
+218 /**
+219  * Matcher that checks to see if the actual, a Jasmine spy, was called with a set of parameters.
+220  *
+221  * @example
+222  *
+223  */
+224 jasmine.Matchers.prototype.toHaveBeenCalledWith = function() {
+225   var expectedArgs = jasmine.util.argsToArray(arguments);
+226   if (!jasmine.isSpy(this.actual)) {
+227     throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.');
+228   }
+229   this.message = function() {
+230     if (this.actual.callCount == 0) {
+231       // todo: what should the failure message for .not.toHaveBeenCalledWith() be? is this right? test better. [xw]
+232       return [
+233         "Expected spy to have been called with " + jasmine.pp(expectedArgs) + " but it was never called.",
+234         "Expected spy not to have been called with " + jasmine.pp(expectedArgs) + " but it was."
+235       ];
+236     } else {
+237       return [
+238         "Expected spy to have been called with " + jasmine.pp(expectedArgs) + " but was called with " + jasmine.pp(this.actual.argsForCall),
+239         "Expected spy not to have been called with " + jasmine.pp(expectedArgs) + " but was called with " + jasmine.pp(this.actual.argsForCall)
+240       ];
+241     }
+242   };
+243 
+244   return this.env.contains_(this.actual.argsForCall, expectedArgs);
+245 };
+246 
+247 /** @deprecated Use expect(xxx).toHaveBeenCalledWith() instead */
+248 jasmine.Matchers.prototype.wasCalledWith = jasmine.Matchers.prototype.toHaveBeenCalledWith;
+249 
+250 /** @deprecated Use expect(xxx).not.toHaveBeenCalledWith() instead */
+251 jasmine.Matchers.prototype.wasNotCalledWith = function() {
+252   var expectedArgs = jasmine.util.argsToArray(arguments);
+253   if (!jasmine.isSpy(this.actual)) {
+254     throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.');
+255   }
+256 
+257   this.message = function() {
+258     return [
+259       "Expected spy not to have been called with " + jasmine.pp(expectedArgs) + " but it was",
+260       "Expected spy to have been called with " + jasmine.pp(expectedArgs) + " but it was"
+261     ]
+262   };
+263 
+264   return !this.env.contains_(this.actual.argsForCall, expectedArgs);
+265 };
+266 
+267 /**
+268  * Matcher that checks that the expected item is an element in the actual Array.
+269  *
+270  * @param {Object} expected
+271  */
+272 jasmine.Matchers.prototype.toContain = function(expected) {
+273   return this.env.contains_(this.actual, expected);
+274 };
+275 
+276 /**
+277  * Matcher that checks that the expected item is NOT an element in the actual Array.
+278  *
+279  * @param {Object} expected
+280  * @deprecated as of 1.0. Use not.toNotContain() instead.
+281  */
+282 jasmine.Matchers.prototype.toNotContain = function(expected) {
+283   return !this.env.contains_(this.actual, expected);
+284 };
+285 
+286 jasmine.Matchers.prototype.toBeLessThan = function(expected) {
+287   return this.actual < expected;
+288 };
+289 
+290 jasmine.Matchers.prototype.toBeGreaterThan = function(expected) {
+291   return this.actual > expected;
+292 };
+293 
+294 /**
+295  * Matcher that checks that the expected exception was thrown by the actual.
+296  *
+297  * @param {String} expected
+298  */
+299 jasmine.Matchers.prototype.toThrow = function(expected) {
+300   var result = false;
+301   var exception;
+302   if (typeof this.actual != 'function') {
+303     throw new Error('Actual is not a function');
+304   }
+305   try {
+306     this.actual();
+307   } catch (e) {
+308     exception = e;
+309   }
+310   if (exception) {
+311     result = (expected === jasmine.undefined || this.env.equals_(exception.message || exception, expected.message || expected));
+312   }
+313 
+314   var not = this.isNot ? "not " : "";
+315 
+316   this.message = function() {
+317     if (exception && (expected === jasmine.undefined || !this.env.equals_(exception.message || exception, expected.message || expected))) {
+318       return ["Expected function " + not + "to throw", expected ? expected.message || expected : " an exception", ", but it threw", exception.message || exception].join(' ');
+319     } else {
+320       return "Expected function to throw an exception.";
+321     }
+322   };
+323 
+324   return result;
+325 };
+326 
+327 jasmine.Matchers.Any = function(expectedClass) {
+328   this.expectedClass = expectedClass;
+329 };
+330 
+331 jasmine.Matchers.Any.prototype.matches = function(other) {
+332   if (this.expectedClass == String) {
+333     return typeof other == 'string' || other instanceof String;
+334   }
+335 
+336   if (this.expectedClass == Number) {
+337     return typeof other == 'number' || other instanceof Number;
+338   }
+339 
+340   if (this.expectedClass == Function) {
+341     return typeof other == 'function' || other instanceof Function;
+342   }
+343 
+344   if (this.expectedClass == Object) {
+345     return typeof other == 'object';
+346   }
+347 
+348   return other instanceof this.expectedClass;
+349 };
+350 
+351 jasmine.Matchers.Any.prototype.toString = function() {
+352   return '<jasmine.any(' + this.expectedClass + ')>';
+353 };
+354 
+355 
\ No newline at end of file diff --git a/pages/jsdoc/symbols/src/src_MultiReporter.js.html b/pages/jsdoc/symbols/src/src_MultiReporter.js.html new file mode 100644 index 0000000..2316cea --- /dev/null +++ b/pages/jsdoc/symbols/src/src_MultiReporter.js.html @@ -0,0 +1,43 @@ +
  1 /**
+  2  * @constructor
+  3  */
+  4 jasmine.MultiReporter = function() {
+  5   this.subReporters_ = [];
+  6 };
+  7 jasmine.util.inherit(jasmine.MultiReporter, jasmine.Reporter);
+  8 
+  9 jasmine.MultiReporter.prototype.addReporter = function(reporter) {
+ 10   this.subReporters_.push(reporter);
+ 11 };
+ 12 
+ 13 (function() {
+ 14   var functionNames = [
+ 15     "reportRunnerStarting",
+ 16     "reportRunnerResults",
+ 17     "reportSuiteResults",
+ 18     "reportSpecStarting",
+ 19     "reportSpecResults",
+ 20     "log"
+ 21   ];
+ 22   for (var i = 0; i < functionNames.length; i++) {
+ 23     var functionName = functionNames[i];
+ 24     jasmine.MultiReporter.prototype[functionName] = (function(functionName) {
+ 25       return function() {
+ 26         for (var j = 0; j < this.subReporters_.length; j++) {
+ 27           var subReporter = this.subReporters_[j];
+ 28           if (subReporter[functionName]) {
+ 29             subReporter[functionName].apply(subReporter, arguments);
+ 30           }
+ 31         }
+ 32       };
+ 33     })(functionName);
+ 34   }
+ 35 })();
+ 36 
\ No newline at end of file diff --git a/pages/jsdoc/symbols/src/src_NestedResults.js.html b/pages/jsdoc/symbols/src/src_NestedResults.js.html new file mode 100644 index 0000000..7a9e82a --- /dev/null +++ b/pages/jsdoc/symbols/src/src_NestedResults.js.html @@ -0,0 +1,88 @@ +
  1 /**
+  2  * Holds results for a set of Jasmine spec. Allows for the results array to hold another jasmine.NestedResults
+  3  *
+  4  * @constructor
+  5  */
+  6 jasmine.NestedResults = function() {
+  7   /**
+  8    * The total count of results
+  9    */
+ 10   this.totalCount = 0;
+ 11   /**
+ 12    * Number of passed results
+ 13    */
+ 14   this.passedCount = 0;
+ 15   /**
+ 16    * Number of failed results
+ 17    */
+ 18   this.failedCount = 0;
+ 19   /**
+ 20    * Was this suite/spec skipped?
+ 21    */
+ 22   this.skipped = false;
+ 23   /**
+ 24    * @ignore
+ 25    */
+ 26   this.items_ = [];
+ 27 };
+ 28 
+ 29 /**
+ 30  * Roll up the result counts.
+ 31  *
+ 32  * @param result
+ 33  */
+ 34 jasmine.NestedResults.prototype.rollupCounts = function(result) {
+ 35   this.totalCount += result.totalCount;
+ 36   this.passedCount += result.passedCount;
+ 37   this.failedCount += result.failedCount;
+ 38 };
+ 39 
+ 40 /**
+ 41  * Adds a log message.
+ 42  * @param values Array of message parts which will be concatenated later.
+ 43  */
+ 44 jasmine.NestedResults.prototype.log = function(values) {
+ 45   this.items_.push(new jasmine.MessageResult(values));
+ 46 };
+ 47 
+ 48 /**
+ 49  * Getter for the results: message & results.
+ 50  */
+ 51 jasmine.NestedResults.prototype.getItems = function() {
+ 52   return this.items_;
+ 53 };
+ 54 
+ 55 /**
+ 56  * Adds a result, tracking counts (total, passed, & failed)
+ 57  * @param {jasmine.ExpectationResult|jasmine.NestedResults} result
+ 58  */
+ 59 jasmine.NestedResults.prototype.addResult = function(result) {
+ 60   if (result.type != 'log') {
+ 61     if (result.items_) {
+ 62       this.rollupCounts(result);
+ 63     } else {
+ 64       this.totalCount++;
+ 65       if (result.passed()) {
+ 66         this.passedCount++;
+ 67       } else {
+ 68         this.failedCount++;
+ 69       }
+ 70     }
+ 71   }
+ 72   this.items_.push(result);
+ 73 };
+ 74 
+ 75 /**
+ 76  * @returns {Boolean} True if <b>everything</b> below passed
+ 77  */
+ 78 jasmine.NestedResults.prototype.passed = function() {
+ 79   return this.passedCount === this.totalCount;
+ 80 };
+ 81 
\ No newline at end of file diff --git a/pages/jsdoc/symbols/src/src_PrettyPrinter.js.html b/pages/jsdoc/symbols/src/src_PrettyPrinter.js.html new file mode 100644 index 0000000..9e638b4 --- /dev/null +++ b/pages/jsdoc/symbols/src/src_PrettyPrinter.js.html @@ -0,0 +1,130 @@ +
  1 /**
+  2  * Base class for pretty printing for expectation results.
+  3  */
+  4 jasmine.PrettyPrinter = function() {
+  5   this.ppNestLevel_ = 0;
+  6 };
+  7 
+  8 /**
+  9  * Formats a value in a nice, human-readable string.
+ 10  *
+ 11  * @param value
+ 12  */
+ 13 jasmine.PrettyPrinter.prototype.format = function(value) {
+ 14   if (this.ppNestLevel_ > 40) {
+ 15     throw new Error('jasmine.PrettyPrinter: format() nested too deeply!');
+ 16   }
+ 17 
+ 18   this.ppNestLevel_++;
+ 19   try {
+ 20     if (value === jasmine.undefined) {
+ 21       this.emitScalar('undefined');
+ 22     } else if (value === null) {
+ 23       this.emitScalar('null');
+ 24     } else if (value === jasmine.getGlobal()) {
+ 25       this.emitScalar('<global>');
+ 26     } else if (value instanceof jasmine.Matchers.Any) {
+ 27       this.emitScalar(value.toString());
+ 28     } else if (typeof value === 'string') {
+ 29       this.emitString(value);
+ 30     } else if (jasmine.isSpy(value)) {
+ 31       this.emitScalar("spy on " + value.identity);
+ 32     } else if (value instanceof RegExp) {
+ 33       this.emitScalar(value.toString());
+ 34     } else if (typeof value === 'function') {
+ 35       this.emitScalar('Function');
+ 36     } else if (typeof value.nodeType === 'number') {
+ 37       this.emitScalar('HTMLNode');
+ 38     } else if (value instanceof Date) {
+ 39       this.emitScalar('Date(' + value + ')');
+ 40     } else if (value.__Jasmine_been_here_before__) {
+ 41       this.emitScalar('<circular reference: ' + (jasmine.isArray_(value) ? 'Array' : 'Object') + '>');
+ 42     } else if (jasmine.isArray_(value) || typeof value == 'object') {
+ 43       value.__Jasmine_been_here_before__ = true;
+ 44       if (jasmine.isArray_(value)) {
+ 45         this.emitArray(value);
+ 46       } else {
+ 47         this.emitObject(value);
+ 48       }
+ 49       delete value.__Jasmine_been_here_before__;
+ 50     } else {
+ 51       this.emitScalar(value.toString());
+ 52     }
+ 53   } finally {
+ 54     this.ppNestLevel_--;
+ 55   }
+ 56 };
+ 57 
+ 58 jasmine.PrettyPrinter.prototype.iterateObject = function(obj, fn) {
+ 59   for (var property in obj) {
+ 60     if (property == '__Jasmine_been_here_before__') continue;
+ 61     fn(property, obj.__lookupGetter__ ? (obj.__lookupGetter__(property) != null) : false);
+ 62   }
+ 63 };
+ 64 
+ 65 jasmine.PrettyPrinter.prototype.emitArray = jasmine.unimplementedMethod_;
+ 66 jasmine.PrettyPrinter.prototype.emitObject = jasmine.unimplementedMethod_;
+ 67 jasmine.PrettyPrinter.prototype.emitScalar = jasmine.unimplementedMethod_;
+ 68 jasmine.PrettyPrinter.prototype.emitString = jasmine.unimplementedMethod_;
+ 69 
+ 70 jasmine.StringPrettyPrinter = function() {
+ 71   jasmine.PrettyPrinter.call(this);
+ 72 
+ 73   this.string = '';
+ 74 };
+ 75 jasmine.util.inherit(jasmine.StringPrettyPrinter, jasmine.PrettyPrinter);
+ 76 
+ 77 jasmine.StringPrettyPrinter.prototype.emitScalar = function(value) {
+ 78   this.append(value);
+ 79 };
+ 80 
+ 81 jasmine.StringPrettyPrinter.prototype.emitString = function(value) {
+ 82   this.append("'" + value + "'");
+ 83 };
+ 84 
+ 85 jasmine.StringPrettyPrinter.prototype.emitArray = function(array) {
+ 86   this.append('[ ');
+ 87   for (var i = 0; i < array.length; i++) {
+ 88     if (i > 0) {
+ 89       this.append(', ');
+ 90     }
+ 91     this.format(array[i]);
+ 92   }
+ 93   this.append(' ]');
+ 94 };
+ 95 
+ 96 jasmine.StringPrettyPrinter.prototype.emitObject = function(obj) {
+ 97   var self = this;
+ 98   this.append('{ ');
+ 99   var first = true;
+100 
+101   this.iterateObject(obj, function(property, isGetter) {
+102     if (first) {
+103       first = false;
+104     } else {
+105       self.append(', ');
+106     }
+107 
+108     self.append(property);
+109     self.append(' : ');
+110     if (isGetter) {
+111       self.append('<getter>');
+112     } else {
+113       self.format(obj[property]);
+114     }
+115   });
+116 
+117   this.append(' }');
+118 };
+119 
+120 jasmine.StringPrettyPrinter.prototype.append = function(value) {
+121   this.string += value;
+122 };
+123 
\ No newline at end of file diff --git a/pages/jsdoc/symbols/src/src_Queue.js.html b/pages/jsdoc/symbols/src/src_Queue.js.html new file mode 100644 index 0000000..3e798fc --- /dev/null +++ b/pages/jsdoc/symbols/src/src_Queue.js.html @@ -0,0 +1,107 @@ +
  1 jasmine.Queue = function(env) {
+  2   this.env = env;
+  3   this.blocks = [];
+  4   this.running = false;
+  5   this.index = 0;
+  6   this.offset = 0;
+  7   this.abort = false;
+  8 };
+  9 
+ 10 jasmine.Queue.prototype.addBefore = function(block) {
+ 11   this.blocks.unshift(block);
+ 12 };
+ 13 
+ 14 jasmine.Queue.prototype.add = function(block) {
+ 15   this.blocks.push(block);
+ 16 };
+ 17 
+ 18 jasmine.Queue.prototype.insertNext = function(block) {
+ 19   this.blocks.splice((this.index + this.offset + 1), 0, block);
+ 20   this.offset++;
+ 21 };
+ 22 
+ 23 jasmine.Queue.prototype.start = function(onComplete) {
+ 24   this.running = true;
+ 25   this.onComplete = onComplete;
+ 26   this.next_();
+ 27 };
+ 28 
+ 29 jasmine.Queue.prototype.isRunning = function() {
+ 30   return this.running;
+ 31 };
+ 32 
+ 33 jasmine.Queue.LOOP_DONT_RECURSE = true;
+ 34 
+ 35 jasmine.Queue.prototype.next_ = function() {
+ 36   var self = this;
+ 37   var goAgain = true;
+ 38 
+ 39   while (goAgain) {
+ 40     goAgain = false;
+ 41     
+ 42     if (self.index < self.blocks.length && !this.abort) {
+ 43       var calledSynchronously = true;
+ 44       var completedSynchronously = false;
+ 45 
+ 46       var onComplete = function () {
+ 47         if (jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously) {
+ 48           completedSynchronously = true;
+ 49           return;
+ 50         }
+ 51 
+ 52         if (self.blocks[self.index].abort) {
+ 53           self.abort = true;
+ 54         }
+ 55 
+ 56         self.offset = 0;
+ 57         self.index++;
+ 58 
+ 59         var now = new Date().getTime();
+ 60         if (self.env.updateInterval && now - self.env.lastUpdate > self.env.updateInterval) {
+ 61           self.env.lastUpdate = now;
+ 62           self.env.setTimeout(function() {
+ 63             self.next_();
+ 64           }, 0);
+ 65         } else {
+ 66           if (jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {
+ 67             goAgain = true;
+ 68           } else {
+ 69             self.next_();
+ 70           }
+ 71         }
+ 72       };
+ 73       self.blocks[self.index].execute(onComplete);
+ 74 
+ 75       calledSynchronously = false;
+ 76       if (completedSynchronously) {
+ 77         onComplete();
+ 78       }
+ 79       
+ 80     } else {
+ 81       self.running = false;
+ 82       if (self.onComplete) {
+ 83         self.onComplete();
+ 84       }
+ 85     }
+ 86   }
+ 87 };
+ 88 
+ 89 jasmine.Queue.prototype.results = function() {
+ 90   var results = new jasmine.NestedResults();
+ 91   for (var i = 0; i < this.blocks.length; i++) {
+ 92     if (this.blocks[i].results) {
+ 93       results.addResult(this.blocks[i].results());
+ 94     }
+ 95   }
+ 96   return results;
+ 97 };
+ 98 
+ 99 
+100 
\ No newline at end of file diff --git a/pages/jsdoc/symbols/src/src_Reporter.js.html b/pages/jsdoc/symbols/src/src_Reporter.js.html new file mode 100644 index 0000000..f5a65df --- /dev/null +++ b/pages/jsdoc/symbols/src/src_Reporter.js.html @@ -0,0 +1,39 @@ +
  1 /** No-op base class for Jasmine reporters.
+  2  *
+  3  * @constructor
+  4  */
+  5 jasmine.Reporter = function() {
+  6 };
+  7 
+  8 //noinspection JSUnusedLocalSymbols
+  9 jasmine.Reporter.prototype.reportRunnerStarting = function(runner) {
+ 10 };
+ 11 
+ 12 //noinspection JSUnusedLocalSymbols
+ 13 jasmine.Reporter.prototype.reportRunnerResults = function(runner) {
+ 14 };
+ 15 
+ 16 //noinspection JSUnusedLocalSymbols
+ 17 jasmine.Reporter.prototype.reportSuiteResults = function(suite) {
+ 18 };
+ 19 
+ 20 //noinspection JSUnusedLocalSymbols
+ 21 jasmine.Reporter.prototype.reportSpecStarting = function(spec) {
+ 22 };
+ 23 
+ 24 //noinspection JSUnusedLocalSymbols
+ 25 jasmine.Reporter.prototype.reportSpecResults = function(spec) {
+ 26 };
+ 27 
+ 28 //noinspection JSUnusedLocalSymbols
+ 29 jasmine.Reporter.prototype.log = function(str) {
+ 30 };
+ 31 
+ 32 
\ No newline at end of file diff --git a/pages/jsdoc/symbols/src/src_Runner.js.html b/pages/jsdoc/symbols/src/src_Runner.js.html new file mode 100644 index 0000000..1bb191d --- /dev/null +++ b/pages/jsdoc/symbols/src/src_Runner.js.html @@ -0,0 +1,84 @@ +
  1 /**
+  2  * Runner
+  3  *
+  4  * @constructor
+  5  * @param {jasmine.Env} env
+  6  */
+  7 jasmine.Runner = function(env) {
+  8   var self = this;
+  9   self.env = env;
+ 10   self.queue = new jasmine.Queue(env);
+ 11   self.before_ = [];
+ 12   self.after_ = [];
+ 13   self.suites_ = [];
+ 14 };
+ 15 
+ 16 jasmine.Runner.prototype.execute = function() {
+ 17   var self = this;
+ 18   if (self.env.reporter.reportRunnerStarting) {
+ 19     self.env.reporter.reportRunnerStarting(this);
+ 20   }
+ 21   self.queue.start(function () {
+ 22     self.finishCallback();
+ 23   });
+ 24 };
+ 25 
+ 26 jasmine.Runner.prototype.beforeEach = function(beforeEachFunction) {
+ 27   beforeEachFunction.typeName = 'beforeEach';
+ 28   this.before_.splice(0,0,beforeEachFunction);
+ 29 };
+ 30 
+ 31 jasmine.Runner.prototype.afterEach = function(afterEachFunction) {
+ 32   afterEachFunction.typeName = 'afterEach';
+ 33   this.after_.splice(0,0,afterEachFunction);
+ 34 };
+ 35 
+ 36 
+ 37 jasmine.Runner.prototype.finishCallback = function() {
+ 38   this.env.reporter.reportRunnerResults(this);
+ 39 };
+ 40 
+ 41 jasmine.Runner.prototype.addSuite = function(suite) {
+ 42   this.suites_.push(suite);
+ 43 };
+ 44 
+ 45 jasmine.Runner.prototype.add = function(block) {
+ 46   if (block instanceof jasmine.Suite) {
+ 47     this.addSuite(block);
+ 48   }
+ 49   this.queue.add(block);
+ 50 };
+ 51 
+ 52 jasmine.Runner.prototype.specs = function () {
+ 53   var suites = this.suites();
+ 54   var specs = [];
+ 55   for (var i = 0; i < suites.length; i++) {
+ 56     specs = specs.concat(suites[i].specs());
+ 57   }
+ 58   return specs;
+ 59 };
+ 60 
+ 61 jasmine.Runner.prototype.suites = function() {
+ 62   return this.suites_;
+ 63 };
+ 64 
+ 65 jasmine.Runner.prototype.topLevelSuites = function() {
+ 66   var topLevelSuites = [];
+ 67   for (var i = 0; i < this.suites_.length; i++) {
+ 68     if (!this.suites_[i].parentSuite) {
+ 69       topLevelSuites.push(this.suites_[i]);
+ 70     }
+ 71   }
+ 72   return topLevelSuites;
+ 73 };
+ 74 
+ 75 jasmine.Runner.prototype.results = function() {
+ 76   return this.queue.results();
+ 77 };
\ No newline at end of file diff --git a/pages/jsdoc/symbols/src/src_Spec.js.html b/pages/jsdoc/symbols/src/src_Spec.js.html new file mode 100644 index 0000000..8d7ef7f --- /dev/null +++ b/pages/jsdoc/symbols/src/src_Spec.js.html @@ -0,0 +1,250 @@ +
  1 /**
+  2  * Internal representation of a Jasmine specification, or test.
+  3  *
+  4  * @constructor
+  5  * @param {jasmine.Env} env
+  6  * @param {jasmine.Suite} suite
+  7  * @param {String} description
+  8  */
+  9 jasmine.Spec = function(env, suite, description) {
+ 10   if (!env) {
+ 11     throw new Error('jasmine.Env() required');
+ 12   }
+ 13   if (!suite) {
+ 14     throw new Error('jasmine.Suite() required');
+ 15   }
+ 16   var spec = this;
+ 17   spec.id = env.nextSpecId ? env.nextSpecId() : null;
+ 18   spec.env = env;
+ 19   spec.suite = suite;
+ 20   spec.description = description;
+ 21   spec.queue = new jasmine.Queue(env);
+ 22 
+ 23   spec.afterCallbacks = [];
+ 24   spec.spies_ = [];
+ 25 
+ 26   spec.results_ = new jasmine.NestedResults();
+ 27   spec.results_.description = description;
+ 28   spec.matchersClass = null;
+ 29 };
+ 30 
+ 31 jasmine.Spec.prototype.getFullName = function() {
+ 32   return this.suite.getFullName() + ' ' + this.description + '.';
+ 33 };
+ 34 
+ 35 
+ 36 jasmine.Spec.prototype.results = function() {
+ 37   return this.results_;
+ 38 };
+ 39 
+ 40 /**
+ 41  * All parameters are pretty-printed and concatenated together, then written to the spec's output.
+ 42  *
+ 43  * Be careful not to leave calls to <code>jasmine.log</code> in production code.
+ 44  */
+ 45 jasmine.Spec.prototype.log = function() {
+ 46   return this.results_.log(arguments);
+ 47 };
+ 48 
+ 49 jasmine.Spec.prototype.runs = function (func) {
+ 50   var block = new jasmine.Block(this.env, func, this);
+ 51   this.addToQueue(block);
+ 52   return this;
+ 53 };
+ 54 
+ 55 jasmine.Spec.prototype.addToQueue = function (block) {
+ 56   if (this.queue.isRunning()) {
+ 57     this.queue.insertNext(block);
+ 58   } else {
+ 59     this.queue.add(block);
+ 60   }
+ 61 };
+ 62 
+ 63 /**
+ 64  * @param {jasmine.ExpectationResult} result
+ 65  */
+ 66 jasmine.Spec.prototype.addMatcherResult = function(result) {
+ 67   this.results_.addResult(result);
+ 68 };
+ 69 
+ 70 jasmine.Spec.prototype.expect = function(actual) {
+ 71   var positive = new (this.getMatchersClass_())(this.env, actual, this);
+ 72   positive.not = new (this.getMatchersClass_())(this.env, actual, this, true);
+ 73   return positive;
+ 74 };
+ 75 
+ 76 /**
+ 77  * Waits a fixed time period before moving to the next block.
+ 78  *
+ 79  * @deprecated Use waitsFor() instead
+ 80  * @param {Number} timeout milliseconds to wait
+ 81  */
+ 82 jasmine.Spec.prototype.waits = function(timeout) {
+ 83   var waitsFunc = new jasmine.WaitsBlock(this.env, timeout, this);
+ 84   this.addToQueue(waitsFunc);
+ 85   return this;
+ 86 };
+ 87 
+ 88 /**
+ 89  * Waits for the latchFunction to return true before proceeding to the next block.
+ 90  *
+ 91  * @param {Function} latchFunction
+ 92  * @param {String} optional_timeoutMessage
+ 93  * @param {Number} optional_timeout
+ 94  */
+ 95 jasmine.Spec.prototype.waitsFor = function(latchFunction, optional_timeoutMessage, optional_timeout) {
+ 96   var latchFunction_ = null;
+ 97   var optional_timeoutMessage_ = null;
+ 98   var optional_timeout_ = null;
+ 99 
+100   for (var i = 0; i < arguments.length; i++) {
+101     var arg = arguments[i];
+102     switch (typeof arg) {
+103       case 'function':
+104         latchFunction_ = arg;
+105         break;
+106       case 'string':
+107         optional_timeoutMessage_ = arg;
+108         break;
+109       case 'number':
+110         optional_timeout_ = arg;
+111         break;
+112     }
+113   }
+114 
+115   var waitsForFunc = new jasmine.WaitsForBlock(this.env, optional_timeout_, latchFunction_, optional_timeoutMessage_, this);
+116   this.addToQueue(waitsForFunc);
+117   return this;
+118 };
+119 
+120 jasmine.Spec.prototype.fail = function (e) {
+121   var expectationResult = new jasmine.ExpectationResult({
+122     passed: false,
+123     message: e ? jasmine.util.formatException(e) : 'Exception'
+124   });
+125   this.results_.addResult(expectationResult);
+126 };
+127 
+128 jasmine.Spec.prototype.getMatchersClass_ = function() {
+129   return this.matchersClass || this.env.matchersClass;
+130 };
+131 
+132 jasmine.Spec.prototype.addMatchers = function(matchersPrototype) {
+133   var parent = this.getMatchersClass_();
+134   var newMatchersClass = function() {
+135     parent.apply(this, arguments);
+136   };
+137   jasmine.util.inherit(newMatchersClass, parent);
+138   jasmine.Matchers.wrapInto_(matchersPrototype, newMatchersClass);
+139   this.matchersClass = newMatchersClass;
+140 };
+141 
+142 jasmine.Spec.prototype.finishCallback = function() {
+143   this.env.reporter.reportSpecResults(this);
+144 };
+145 
+146 jasmine.Spec.prototype.finish = function(onComplete) {
+147   this.removeAllSpies();
+148   this.finishCallback();
+149   if (onComplete) {
+150     onComplete();
+151   }
+152 };
+153 
+154 jasmine.Spec.prototype.after = function(doAfter) {
+155   if (this.queue.isRunning()) {
+156     this.queue.add(new jasmine.Block(this.env, doAfter, this));
+157   } else {
+158     this.afterCallbacks.unshift(doAfter);
+159   }
+160 };
+161 
+162 jasmine.Spec.prototype.execute = function(onComplete) {
+163   var spec = this;
+164   if (!spec.env.specFilter(spec)) {
+165     spec.results_.skipped = true;
+166     spec.finish(onComplete);
+167     return;
+168   }
+169 
+170   this.env.reporter.reportSpecStarting(this);
+171 
+172   spec.env.currentSpec = spec;
+173 
+174   spec.addBeforesAndAftersToQueue();
+175 
+176   spec.queue.start(function () {
+177     spec.finish(onComplete);
+178   });
+179 };
+180 
+181 jasmine.Spec.prototype.addBeforesAndAftersToQueue = function() {
+182   var runner = this.env.currentRunner();
+183   var i;
+184 
+185   for (var suite = this.suite; suite; suite = suite.parentSuite) {
+186     for (i = 0; i < suite.before_.length; i++) {
+187       this.queue.addBefore(new jasmine.Block(this.env, suite.before_[i], this));
+188     }
+189   }
+190   for (i = 0; i < runner.before_.length; i++) {
+191     this.queue.addBefore(new jasmine.Block(this.env, runner.before_[i], this));
+192   }
+193   for (i = 0; i < this.afterCallbacks.length; i++) {
+194     this.queue.add(new jasmine.Block(this.env, this.afterCallbacks[i], this));
+195   }
+196   for (suite = this.suite; suite; suite = suite.parentSuite) {
+197     for (i = 0; i < suite.after_.length; i++) {
+198       this.queue.add(new jasmine.Block(this.env, suite.after_[i], this));
+199     }
+200   }
+201   for (i = 0; i < runner.after_.length; i++) {
+202     this.queue.add(new jasmine.Block(this.env, runner.after_[i], this));
+203   }
+204 };
+205 
+206 jasmine.Spec.prototype.explodes = function() {
+207   throw 'explodes function should not have been called';
+208 };
+209 
+210 jasmine.Spec.prototype.spyOn = function(obj, methodName, ignoreMethodDoesntExist) {
+211   if (obj == jasmine.undefined) {
+212     throw "spyOn could not find an object to spy upon for " + methodName + "()";
+213   }
+214 
+215   if (!ignoreMethodDoesntExist && obj[methodName] === jasmine.undefined) {
+216     throw methodName + '() method does not exist';
+217   }
+218 
+219   if (!ignoreMethodDoesntExist && obj[methodName] && obj[methodName].isSpy) {
+220     throw new Error(methodName + ' has already been spied upon');
+221   }
+222 
+223   var spyObj = jasmine.createSpy(methodName);
+224 
+225   this.spies_.push(spyObj);
+226   spyObj.baseObj = obj;
+227   spyObj.methodName = methodName;
+228   spyObj.originalValue = obj[methodName];
+229 
+230   obj[methodName] = spyObj;
+231 
+232   return spyObj;
+233 };
+234 
+235 jasmine.Spec.prototype.removeAllSpies = function() {
+236   for (var i = 0; i < this.spies_.length; i++) {
+237     var spy = this.spies_[i];
+238     spy.baseObj[spy.methodName] = spy.originalValue;
+239   }
+240   this.spies_ = [];
+241 };
+242 
+243 
\ No newline at end of file diff --git a/pages/jsdoc/symbols/src/src_Suite.js.html b/pages/jsdoc/symbols/src/src_Suite.js.html new file mode 100644 index 0000000..3ff28ae --- /dev/null +++ b/pages/jsdoc/symbols/src/src_Suite.js.html @@ -0,0 +1,89 @@ +
  1 /**
+  2  * Internal representation of a Jasmine suite.
+  3  *
+  4  * @constructor
+  5  * @param {jasmine.Env} env
+  6  * @param {String} description
+  7  * @param {Function} specDefinitions
+  8  * @param {jasmine.Suite} parentSuite
+  9  */
+ 10 jasmine.Suite = function(env, description, specDefinitions, parentSuite) {
+ 11   var self = this;
+ 12   self.id = env.nextSuiteId ? env.nextSuiteId() : null;
+ 13   self.description = description;
+ 14   self.queue = new jasmine.Queue(env);
+ 15   self.parentSuite = parentSuite;
+ 16   self.env = env;
+ 17   self.before_ = [];
+ 18   self.after_ = [];
+ 19   self.children_ = [];
+ 20   self.suites_ = [];
+ 21   self.specs_ = [];
+ 22 };
+ 23 
+ 24 jasmine.Suite.prototype.getFullName = function() {
+ 25   var fullName = this.description;
+ 26   for (var parentSuite = this.parentSuite; parentSuite; parentSuite = parentSuite.parentSuite) {
+ 27     fullName = parentSuite.description + ' ' + fullName;
+ 28   }
+ 29   return fullName;
+ 30 };
+ 31 
+ 32 jasmine.Suite.prototype.finish = function(onComplete) {
+ 33   this.env.reporter.reportSuiteResults(this);
+ 34   this.finished = true;
+ 35   if (typeof(onComplete) == 'function') {
+ 36     onComplete();
+ 37   }
+ 38 };
+ 39 
+ 40 jasmine.Suite.prototype.beforeEach = function(beforeEachFunction) {
+ 41   beforeEachFunction.typeName = 'beforeEach';
+ 42   this.before_.unshift(beforeEachFunction);
+ 43 };
+ 44 
+ 45 jasmine.Suite.prototype.afterEach = function(afterEachFunction) {
+ 46   afterEachFunction.typeName = 'afterEach';
+ 47   this.after_.unshift(afterEachFunction);
+ 48 };
+ 49 
+ 50 jasmine.Suite.prototype.results = function() {
+ 51   return this.queue.results();
+ 52 };
+ 53 
+ 54 jasmine.Suite.prototype.add = function(suiteOrSpec) {
+ 55   this.children_.push(suiteOrSpec);
+ 56   if (suiteOrSpec instanceof jasmine.Suite) {
+ 57     this.suites_.push(suiteOrSpec);
+ 58     this.env.currentRunner().addSuite(suiteOrSpec);
+ 59   } else {
+ 60     this.specs_.push(suiteOrSpec);
+ 61   }
+ 62   this.queue.add(suiteOrSpec);
+ 63 };
+ 64 
+ 65 jasmine.Suite.prototype.specs = function() {
+ 66   return this.specs_;
+ 67 };
+ 68 
+ 69 jasmine.Suite.prototype.suites = function() {
+ 70   return this.suites_;
+ 71 };
+ 72 
+ 73 jasmine.Suite.prototype.children = function() {
+ 74   return this.children_;
+ 75 };
+ 76 
+ 77 jasmine.Suite.prototype.execute = function(onComplete) {
+ 78   var self = this;
+ 79   this.queue.start(function () {
+ 80     self.finish(onComplete);
+ 81   });
+ 82 };
\ No newline at end of file diff --git a/pages/jsdoc/symbols/src/src_WaitsBlock.js.html b/pages/jsdoc/symbols/src/src_WaitsBlock.js.html new file mode 100644 index 0000000..4a1f119 --- /dev/null +++ b/pages/jsdoc/symbols/src/src_WaitsBlock.js.html @@ -0,0 +1,21 @@ +
  1 jasmine.WaitsBlock = function(env, timeout, spec) {
+  2   this.timeout = timeout;
+  3   jasmine.Block.call(this, env, null, spec);
+  4 };
+  5 
+  6 jasmine.util.inherit(jasmine.WaitsBlock, jasmine.Block);
+  7 
+  8 jasmine.WaitsBlock.prototype.execute = function (onComplete) {
+  9   this.env.reporter.log('>> Jasmine waiting for ' + this.timeout + ' ms...');
+ 10   this.env.setTimeout(function () {
+ 11     onComplete();
+ 12   }, this.timeout);
+ 13 };
+ 14 
\ No newline at end of file diff --git a/pages/jsdoc/symbols/src/src_WaitsForBlock.js.html b/pages/jsdoc/symbols/src/src_WaitsForBlock.js.html new file mode 100644 index 0000000..5466ab4 --- /dev/null +++ b/pages/jsdoc/symbols/src/src_WaitsForBlock.js.html @@ -0,0 +1,59 @@ +
  1 /**
+  2  * A block which waits for some condition to become true, with timeout.
+  3  *
+  4  * @constructor
+  5  * @extends jasmine.Block
+  6  * @param {jasmine.Env} env The Jasmine environment.
+  7  * @param {Number} timeout The maximum time in milliseconds to wait for the condition to become true.
+  8  * @param {Function} latchFunction A function which returns true when the desired condition has been met.
+  9  * @param {String} message The message to display if the desired condition hasn't been met within the given time period.
+ 10  * @param {jasmine.Spec} spec The Jasmine spec.
+ 11  */
+ 12 jasmine.WaitsForBlock = function(env, timeout, latchFunction, message, spec) {
+ 13   this.timeout = timeout || env.defaultTimeoutInterval;
+ 14   this.latchFunction = latchFunction;
+ 15   this.message = message;
+ 16   this.totalTimeSpentWaitingForLatch = 0;
+ 17   jasmine.Block.call(this, env, null, spec);
+ 18 };
+ 19 jasmine.util.inherit(jasmine.WaitsForBlock, jasmine.Block);
+ 20 
+ 21 jasmine.WaitsForBlock.TIMEOUT_INCREMENT = 10;
+ 22 
+ 23 jasmine.WaitsForBlock.prototype.execute = function(onComplete) {
+ 24   this.env.reporter.log('>> Jasmine waiting for ' + (this.message || 'something to happen'));
+ 25   var latchFunctionResult;
+ 26   try {
+ 27     latchFunctionResult = this.latchFunction.apply(this.spec);
+ 28   } catch (e) {
+ 29     this.spec.fail(e);
+ 30     onComplete();
+ 31     return;
+ 32   }
+ 33 
+ 34   if (latchFunctionResult) {
+ 35     onComplete();
+ 36   } else if (this.totalTimeSpentWaitingForLatch >= this.timeout) {
+ 37     var message = 'timed out after ' + this.timeout + ' msec waiting for ' + (this.message || 'something to happen');
+ 38     this.spec.fail({
+ 39       name: 'timeout',
+ 40       message: message
+ 41     });
+ 42 
+ 43     this.abort = true;
+ 44     onComplete();
+ 45   } else {
+ 46     this.totalTimeSpentWaitingForLatch += jasmine.WaitsForBlock.TIMEOUT_INCREMENT;
+ 47     var self = this;
+ 48     this.env.setTimeout(function() {
+ 49       self.execute(onComplete);
+ 50     }, jasmine.WaitsForBlock.TIMEOUT_INCREMENT);
+ 51   }
+ 52 };
\ No newline at end of file diff --git a/pages/jsdoc/symbols/src/src_base.js.html b/pages/jsdoc/symbols/src/src_base.js.html new file mode 100644 index 0000000..33add32 --- /dev/null +++ b/pages/jsdoc/symbols/src/src_base.js.html @@ -0,0 +1,597 @@ +
  1 /**
+  2  * Top level namespace for Jasmine, a lightweight JavaScript BDD/spec/testing framework.
+  3  *
+  4  * @namespace
+  5  */
+  6 var jasmine = {};
+  7 
+  8 /**
+  9  * @private
+ 10  */
+ 11 jasmine.unimplementedMethod_ = function() {
+ 12   throw new Error("unimplemented method");
+ 13 };
+ 14 
+ 15 /**
+ 16  * Use <code>jasmine.undefined</code> instead of <code>undefined</code>, since <code>undefined</code> is just
+ 17  * a plain old variable and may be redefined by somebody else.
+ 18  *
+ 19  * @private
+ 20  */
+ 21 jasmine.undefined = jasmine.___undefined___;
+ 22 
+ 23 /**
+ 24  * Default interval in milliseconds for event loop yields (e.g. to allow network activity or to refresh the screen with the HTML-based runner). Small values here may result in slow test running. Zero means no updates until all tests have completed.
+ 25  *
+ 26  */
+ 27 jasmine.DEFAULT_UPDATE_INTERVAL = 250;
+ 28 
+ 29 /**
+ 30  * Default timeout interval in milliseconds for waitsFor() blocks.
+ 31  */
+ 32 jasmine.DEFAULT_TIMEOUT_INTERVAL = 5000;
+ 33 
+ 34 jasmine.getGlobal = function() {
+ 35   function getGlobal() {
+ 36     return this;
+ 37   }
+ 38 
+ 39   return getGlobal();
+ 40 };
+ 41 
+ 42 /**
+ 43  * Allows for bound functions to be compared.  Internal use only.
+ 44  *
+ 45  * @ignore
+ 46  * @private
+ 47  * @param base {Object} bound 'this' for the function
+ 48  * @param name {Function} function to find
+ 49  */
+ 50 jasmine.bindOriginal_ = function(base, name) {
+ 51   var original = base[name];
+ 52   if (original.apply) {
+ 53     return function() {
+ 54       return original.apply(base, arguments);
+ 55     };
+ 56   } else {
+ 57     // IE support
+ 58     return jasmine.getGlobal()[name];
+ 59   }
+ 60 };
+ 61 
+ 62 jasmine.setTimeout = jasmine.bindOriginal_(jasmine.getGlobal(), 'setTimeout');
+ 63 jasmine.clearTimeout = jasmine.bindOriginal_(jasmine.getGlobal(), 'clearTimeout');
+ 64 jasmine.setInterval = jasmine.bindOriginal_(jasmine.getGlobal(), 'setInterval');
+ 65 jasmine.clearInterval = jasmine.bindOriginal_(jasmine.getGlobal(), 'clearInterval');
+ 66 
+ 67 jasmine.MessageResult = function(values) {
+ 68   this.type = 'log';
+ 69   this.values = values;
+ 70   this.trace = new Error(); // todo: test better
+ 71 };
+ 72 
+ 73 jasmine.MessageResult.prototype.toString = function() {
+ 74   var text = "";
+ 75   for(var i = 0; i < this.values.length; i++) {
+ 76     if (i > 0) text += " ";
+ 77     if (jasmine.isString_(this.values[i])) {
+ 78       text += this.values[i];
+ 79     } else {
+ 80       text += jasmine.pp(this.values[i]);
+ 81     }
+ 82   }
+ 83   return text;
+ 84 };
+ 85 
+ 86 jasmine.ExpectationResult = function(params) {
+ 87   this.type = 'expect';
+ 88   this.matcherName = params.matcherName;
+ 89   this.passed_ = params.passed;
+ 90   this.expected = params.expected;
+ 91   this.actual = params.actual;
+ 92 
+ 93   this.message = this.passed_ ? 'Passed.' : params.message;
+ 94   this.trace = this.passed_ ? '' : new Error(this.message);
+ 95 };
+ 96 
+ 97 jasmine.ExpectationResult.prototype.toString = function () {
+ 98   return this.message;
+ 99 };
+100 
+101 jasmine.ExpectationResult.prototype.passed = function () {
+102   return this.passed_;
+103 };
+104 
+105 /**
+106  * Getter for the Jasmine environment. Ensures one gets created
+107  */
+108 jasmine.getEnv = function() {
+109   return jasmine.currentEnv_ = jasmine.currentEnv_ || new jasmine.Env();
+110 };
+111 
+112 /**
+113  * @ignore
+114  * @private
+115  * @param value
+116  * @returns {Boolean}
+117  */
+118 jasmine.isArray_ = function(value) {
+119   return jasmine.isA_("Array", value);  
+120 };
+121 
+122 /**
+123  * @ignore
+124  * @private
+125  * @param value
+126  * @returns {Boolean}
+127  */
+128 jasmine.isString_ = function(value) {
+129   return jasmine.isA_("String", value);
+130 };
+131 
+132 /**
+133  * @ignore
+134  * @private
+135  * @param value
+136  * @returns {Boolean}
+137  */
+138 jasmine.isNumber_ = function(value) {
+139   return jasmine.isA_("Number", value);
+140 };
+141 
+142 /**
+143  * @ignore
+144  * @private
+145  * @param {String} typeName
+146  * @param value
+147  * @returns {Boolean}
+148  */
+149 jasmine.isA_ = function(typeName, value) {
+150   return Object.prototype.toString.apply(value) === '[object ' + typeName + ']';
+151 };
+152 
+153 /**
+154  * Pretty printer for expecations.  Takes any object and turns it into a human-readable string.
+155  *
+156  * @param value {Object} an object to be outputted
+157  * @returns {String}
+158  */
+159 jasmine.pp = function(value) {
+160   var stringPrettyPrinter = new jasmine.StringPrettyPrinter();
+161   stringPrettyPrinter.format(value);
+162   return stringPrettyPrinter.string;
+163 };
+164 
+165 /**
+166  * Returns true if the object is a DOM Node.
+167  *
+168  * @param {Object} obj object to check
+169  * @returns {Boolean}
+170  */
+171 jasmine.isDomNode = function(obj) {
+172   return obj['nodeType'] > 0;
+173 };
+174 
+175 /**
+176  * Returns a matchable 'generic' object of the class type.  For use in expecations of type when values don't matter.
+177  *
+178  * @example
+179  * // don't care about which function is passed in, as long as it's a function
+180  * expect(mySpy).toHaveBeenCalledWith(jasmine.any(Function));
+181  *
+182  * @param {Class} clazz
+183  * @returns matchable object of the type clazz
+184  */
+185 jasmine.any = function(clazz) {
+186   return new jasmine.Matchers.Any(clazz);
+187 };
+188 
+189 /**
+190  * Jasmine Spies are test doubles that can act as stubs, spies, fakes or when used in an expecation, mocks.
+191  *
+192  * Spies should be created in test setup, before expectations.  They can then be checked, using the standard Jasmine
+193  * expectation syntax. Spies can be checked if they were called or not and what the calling params were.
+194  *
+195  * A Spy has the following fields: wasCalled, callCount, mostRecentCall, and argsForCall (see docs).
+196  *
+197  * Spies are torn down at the end of every spec.
+198  *
+199  * Note: Do <b>not</b> call new jasmine.Spy() directly - a spy must be created using spyOn, jasmine.createSpy or jasmine.createSpyObj.
+200  *
+201  * @example
+202  * // a stub
+203  * var myStub = jasmine.createSpy('myStub');  // can be used anywhere
+204  *
+205  * // spy example
+206  * var foo = {
+207  *   not: function(bool) { return !bool; }
+208  * }
+209  *
+210  * // actual foo.not will not be called, execution stops
+211  * spyOn(foo, 'not');
+212 
+213  // foo.not spied upon, execution will continue to implementation
+214  * spyOn(foo, 'not').andCallThrough();
+215  *
+216  * // fake example
+217  * var foo = {
+218  *   not: function(bool) { return !bool; }
+219  * }
+220  *
+221  * // foo.not(val) will return val
+222  * spyOn(foo, 'not').andCallFake(function(value) {return value;});
+223  *
+224  * // mock example
+225  * foo.not(7 == 7);
+226  * expect(foo.not).toHaveBeenCalled();
+227  * expect(foo.not).toHaveBeenCalledWith(true);
+228  *
+229  * @constructor
+230  * @see spyOn, jasmine.createSpy, jasmine.createSpyObj
+231  * @param {String} name
+232  */
+233 jasmine.Spy = function(name) {
+234   /**
+235    * The name of the spy, if provided.
+236    */
+237   this.identity = name || 'unknown';
+238   /**
+239    *  Is this Object a spy?
+240    */
+241   this.isSpy = true;
+242   /**
+243    * The actual function this spy stubs.
+244    */
+245   this.plan = function() {
+246   };
+247   /**
+248    * Tracking of the most recent call to the spy.
+249    * @example
+250    * var mySpy = jasmine.createSpy('foo');
+251    * mySpy(1, 2);
+252    * mySpy.mostRecentCall.args = [1, 2];
+253    */
+254   this.mostRecentCall = {};
+255 
+256   /**
+257    * Holds arguments for each call to the spy, indexed by call count
+258    * @example
+259    * var mySpy = jasmine.createSpy('foo');
+260    * mySpy(1, 2);
+261    * mySpy(7, 8);
+262    * mySpy.mostRecentCall.args = [7, 8];
+263    * mySpy.argsForCall[0] = [1, 2];
+264    * mySpy.argsForCall[1] = [7, 8];
+265    */
+266   this.argsForCall = [];
+267   this.calls = [];
+268 };
+269 
+270 /**
+271  * Tells a spy to call through to the actual implemenatation.
+272  *
+273  * @example
+274  * var foo = {
+275  *   bar: function() { // do some stuff }
+276  * }
+277  *
+278  * // defining a spy on an existing property: foo.bar
+279  * spyOn(foo, 'bar').andCallThrough();
+280  */
+281 jasmine.Spy.prototype.andCallThrough = function() {
+282   this.plan = this.originalValue;
+283   return this;
+284 };
+285 
+286 /**
+287  * For setting the return value of a spy.
+288  *
+289  * @example
+290  * // defining a spy from scratch: foo() returns 'baz'
+291  * var foo = jasmine.createSpy('spy on foo').andReturn('baz');
+292  *
+293  * // defining a spy on an existing property: foo.bar() returns 'baz'
+294  * spyOn(foo, 'bar').andReturn('baz');
+295  *
+296  * @param {Object} value
+297  */
+298 jasmine.Spy.prototype.andReturn = function(value) {
+299   this.plan = function() {
+300     return value;
+301   };
+302   return this;
+303 };
+304 
+305 /**
+306  * For throwing an exception when a spy is called.
+307  *
+308  * @example
+309  * // defining a spy from scratch: foo() throws an exception w/ message 'ouch'
+310  * var foo = jasmine.createSpy('spy on foo').andThrow('baz');
+311  *
+312  * // defining a spy on an existing property: foo.bar() throws an exception w/ message 'ouch'
+313  * spyOn(foo, 'bar').andThrow('baz');
+314  *
+315  * @param {String} exceptionMsg
+316  */
+317 jasmine.Spy.prototype.andThrow = function(exceptionMsg) {
+318   this.plan = function() {
+319     throw exceptionMsg;
+320   };
+321   return this;
+322 };
+323 
+324 /**
+325  * Calls an alternate implementation when a spy is called.
+326  *
+327  * @example
+328  * var baz = function() {
+329  *   // do some stuff, return something
+330  * }
+331  * // defining a spy from scratch: foo() calls the function baz
+332  * var foo = jasmine.createSpy('spy on foo').andCall(baz);
+333  *
+334  * // defining a spy on an existing property: foo.bar() calls an anonymnous function
+335  * spyOn(foo, 'bar').andCall(function() { return 'baz';} );
+336  *
+337  * @param {Function} fakeFunc
+338  */
+339 jasmine.Spy.prototype.andCallFake = function(fakeFunc) {
+340   this.plan = fakeFunc;
+341   return this;
+342 };
+343 
+344 /**
+345  * Resets all of a spy's the tracking variables so that it can be used again.
+346  *
+347  * @example
+348  * spyOn(foo, 'bar');
+349  *
+350  * foo.bar();
+351  *
+352  * expect(foo.bar.callCount).toEqual(1);
+353  *
+354  * foo.bar.reset();
+355  *
+356  * expect(foo.bar.callCount).toEqual(0);
+357  */
+358 jasmine.Spy.prototype.reset = function() {
+359   this.wasCalled = false;
+360   this.callCount = 0;
+361   this.argsForCall = [];
+362   this.calls = [];
+363   this.mostRecentCall = {};
+364 };
+365 
+366 jasmine.createSpy = function(name) {
+367 
+368   var spyObj = function() {
+369     spyObj.wasCalled = true;
+370     spyObj.callCount++;
+371     var args = jasmine.util.argsToArray(arguments);
+372     spyObj.mostRecentCall.object = this;
+373     spyObj.mostRecentCall.args = args;
+374     spyObj.argsForCall.push(args);
+375     spyObj.calls.push({object: this, args: args});
+376     return spyObj.plan.apply(this, arguments);
+377   };
+378 
+379   var spy = new jasmine.Spy(name);
+380 
+381   for (var prop in spy) {
+382     spyObj[prop] = spy[prop];
+383   }
+384 
+385   spyObj.reset();
+386 
+387   return spyObj;
+388 };
+389 
+390 /**
+391  * Determines whether an object is a spy.
+392  *
+393  * @param {jasmine.Spy|Object} putativeSpy
+394  * @returns {Boolean}
+395  */
+396 jasmine.isSpy = function(putativeSpy) {
+397   return putativeSpy && putativeSpy.isSpy;
+398 };
+399 
+400 /**
+401  * Creates a more complicated spy: an Object that has every property a function that is a spy.  Used for stubbing something
+402  * large in one call.
+403  *
+404  * @param {String} baseName name of spy class
+405  * @param {Array} methodNames array of names of methods to make spies
+406  */
+407 jasmine.createSpyObj = function(baseName, methodNames) {
+408   if (!jasmine.isArray_(methodNames) || methodNames.length == 0) {
+409     throw new Error('createSpyObj requires a non-empty array of method names to create spies for');
+410   }
+411   var obj = {};
+412   for (var i = 0; i < methodNames.length; i++) {
+413     obj[methodNames[i]] = jasmine.createSpy(baseName + '.' + methodNames[i]);
+414   }
+415   return obj;
+416 };
+417 
+418 /**
+419  * All parameters are pretty-printed and concatenated together, then written to the current spec's output.
+420  *
+421  * Be careful not to leave calls to <code>jasmine.log</code> in production code.
+422  */
+423 jasmine.log = function() {
+424   var spec = jasmine.getEnv().currentSpec;
+425   spec.log.apply(spec, arguments);
+426 };
+427 
+428 /**
+429  * Function that installs a spy on an existing object's method name.  Used within a Spec to create a spy.
+430  *
+431  * @example
+432  * // spy example
+433  * var foo = {
+434  *   not: function(bool) { return !bool; }
+435  * }
+436  * spyOn(foo, 'not'); // actual foo.not will not be called, execution stops
+437  *
+438  * @see jasmine.createSpy
+439  * @param obj
+440  * @param methodName
+441  * @returns a Jasmine spy that can be chained with all spy methods
+442  */
+443 var spyOn = function(obj, methodName) {
+444   return jasmine.getEnv().currentSpec.spyOn(obj, methodName);
+445 };
+446 
+447 /**
+448  * Creates a Jasmine spec that will be added to the current suite.
+449  *
+450  * // TODO: pending tests
+451  *
+452  * @example
+453  * it('should be true', function() {
+454  *   expect(true).toEqual(true);
+455  * });
+456  *
+457  * @param {String} desc description of this specification
+458  * @param {Function} func defines the preconditions and expectations of the spec
+459  */
+460 var it = function(desc, func) {
+461   return jasmine.getEnv().it(desc, func);
+462 };
+463 
+464 /**
+465  * Creates a <em>disabled</em> Jasmine spec.
+466  *
+467  * A convenience method that allows existing specs to be disabled temporarily during development.
+468  *
+469  * @param {String} desc description of this specification
+470  * @param {Function} func defines the preconditions and expectations of the spec
+471  */
+472 var xit = function(desc, func) {
+473   return jasmine.getEnv().xit(desc, func);
+474 };
+475 
+476 /**
+477  * Starts a chain for a Jasmine expectation.
+478  *
+479  * It is passed an Object that is the actual value and should chain to one of the many
+480  * jasmine.Matchers functions.
+481  *
+482  * @param {Object} actual Actual value to test against and expected value
+483  */
+484 var expect = function(actual) {
+485   return jasmine.getEnv().currentSpec.expect(actual);
+486 };
+487 
+488 /**
+489  * Defines part of a jasmine spec.  Used in cominbination with waits or waitsFor in asynchrnous specs.
+490  *
+491  * @param {Function} func Function that defines part of a jasmine spec.
+492  */
+493 var runs = function(func) {
+494   jasmine.getEnv().currentSpec.runs(func);
+495 };
+496 
+497 /**
+498  * Waits a fixed time period before moving to the next block.
+499  *
+500  * @deprecated Use waitsFor() instead
+501  * @param {Number} timeout milliseconds to wait
+502  */
+503 var waits = function(timeout) {
+504   jasmine.getEnv().currentSpec.waits(timeout);
+505 };
+506 
+507 /**
+508  * Waits for the latchFunction to return true before proceeding to the next block.
+509  *
+510  * @param {Function} latchFunction
+511  * @param {String} optional_timeoutMessage
+512  * @param {Number} optional_timeout
+513  */
+514 var waitsFor = function(latchFunction, optional_timeoutMessage, optional_timeout) {
+515   jasmine.getEnv().currentSpec.waitsFor.apply(jasmine.getEnv().currentSpec, arguments);
+516 };
+517 
+518 /**
+519  * A function that is called before each spec in a suite.
+520  *
+521  * Used for spec setup, including validating assumptions.
+522  *
+523  * @param {Function} beforeEachFunction
+524  */
+525 var beforeEach = function(beforeEachFunction) {
+526   jasmine.getEnv().beforeEach(beforeEachFunction);
+527 };
+528 
+529 /**
+530  * A function that is called after each spec in a suite.
+531  *
+532  * Used for restoring any state that is hijacked during spec execution.
+533  *
+534  * @param {Function} afterEachFunction
+535  */
+536 var afterEach = function(afterEachFunction) {
+537   jasmine.getEnv().afterEach(afterEachFunction);
+538 };
+539 
+540 /**
+541  * Defines a suite of specifications.
+542  *
+543  * Stores the description and all defined specs in the Jasmine environment as one suite of specs. Variables declared
+544  * are accessible by calls to beforeEach, it, and afterEach. Describe blocks can be nested, allowing for specialization
+545  * of setup in some tests.
+546  *
+547  * @example
+548  * // TODO: a simple suite
+549  *
+550  * // TODO: a simple suite with a nested describe block
+551  *
+552  * @param {String} description A string, usually the class under test.
+553  * @param {Function} specDefinitions function that defines several specs.
+554  */
+555 var describe = function(description, specDefinitions) {
+556   return jasmine.getEnv().describe(description, specDefinitions);
+557 };
+558 
+559 /**
+560  * Disables a suite of specifications.  Used to disable some suites in a file, or files, temporarily during development.
+561  *
+562  * @param {String} description A string, usually the class under test.
+563  * @param {Function} specDefinitions function that defines several specs.
+564  */
+565 var xdescribe = function(description, specDefinitions) {
+566   return jasmine.getEnv().xdescribe(description, specDefinitions);
+567 };
+568 
+569 
+570 // Provide the XMLHttpRequest class for IE 5.x-6.x:
+571 jasmine.XmlHttpRequest = (typeof XMLHttpRequest == "undefined") ? function() {
+572   try {
+573     return new ActiveXObject("Msxml2.XMLHTTP.6.0");
+574   } catch(e) {
+575   }
+576   try {
+577     return new ActiveXObject("Msxml2.XMLHTTP.3.0");
+578   } catch(e) {
+579   }
+580   try {
+581     return new ActiveXObject("Msxml2.XMLHTTP");
+582   } catch(e) {
+583   }
+584   try {
+585     return new ActiveXObject("Microsoft.XMLHTTP");
+586   } catch(e) {
+587   }
+588   throw new Error("This browser does not support XMLHttpRequest.");
+589 } : XMLHttpRequest;
+590 
\ No newline at end of file diff --git a/pages/jsdoc/symbols/src/src_html_TrivialReporter.js.html b/pages/jsdoc/symbols/src/src_html_TrivialReporter.js.html new file mode 100644 index 0000000..1f8915a --- /dev/null +++ b/pages/jsdoc/symbols/src/src_html_TrivialReporter.js.html @@ -0,0 +1,196 @@ +
  1 jasmine.TrivialReporter = function(doc) {
+  2   this.document = doc || document;
+  3   this.suiteDivs = {};
+  4   this.logRunningSpecs = false;
+  5 };
+  6 
+  7 jasmine.TrivialReporter.prototype.createDom = function(type, attrs, childrenVarArgs) {
+  8   var el = document.createElement(type);
+  9 
+ 10   for (var i = 2; i < arguments.length; i++) {
+ 11     var child = arguments[i];
+ 12 
+ 13     if (typeof child === 'string') {
+ 14       el.appendChild(document.createTextNode(child));
+ 15     } else {
+ 16       if (child) { el.appendChild(child); }
+ 17     }
+ 18   }
+ 19 
+ 20   for (var attr in attrs) {
+ 21     if (attr == "className") {
+ 22       el[attr] = attrs[attr];
+ 23     } else {
+ 24       el.setAttribute(attr, attrs[attr]);
+ 25     }
+ 26   }
+ 27 
+ 28   return el;
+ 29 };
+ 30 
+ 31 jasmine.TrivialReporter.prototype.reportRunnerStarting = function(runner) {
+ 32   var showPassed, showSkipped;
+ 33 
+ 34   this.outerDiv = this.createDom('div', { className: 'jasmine_reporter' },
+ 35       this.createDom('div', { className: 'banner' },
+ 36         this.createDom('div', { className: 'logo' },
+ 37             this.createDom('a', { href: 'http://pivotal.github.com/jasmine/', target: "_blank" }, "Jasmine"),
+ 38             this.createDom('span', { className: 'version' }, runner.env.versionString())),
+ 39         this.createDom('div', { className: 'options' },
+ 40             "Show ",
+ 41             showPassed = this.createDom('input', { id: "__jasmine_TrivialReporter_showPassed__", type: 'checkbox' }),
+ 42             this.createDom('label', { "for": "__jasmine_TrivialReporter_showPassed__" }, " passed "),
+ 43             showSkipped = this.createDom('input', { id: "__jasmine_TrivialReporter_showSkipped__", type: 'checkbox' }),
+ 44             this.createDom('label', { "for": "__jasmine_TrivialReporter_showSkipped__" }, " skipped")
+ 45             )
+ 46           ),
+ 47 
+ 48       this.runnerDiv = this.createDom('div', { className: 'runner running' },
+ 49           this.createDom('a', { className: 'run_spec', href: '?' }, "run all"),
+ 50           this.runnerMessageSpan = this.createDom('span', {}, "Running..."),
+ 51           this.finishedAtSpan = this.createDom('span', { className: 'finished-at' }, ""))
+ 52       );
+ 53 
+ 54   this.document.body.appendChild(this.outerDiv);
+ 55 
+ 56   var suites = runner.suites();
+ 57   for (var i = 0; i < suites.length; i++) {
+ 58     var suite = suites[i];
+ 59     var suiteDiv = this.createDom('div', { className: 'suite' },
+ 60         this.createDom('a', { className: 'run_spec', href: '?spec=' + encodeURIComponent(suite.getFullName()) }, "run"),
+ 61         this.createDom('a', { className: 'description', href: '?spec=' + encodeURIComponent(suite.getFullName()) }, suite.description));
+ 62     this.suiteDivs[suite.id] = suiteDiv;
+ 63     var parentDiv = this.outerDiv;
+ 64     if (suite.parentSuite) {
+ 65       parentDiv = this.suiteDivs[suite.parentSuite.id];
+ 66     }
+ 67     parentDiv.appendChild(suiteDiv);
+ 68   }
+ 69 
+ 70   this.startedAt = new Date();
+ 71 
+ 72   var self = this;
+ 73   showPassed.onclick = function(evt) {
+ 74     if (showPassed.checked) {
+ 75       self.outerDiv.className += ' show-passed';
+ 76     } else {
+ 77       self.outerDiv.className = self.outerDiv.className.replace(/ show-passed/, '');
+ 78     }
+ 79   };
+ 80 
+ 81   showSkipped.onclick = function(evt) {
+ 82     if (showSkipped.checked) {
+ 83       self.outerDiv.className += ' show-skipped';
+ 84     } else {
+ 85       self.outerDiv.className = self.outerDiv.className.replace(/ show-skipped/, '');
+ 86     }
+ 87   };
+ 88 };
+ 89 
+ 90 jasmine.TrivialReporter.prototype.reportRunnerResults = function(runner) {
+ 91   var results = runner.results();
+ 92   var className = (results.failedCount > 0) ? "runner failed" : "runner passed";
+ 93   this.runnerDiv.setAttribute("class", className);
+ 94   //do it twice for IE
+ 95   this.runnerDiv.setAttribute("className", className);
+ 96   var specs = runner.specs();
+ 97   var specCount = 0;
+ 98   for (var i = 0; i < specs.length; i++) {
+ 99     if (this.specFilter(specs[i])) {
+100       specCount++;
+101     }
+102   }
+103   var message = "" + specCount + " spec" + (specCount == 1 ? "" : "s" ) + ", " + results.failedCount + " failure" + ((results.failedCount == 1) ? "" : "s");
+104   message += " in " + ((new Date().getTime() - this.startedAt.getTime()) / 1000) + "s";
+105   this.runnerMessageSpan.replaceChild(this.createDom('a', { className: 'description', href: '?'}, message), this.runnerMessageSpan.firstChild);
+106 
+107   this.finishedAtSpan.appendChild(document.createTextNode("Finished at " + new Date().toString()));
+108 };
+109 
+110 jasmine.TrivialReporter.prototype.reportSuiteResults = function(suite) {
+111   var results = suite.results();
+112   var status = results.passed() ? 'passed' : 'failed';
+113   if (results.totalCount == 0) { // todo: change this to check results.skipped
+114     status = 'skipped';
+115   }
+116   this.suiteDivs[suite.id].className += " " + status;
+117 };
+118 
+119 jasmine.TrivialReporter.prototype.reportSpecStarting = function(spec) {
+120   if (this.logRunningSpecs) {
+121     this.log('>> Jasmine Running ' + spec.suite.description + ' ' + spec.description + '...');
+122   }
+123 };
+124 
+125 jasmine.TrivialReporter.prototype.reportSpecResults = function(spec) {
+126   var results = spec.results();
+127   var status = results.passed() ? 'passed' : 'failed';
+128   if (results.skipped) {
+129     status = 'skipped';
+130   }
+131   var specDiv = this.createDom('div', { className: 'spec '  + status },
+132       this.createDom('a', { className: 'run_spec', href: '?spec=' + encodeURIComponent(spec.getFullName()) }, "run"),
+133       this.createDom('a', {
+134         className: 'description',
+135         href: '?spec=' + encodeURIComponent(spec.getFullName()),
+136         title: spec.getFullName()
+137       }, spec.description));
+138 
+139 
+140   var resultItems = results.getItems();
+141   var messagesDiv = this.createDom('div', { className: 'messages' });
+142   for (var i = 0; i < resultItems.length; i++) {
+143     var result = resultItems[i];
+144 
+145     if (result.type == 'log') {
+146       messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage log'}, result.toString()));
+147     } else if (result.type == 'expect' && result.passed && !result.passed()) {
+148       messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage fail'}, result.message));
+149 
+150       if (result.trace.stack) {
+151         messagesDiv.appendChild(this.createDom('div', {className: 'stackTrace'}, result.trace.stack));
+152       }
+153     }
+154   }
+155 
+156   if (messagesDiv.childNodes.length > 0) {
+157     specDiv.appendChild(messagesDiv);
+158   }
+159 
+160   this.suiteDivs[spec.suite.id].appendChild(specDiv);
+161 };
+162 
+163 jasmine.TrivialReporter.prototype.log = function() {
+164   var console = jasmine.getGlobal().console;
+165   if (console && console.log) {
+166     if (console.log.apply) {
+167       console.log.apply(console, arguments);
+168     } else {
+169       console.log(arguments); // ie fix: console.log.apply doesn't exist on ie
+170     }
+171   }
+172 };
+173 
+174 jasmine.TrivialReporter.prototype.getLocation = function() {
+175   return this.document.location;
+176 };
+177 
+178 jasmine.TrivialReporter.prototype.specFilter = function(spec) {
+179   var paramMap = {};
+180   var params = this.getLocation().search.substring(1).split('&');
+181   for (var i = 0; i < params.length; i++) {
+182     var p = params[i].split('=');
+183     paramMap[decodeURIComponent(p[0])] = decodeURIComponent(p[1]);
+184   }
+185 
+186   if (!paramMap["spec"]) return true;
+187   return spec.getFullName().indexOf(paramMap["spec"]) == 0;
+188 };
+189 
\ No newline at end of file diff --git a/pages/jsdoc/symbols/src/src_mock-timeout.js.html b/pages/jsdoc/symbols/src/src_mock-timeout.js.html new file mode 100644 index 0000000..93f9afc --- /dev/null +++ b/pages/jsdoc/symbols/src/src_mock-timeout.js.html @@ -0,0 +1,191 @@ +
  1 // Mock setTimeout, clearTimeout
+  2 // Contributed by Pivotal Computer Systems, www.pivotalsf.com
+  3 
+  4 jasmine.FakeTimer = function() {
+  5   this.reset();
+  6 
+  7   var self = this;
+  8   self.setTimeout = function(funcToCall, millis) {
+  9     self.timeoutsMade++;
+ 10     self.scheduleFunction(self.timeoutsMade, funcToCall, millis, false);
+ 11     return self.timeoutsMade;
+ 12   };
+ 13 
+ 14   self.setInterval = function(funcToCall, millis) {
+ 15     self.timeoutsMade++;
+ 16     self.scheduleFunction(self.timeoutsMade, funcToCall, millis, true);
+ 17     return self.timeoutsMade;
+ 18   };
+ 19 
+ 20   self.clearTimeout = function(timeoutKey) {
+ 21     self.scheduledFunctions[timeoutKey] = jasmine.undefined;
+ 22   };
+ 23 
+ 24   self.clearInterval = function(timeoutKey) {
+ 25     self.scheduledFunctions[timeoutKey] = jasmine.undefined;
+ 26   };
+ 27 
+ 28 };
+ 29 
+ 30 jasmine.FakeTimer.prototype.reset = function() {
+ 31   this.timeoutsMade = 0;
+ 32   this.scheduledFunctions = {};
+ 33   this.nowMillis = 0;
+ 34 };
+ 35 
+ 36 jasmine.FakeTimer.prototype.tick = function(millis) {
+ 37   var oldMillis = this.nowMillis;
+ 38   var newMillis = oldMillis + millis;
+ 39   this.runFunctionsWithinRange(oldMillis, newMillis);
+ 40   this.nowMillis = newMillis;
+ 41 };
+ 42 
+ 43 jasmine.FakeTimer.prototype.runFunctionsWithinRange = function(oldMillis, nowMillis) {
+ 44   var scheduledFunc;
+ 45   var funcsToRun = [];
+ 46   for (var timeoutKey in this.scheduledFunctions) {
+ 47     scheduledFunc = this.scheduledFunctions[timeoutKey];
+ 48     if (scheduledFunc != jasmine.undefined &&
+ 49         scheduledFunc.runAtMillis >= oldMillis &&
+ 50         scheduledFunc.runAtMillis <= nowMillis) {
+ 51       funcsToRun.push(scheduledFunc);
+ 52       this.scheduledFunctions[timeoutKey] = jasmine.undefined;
+ 53     }
+ 54   }
+ 55 
+ 56   if (funcsToRun.length > 0) {
+ 57     funcsToRun.sort(function(a, b) {
+ 58       return a.runAtMillis - b.runAtMillis;
+ 59     });
+ 60     for (var i = 0; i < funcsToRun.length; ++i) {
+ 61       try {
+ 62         var funcToRun = funcsToRun[i];
+ 63         this.nowMillis = funcToRun.runAtMillis;
+ 64         funcToRun.funcToCall();
+ 65         if (funcToRun.recurring) {
+ 66           this.scheduleFunction(funcToRun.timeoutKey,
+ 67               funcToRun.funcToCall,
+ 68               funcToRun.millis,
+ 69               true);
+ 70         }
+ 71       } catch(e) {
+ 72       }
+ 73     }
+ 74     this.runFunctionsWithinRange(oldMillis, nowMillis);
+ 75   }
+ 76 };
+ 77 
+ 78 jasmine.FakeTimer.prototype.scheduleFunction = function(timeoutKey, funcToCall, millis, recurring) {
+ 79   this.scheduledFunctions[timeoutKey] = {
+ 80     runAtMillis: this.nowMillis + millis,
+ 81     funcToCall: funcToCall,
+ 82     recurring: recurring,
+ 83     timeoutKey: timeoutKey,
+ 84     millis: millis
+ 85   };
+ 86 };
+ 87 
+ 88 /**
+ 89  * @namespace
+ 90  */
+ 91 jasmine.Clock = {
+ 92   defaultFakeTimer: new jasmine.FakeTimer(),
+ 93 
+ 94   reset: function() {
+ 95     jasmine.Clock.assertInstalled();
+ 96     jasmine.Clock.defaultFakeTimer.reset();
+ 97   },
+ 98 
+ 99   tick: function(millis) {
+100     jasmine.Clock.assertInstalled();
+101     jasmine.Clock.defaultFakeTimer.tick(millis);
+102   },
+103 
+104   runFunctionsWithinRange: function(oldMillis, nowMillis) {
+105     jasmine.Clock.defaultFakeTimer.runFunctionsWithinRange(oldMillis, nowMillis);
+106   },
+107 
+108   scheduleFunction: function(timeoutKey, funcToCall, millis, recurring) {
+109     jasmine.Clock.defaultFakeTimer.scheduleFunction(timeoutKey, funcToCall, millis, recurring);
+110   },
+111 
+112   useMock: function() {
+113     if (!jasmine.Clock.isInstalled()) {
+114       var spec = jasmine.getEnv().currentSpec;
+115       spec.after(jasmine.Clock.uninstallMock);
+116 
+117       jasmine.Clock.installMock();
+118     }
+119   },
+120 
+121   installMock: function() {
+122     jasmine.Clock.installed = jasmine.Clock.defaultFakeTimer;
+123   },
+124 
+125   uninstallMock: function() {
+126     jasmine.Clock.assertInstalled();
+127     jasmine.Clock.installed = jasmine.Clock.real;
+128   },
+129 
+130   real: {
+131     setTimeout: jasmine.getGlobal().setTimeout,
+132     clearTimeout: jasmine.getGlobal().clearTimeout,
+133     setInterval: jasmine.getGlobal().setInterval,
+134     clearInterval: jasmine.getGlobal().clearInterval
+135   },
+136 
+137   assertInstalled: function() {
+138     if (!jasmine.Clock.isInstalled()) {
+139       throw new Error("Mock clock is not installed, use jasmine.Clock.useMock()");
+140     }
+141   },
+142 
+143   isInstalled: function() {
+144     return jasmine.Clock.installed == jasmine.Clock.defaultFakeTimer;
+145   },
+146 
+147   installed: null
+148 };
+149 jasmine.Clock.installed = jasmine.Clock.real;
+150 
+151 //else for IE support
+152 jasmine.getGlobal().setTimeout = function(funcToCall, millis) {
+153   if (jasmine.Clock.installed.setTimeout.apply) {
+154     return jasmine.Clock.installed.setTimeout.apply(this, arguments);
+155   } else {
+156     return jasmine.Clock.installed.setTimeout(funcToCall, millis);
+157   }
+158 };
+159 
+160 jasmine.getGlobal().setInterval = function(funcToCall, millis) {
+161   if (jasmine.Clock.installed.setInterval.apply) {
+162     return jasmine.Clock.installed.setInterval.apply(this, arguments);
+163   } else {
+164     return jasmine.Clock.installed.setInterval(funcToCall, millis);
+165   }
+166 };
+167 
+168 jasmine.getGlobal().clearTimeout = function(timeoutKey) {
+169   if (jasmine.Clock.installed.clearTimeout.apply) {
+170     return jasmine.Clock.installed.clearTimeout.apply(this, arguments);
+171   } else {
+172     return jasmine.Clock.installed.clearTimeout(timeoutKey);
+173   }
+174 };
+175 
+176 jasmine.getGlobal().clearInterval = function(timeoutKey) {
+177   if (jasmine.Clock.installed.clearTimeout.apply) {
+178     return jasmine.Clock.installed.clearInterval.apply(this, arguments);
+179   } else {
+180     return jasmine.Clock.installed.clearInterval(timeoutKey);
+181   }
+182 };
+183 
+184 
\ No newline at end of file diff --git a/pages/jsdoc/symbols/src/src_util.js.html b/pages/jsdoc/symbols/src/src_util.js.html new file mode 100644 index 0000000..31f3e27 --- /dev/null +++ b/pages/jsdoc/symbols/src/src_util.js.html @@ -0,0 +1,75 @@ +
  1 /**
+  2  * @namespace
+  3  */
+  4 jasmine.util = {};
+  5 
+  6 /**
+  7  * Declare that a child class inherit it's prototype from the parent class.
+  8  *
+  9  * @private
+ 10  * @param {Function} childClass
+ 11  * @param {Function} parentClass
+ 12  */
+ 13 jasmine.util.inherit = function(childClass, parentClass) {
+ 14   /**
+ 15    * @private
+ 16    */
+ 17   var subclass = function() {
+ 18   };
+ 19   subclass.prototype = parentClass.prototype;
+ 20   childClass.prototype = new subclass;
+ 21 };
+ 22 
+ 23 jasmine.util.formatException = function(e) {
+ 24   var lineNumber;
+ 25   if (e.line) {
+ 26     lineNumber = e.line;
+ 27   }
+ 28   else if (e.lineNumber) {
+ 29     lineNumber = e.lineNumber;
+ 30   }
+ 31 
+ 32   var file;
+ 33 
+ 34   if (e.sourceURL) {
+ 35     file = e.sourceURL;
+ 36   }
+ 37   else if (e.fileName) {
+ 38     file = e.fileName;
+ 39   }
+ 40 
+ 41   var message = (e.name && e.message) ? (e.name + ': ' + e.message) : e.toString();
+ 42 
+ 43   if (file && lineNumber) {
+ 44     message += ' in ' + file + ' (line ' + lineNumber + ')';
+ 45   }
+ 46 
+ 47   return message;
+ 48 };
+ 49 
+ 50 jasmine.util.htmlEscape = function(str) {
+ 51   if (!str) return str;
+ 52   return str.replace(/&/g, '&')
+ 53     .replace(/</g, '<')
+ 54     .replace(/>/g, '>');
+ 55 };
+ 56 
+ 57 jasmine.util.argsToArray = function(args) {
+ 58   var arrayOfArgs = [];
+ 59   for (var i = 0; i < args.length; i++) arrayOfArgs.push(args[i]);
+ 60   return arrayOfArgs;
+ 61 };
+ 62 
+ 63 jasmine.util.extend = function(destination, source) {
+ 64   for (var property in source) destination[property] = source[property];
+ 65   return destination;
+ 66 };
+ 67 
+ 68 
\ No newline at end of file diff --git a/pages/pages_source/dynamic/_download_item.haml b/pages/pages_source/dynamic/_download_item.haml new file mode 100644 index 0000000..311e56d --- /dev/null +++ b/pages/pages_source/dynamic/_download_item.haml @@ -0,0 +1,7 @@ +%tr{ :class => rc } + %td.link + %a{ :href => "/jasmine/downloads/#{filename}"}= filename + %td.version= version + %td.size= size + %td.date= date + %td.sha= sha \ No newline at end of file diff --git a/pages/pages_source/dynamic/download.haml b/pages/pages_source/dynamic/download.haml new file mode 100644 index 0000000..cea8125 --- /dev/null +++ b/pages/pages_source/dynamic/download.haml @@ -0,0 +1,24 @@ + +.copy + These files are for the standalone release, meant for inclusion on a static HTML page and manual management of files. + +.copy + For a using Jasmine with Ruby on Rails, other Ruby frameworks, within continuous integration environments, or to gain more dynamic source and test file loading, see + %a{ :href => "http://github.com/pivotal/jasmine/wiki" } Using the Jasmine Gem + = "." + +%table#standalone-downloads + %tr + %th + %th Version + %th Size + %th Date + %th SHA1 + + - downloads.each do |d| + = render_partial "download_item", :filename => d[:filename], + :version => d[:version], + :rc => d[:rc], + :size => d[:size], + :date => d[:date], + :sha => d[:sha] \ No newline at end of file diff --git a/pages/pages_source/dynamic/index.haml b/pages/pages_source/dynamic/index.haml new file mode 100644 index 0000000..f6bd3cb --- /dev/null +++ b/pages/pages_source/dynamic/index.haml @@ -0,0 +1,48 @@ +.copy + Jasmine is a behavior-driven development framework for testing your JavaScript code. It does not depend on any other + JavaScript frameworks. It does not require a DOM. And it has a clean, obvious syntax so that you can easily write tests. + +.highlight + %pre + %code.javascript= jasmine_snippet + +.copy + Jasmine can be run anywhere you can execute JavaScript: a static web page, your continuous integration environment, | + or server-side environments like + %a{:target => '_blank', :href => "httpe://nodejs.org"} Node.js + = '.' + +.copy + Find out more in the + %a{:target => '_blank', :href => "http://github.com/pivotal/jasmine/wiki"} documentation + = '.' + +%h2 Downloads + +%ul + %li + %a{:target => '_blank', :href => "download.html"} Standalone + %li + %a{:target => '_blank', :href => "http://github.com/pivotal/jasmine/wiki/A-ruby-project"} Jasmine Ruby Gem + for Rails, Ruby, or Ruby-friendly development + %li + %a{:target => '_blank', :href => "http://github.com/pivotal/jasmine/wiki"} Other environments + Node.js, Maven, etc. + +%h2 Support + +%ul + %li + %a{:target => '_blank', :href => "jsdoc/index.html"} API Documentation + %li + %a{:target => '_blank', :href => "http://groups.google.com/group/jasmine-js"} Google Group for email list: + %a{:target => '_blank', :href => "mailto:jasmine-js@googlegroups.com"} jasmine-js@googlegroups.com + %li + %a{:target => '_blank', :href => "http://ci.pivotallabs.com"} Current Build Status + %li + %a{:target => '_blank', :href => "http://github.com/pivotal/jasmine/issues"} Report bugs at Github + %li + %a{:target => '_blank', :href => "http://www.pivotaltracker.com/projects/10606"} Project Backlog at Pivotal Tracker + %li + %img{:src => "http://twitter-badges.s3.amazonaws.com/t_mini-c.png"} + %a{:target => '_blank', :href => "http://twitter.com/JasmineBDD"} Follow @JasmineBDD on Twitter \ No newline at end of file diff --git a/pages/pages_source/helpers.rb b/pages/pages_source/helpers.rb new file mode 100644 index 0000000..e0c85d7 --- /dev/null +++ b/pages/pages_source/helpers.rb @@ -0,0 +1,25 @@ +module FrankHelpers + def jasmine_snippet + "describe("Jasmine", function() { + it("makes testing JavaScript awesome!", function() { + expect(yourCode).toBeLotsBetter(); + }); +});" + end + + def downloads + require 'digest/sha1' + + Dir.glob('../downloads/*.zip').sort.reverse.collect do |f| + item = {} + item[:filename] = File.basename(f) + item[:version] = /jasmine-standalone-(.*).zip/.match(f)[1] + item[:rc] = /\.rc/.match(f) ? 'rc' : '' + item[:size] = "#{File.size(f) / 1024}k" + item[:date] = File.mtime(f).strftime("%Y/%m/%d %H:%M:%S %Z") + item[:sha] = Digest::SHA1.hexdigest File.read(f) + item + end + end + +end \ No newline at end of file diff --git a/pages/pages_source/layouts/default.haml b/pages/pages_source/layouts/default.haml new file mode 100644 index 0000000..0527e3a --- /dev/null +++ b/pages/pages_source/layouts/default.haml @@ -0,0 +1,18 @@ +!!! +%head + %meta{:charset => "utf-8"} + %title + = "Jasmine: BDD for your JavaScript" + %link{ :rel => "shortcut icon", :type => "image/x-icon", :href =>"favicon.ico" } + %link{ :rel => "stylesheet", :type => "text/css", :media => "screen, projection", :href => "/jasmine/css/screen.css" } + %link{ :rel => "stylesheet", :type => "text/css", :media => "screen, projection", :href => "/jasmine/css/pygments.css" } +%body + %img.github{ :style => "position: absolute; top: 0; right: 0; border: 0;", :src => "http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png", :alt => "Fork me on GitHub" } + .banner + %img{ :src => "/jasmine/images/jasmine_logo.png", :alt => "Jasmine: BDD for your JavaScript" } + %h3 BDD for JavaScript + %section{ :class => "content" }= yield + %hr + %span.small Powered by   + %a{ :href => "http://pivotallabs.com" , :target => '_blank' } + %img{ :src => "/jasmine/images/pivotal_logo.gif", :alt => "Pivotal Labs, Inc." } diff --git a/pages/pages_source/out/css/960gs/960.css b/pages/pages_source/out/css/960gs/960.css new file mode 100644 index 0000000..bdfa213 --- /dev/null +++ b/pages/pages_source/out/css/960gs/960.css @@ -0,0 +1 @@ +.container_12,.container_16{margin-left:auto;margin-right:auto;width:960px}.grid_1,.grid_2,.grid_3,.grid_4,.grid_5,.grid_6,.grid_7,.grid_8,.grid_9,.grid_10,.grid_11,.grid_12,.grid_13,.grid_14,.grid_15,.grid_16{display:inline;float:left;position:relative;margin-left:10px;margin-right:10px}.container_12 .grid_3,.container_16 .grid_4{width:220px}.container_12 .grid_6,.container_16 .grid_8{width:460px}.container_12 .grid_9,.container_16 .grid_12{width:700px}.container_12 .grid_12,.container_16 .grid_16{width:940px}.alpha{margin-left:0}.omega{margin-right:0}.container_12 .grid_1{width:60px}.container_12 .grid_2{width:140px}.container_12 .grid_4{width:300px}.container_12 .grid_5{width:380px}.container_12 .grid_7{width:540px}.container_12 .grid_8{width:620px}.container_12 .grid_10{width:780px}.container_12 .grid_11{width:860px}.container_16 .grid_1{width:40px}.container_16 .grid_2{width:100px}.container_16 .grid_3{width:160px}.container_16 .grid_5{width:280px}.container_16 .grid_6{width:340px}.container_16 .grid_7{width:400px}.container_16 .grid_9{width:520px}.container_16 .grid_10{width:580px}.container_16 .grid_11{width:640px}.container_16 .grid_13{width:760px}.container_16 .grid_14{width:820px}.container_16 .grid_15{width:880px}.container_12 .prefix_3,.container_16 .prefix_4{padding-left:240px}.container_12 .prefix_6,.container_16 .prefix_8{padding-left:480px}.container_12 .prefix_9,.container_16 .prefix_12{padding-left:720px}.container_12 .prefix_1{padding-left:80px}.container_12 .prefix_2{padding-left:160px}.container_12 .prefix_4{padding-left:320px}.container_12 .prefix_5{padding-left:400px}.container_12 .prefix_7{padding-left:560px}.container_12 .prefix_8{padding-left:640px}.container_12 .prefix_10{padding-left:800px}.container_12 .prefix_11{padding-left:880px}.container_16 .prefix_1{padding-left:60px}.container_16 .prefix_2{padding-left:120px}.container_16 .prefix_3{padding-left:180px}.container_16 .prefix_5{padding-left:300px}.container_16 .prefix_6{padding-left:360px}.container_16 .prefix_7{padding-left:420px}.container_16 .prefix_9{padding-left:540px}.container_16 .prefix_10{padding-left:600px}.container_16 .prefix_11{padding-left:660px}.container_16 .prefix_13{padding-left:780px}.container_16 .prefix_14{padding-left:840px}.container_16 .prefix_15{padding-left:900px}.container_12 .suffix_3,.container_16 .suffix_4{padding-right:240px}.container_12 .suffix_6,.container_16 .suffix_8{padding-right:480px}.container_12 .suffix_9,.container_16 .suffix_12{padding-right:720px}.container_12 .suffix_1{padding-right:80px}.container_12 .suffix_2{padding-right:160px}.container_12 .suffix_4{padding-right:320px}.container_12 .suffix_5{padding-right:400px}.container_12 .suffix_7{padding-right:560px}.container_12 .suffix_8{padding-right:640px}.container_12 .suffix_10{padding-right:800px}.container_12 .suffix_11{padding-right:880px}.container_16 .suffix_1{padding-right:60px}.container_16 .suffix_2{padding-right:120px}.container_16 .suffix_3{padding-right:180px}.container_16 .suffix_5{padding-right:300px}.container_16 .suffix_6{padding-right:360px}.container_16 .suffix_7{padding-right:420px}.container_16 .suffix_9{padding-right:540px}.container_16 .suffix_10{padding-right:600px}.container_16 .suffix_11{padding-right:660px}.container_16 .suffix_13{padding-right:780px}.container_16 .suffix_14{padding-right:840px}.container_16 .suffix_15{padding-right:900px}.container_12 .push_3,.container_16 .push_4{left:240px}.container_12 .push_6,.container_16 .push_8{left:480px}.container_12 .push_9,.container_16 .push_12{left:720px}.container_12 .push_1{left:80px}.container_12 .push_2{left:160px}.container_12 .push_4{left:320px}.container_12 .push_5{left:400px}.container_12 .push_7{left:560px}.container_12 .push_8{left:640px}.container_12 .push_10{left:800px}.container_12 .push_11{left:880px}.container_16 .push_1{left:60px}.container_16 .push_2{left:120px}.container_16 .push_3{left:180px}.container_16 .push_5{left:300px}.container_16 .push_6{left:360px}.container_16 .push_7{left:420px}.container_16 .push_9{left:540px}.container_16 .push_10{left:600px}.container_16 .push_11{left:660px}.container_16 .push_13{left:780px}.container_16 .push_14{left:840px}.container_16 .push_15{left:900px}.container_12 .pull_3,.container_16 .pull_4{left:-240px}.container_12 .pull_6,.container_16 .pull_8{left:-480px}.container_12 .pull_9,.container_16 .pull_12{left:-720px}.container_12 .pull_1{left:-80px}.container_12 .pull_2{left:-160px}.container_12 .pull_4{left:-320px}.container_12 .pull_5{left:-400px}.container_12 .pull_7{left:-560px}.container_12 .pull_8{left:-640px}.container_12 .pull_10{left:-800px}.container_12 .pull_11{left:-880px}.container_16 .pull_1{left:-60px}.container_16 .pull_2{left:-120px}.container_16 .pull_3{left:-180px}.container_16 .pull_5{left:-300px}.container_16 .pull_6{left:-360px}.container_16 .pull_7{left:-420px}.container_16 .pull_9{left:-540px}.container_16 .pull_10{left:-600px}.container_16 .pull_11{left:-660px}.container_16 .pull_13{left:-780px}.container_16 .pull_14{left:-840px}.container_16 .pull_15{left:-900px}.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:after{clear:both;content:' ';display:block;font-size:0;line-height:0;visibility:hidden;width:0;height:0}* html .clearfix,*:first-child+html .clearfix{zoom:1} \ No newline at end of file diff --git a/pages/pages_source/out/css/960gs/960_24_col.css b/pages/pages_source/out/css/960gs/960_24_col.css new file mode 100644 index 0000000..6d92fa7 --- /dev/null +++ b/pages/pages_source/out/css/960gs/960_24_col.css @@ -0,0 +1 @@ +.container_24{margin-left:auto;margin-right:auto;width:960px}.grid_1,.grid_2,.grid_3,.grid_4,.grid_5,.grid_6,.grid_7,.grid_8,.grid_9,.grid_10,.grid_11,.grid_12,.grid_13,.grid_14,.grid_15,.grid_16,.grid_17,.grid_18,.grid_19,.grid_20,.grid_21,.grid_22,.grid_23,.grid_24{display:inline;float:left;position:relative;margin-left:5px;margin-right:5px}.alpha{margin-left:0}.omega{margin-right:0}.container_24 .grid_1{width:30px}.container_24 .grid_2{width:70px}.container_24 .grid_3{width:110px}.container_24 .grid_4{width:150px}.container_24 .grid_5{width:190px}.container_24 .grid_6{width:230px}.container_24 .grid_7{width:270px}.container_24 .grid_8{width:310px}.container_24 .grid_9{width:350px}.container_24 .grid_10{width:390px}.container_24 .grid_11{width:430px}.container_24 .grid_12{width:470px}.container_24 .grid_13{width:510px}.container_24 .grid_14{width:550px}.container_24 .grid_15{width:590px}.container_24 .grid_16{width:630px}.container_24 .grid_17{width:670px}.container_24 .grid_18{width:710px}.container_24 .grid_19{width:750px}.container_24 .grid_20{width:790px}.container_24 .grid_21{width:830px}.container_24 .grid_22{width:870px}.container_24 .grid_23{width:910px}.container_24 .grid_24{width:950px}.container_24 .prefix_1{padding-left:40px}.container_24 .prefix_2{padding-left:80px}.container_24 .prefix_3{padding-left:120px}.container_24 .prefix_4{padding-left:160px}.container_24 .prefix_5{padding-left:200px}.container_24 .prefix_6{padding-left:240px}.container_24 .prefix_7{padding-left:280px}.container_24 .prefix_8{padding-left:320px}.container_24 .prefix_9{padding-left:360px}.container_24 .prefix_10{padding-left:400px}.container_24 .prefix_11{padding-left:440px}.container_24 .prefix_12{padding-left:480px}.container_24 .prefix_13{padding-left:520px}.container_24 .prefix_14{padding-left:560px}.container_24 .prefix_15{padding-left:600px}.container_24 .prefix_16{padding-left:640px}.container_24 .prefix_17{padding-left:680px}.container_24 .prefix_18{padding-left:720px}.container_24 .prefix_19{padding-left:760px}.container_24 .prefix_20{padding-left:800px}.container_24 .prefix_21{padding-left:840px}.container_24 .prefix_22{padding-left:880px}.container_24 .prefix_23{padding-left:920px}.container_24 .suffix_1{padding-right:40px}.container_24 .suffix_2{padding-right:80px}.container_24 .suffix_3{padding-right:120px}.container_24 .suffix_4{padding-right:160px}.container_24 .suffix_5{padding-right:200px}.container_24 .suffix_6{padding-right:240px}.container_24 .suffix_7{padding-right:280px}.container_24 .suffix_8{padding-right:320px}.container_24 .suffix_9{padding-right:360px}.container_24 .suffix_10{padding-right:400px}.container_24 .suffix_11{padding-right:440px}.container_24 .suffix_12{padding-right:480px}.container_24 .suffix_13{padding-right:520px}.container_24 .suffix_14{padding-right:560px}.container_24 .suffix_15{padding-right:600px}.container_24 .suffix_16{padding-right:640px}.container_24 .suffix_17{padding-right:680px}.container_24 .suffix_18{padding-right:720px}.container_24 .suffix_19{padding-right:760px}.container_24 .suffix_20{padding-right:800px}.container_24 .suffix_21{padding-right:840px}.container_24 .suffix_22{padding-right:880px}.container_24 .suffix_23{padding-right:920px}.container_24 .push_1{left:40px}.container_24 .push_2{left:80px}.container_24 .push_3{left:120px}.container_24 .push_4{left:160px}.container_24 .push_5{left:200px}.container_24 .push_6{left:240px}.container_24 .push_7{left:280px}.container_24 .push_8{left:320px}.container_24 .push_9{left:360px}.container_24 .push_10{left:400px}.container_24 .push_11{left:440px}.container_24 .push_12{left:480px}.container_24 .push_13{left:520px}.container_24 .push_14{left:560px}.container_24 .push_15{left:600px}.container_24 .push_16{left:640px}.container_24 .push_17{left:680px}.container_24 .push_18{left:720px}.container_24 .push_19{left:760px}.container_24 .push_20{left:800px}.container_24 .push_21{left:840px}.container_24 .push_22{left:880px}.container_24 .push_23{left:920px}.container_24 .pull_1{left:-40px}.container_24 .pull_2{left:-80px}.container_24 .pull_3{left:-120px}.container_24 .pull_4{left:-160px}.container_24 .pull_5{left:-200px}.container_24 .pull_6{left:-240px}.container_24 .pull_7{left:-280px}.container_24 .pull_8{left:-320px}.container_24 .pull_9{left:-360px}.container_24 .pull_10{left:-400px}.container_24 .pull_11{left:-440px}.container_24 .pull_12{left:-480px}.container_24 .pull_13{left:-520px}.container_24 .pull_14{left:-560px}.container_24 .pull_15{left:-600px}.container_24 .pull_16{left:-640px}.container_24 .pull_17{left:-680px}.container_24 .pull_18{left:-720px}.container_24 .pull_19{left:-760px}.container_24 .pull_20{left:-800px}.container_24 .pull_21{left:-840px}.container_24 .pull_22{left:-880px}.container_24 .pull_23{left:-920px}.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:after{clear:both;content:' ';display:block;font-size:0;line-height:0;visibility:hidden;width:0;height:0}* html .clearfix,*:first-child+html .clearfix{zoom:1} \ No newline at end of file diff --git a/pages/pages_source/out/css/960gs/reset.css b/pages/pages_source/out/css/960gs/reset.css new file mode 100644 index 0000000..99a0211 --- /dev/null +++ b/pages/pages_source/out/css/960gs/reset.css @@ -0,0 +1 @@ +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outline:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0} \ No newline at end of file diff --git a/pages/pages_source/out/css/960gs/text.css b/pages/pages_source/out/css/960gs/text.css new file mode 100644 index 0000000..f37d174 --- /dev/null +++ b/pages/pages_source/out/css/960gs/text.css @@ -0,0 +1 @@ +body{font:13px/1.5 'Helvetica Neue',Arial,'Liberation Sans',FreeSans,sans-serif}a:focus{outline:1px dotted}hr{border:0 #ccc solid;border-top-width:1px;clear:both;height:0}h1{font-size:25px}h2{font-size:23px}h3{font-size:21px}h4{font-size:19px}h5{font-size:17px}h6{font-size:15px}ol{list-style:decimal}ul{list-style:disc}li{margin-left:30px}p,dl,hr,h1,h2,h3,h4,h5,h6,ol,ul,pre,table,address,fieldset{margin-bottom:20px} \ No newline at end of file diff --git a/pages/pages_source/out/css/pygments.css b/pages/pages_source/out/css/pygments.css new file mode 100644 index 0000000..e89794f --- /dev/null +++ b/pages/pages_source/out/css/pygments.css @@ -0,0 +1,62 @@ +code .hll { background-color: #ffffcc } +code { background: #ffffff; } +code .c { color: #808080 } /* Comment */ +code .err { color: #F00000; background-color: #F0A0A0 } /* Error */ +code .k { color: #008000; font-weight: bold } /* Keyword */ +code .o { color: #303030 } /* Operator */ +code .cm { color: #808080 } /* Comment.Multiline */ +code .cp { color: #507090 } /* Comment.Preproc */ +code .c1 { color: #808080 } /* Comment.Single */ +code .cs { color: #cc0000; font-weight: bold } /* Comment.Special */ +code .gd { color: #A00000 } /* Generic.Deleted */ +code .ge { font-style: italic } /* Generic.Emph */ +code .gr { color: #FF0000 } /* Generic.Error */ +code .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +code .gi { color: #00A000 } /* Generic.Inserted */ +code .go { color: #808080 } /* Generic.Output */ +code .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ +code .gs { font-weight: bold } /* Generic.Strong */ +code .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +code .gt { color: #0040D0 } /* Generic.Traceback */ +code .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +code .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +code .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +code .kp { color: #003080; font-weight: bold } /* Keyword.Pseudo */ +code .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +code .kt { color: #303090; font-weight: bold } /* Keyword.Type */ +code .m { color: #6000E0; font-weight: bold } /* Literal.Number */ +code .s { background-color: #fff0f0 } /* Literal.String */ +code .na { color: #0000C0 } /* Name.Attribute */ +code .nb { color: #007020 } /* Name.Builtin */ +code .nc { color: #B00060; font-weight: bold } /* Name.Class */ +code .no { color: #003060; font-weight: bold } /* Name.Constant */ +code .nd { color: #505050; font-weight: bold } /* Name.Decorator */ +code .ni { color: #800000; font-weight: bold } /* Name.Entity */ +code .ne { color: #F00000; font-weight: bold } /* Name.Exception */ +code .nf { color: #0060B0; font-weight: bold } /* Name.Function */ +code .nl { color: #907000; font-weight: bold } /* Name.Label */ +code .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ +code .nt { color: #007000 } /* Name.Tag */ +code .nv { color: #906030 } /* Name.Variable */ +code .ow { color: #000000; font-weight: bold } /* Operator.Word */ +code .w { color: #bbbbbb } /* Text.Whitespace */ +code .mf { color: #6000E0; font-weight: bold } /* Literal.Number.Float */ +code .mh { color: #005080; font-weight: bold } /* Literal.Number.Hex */ +code .mi { color: #0000D0; font-weight: bold } /* Literal.Number.Integer */ +code .mo { color: #4000E0; font-weight: bold } /* Literal.Number.Oct */ +code .sb { background-color: #fff0f0 } /* Literal.String.Backtick */ +code .sc { color: #0040D0 } /* Literal.String.Char */ +code .sd { color: #D04020 } /* Literal.String.Doc */ +code .s2 { background-color: #fff0f0 } /* Literal.String.Double */ +code .se { color: #606060; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */ +code .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */ +code .si { background-color: #e0e0e0 } /* Literal.String.Interpol */ +code .sx { color: #D02000; background-color: #fff0f0 } /* Literal.String.Other */ +code .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */ +code .s1 { background-color: #fff0f0 } /* Literal.String.Single */ +code .ss { color: #A06000 } /* Literal.String.Symbol */ +code .bp { color: #007020 } /* Name.Builtin.Pseudo */ +code .vc { color: #306090 } /* Name.Variable.Class */ +code .vg { color: #d07000; font-weight: bold } /* Name.Variable.Global */ +code .vi { color: #3030B0 } /* Name.Variable.Instance */ +code .il { color: #0000D0; font-weight: bold } /* Literal.Number.Integer.Long */ diff --git a/pages/pages_source/out/css/screen.css b/pages/pages_source/out/css/screen.css new file mode 100644 index 0000000..5a08a87 --- /dev/null +++ b/pages/pages_source/out/css/screen.css @@ -0,0 +1,152 @@ +@import url("960gs/960.css"); + +/* http://www.levien.com/type/myfonts/inconsolata.html */ +@font-face +{ + font-family: "inconsolata"; + src: url("../fonts/inconsolata.otf"); +} + +@font-face +{ + font-family: "droid sans"; + src: url("../fonts/droidsans.ttf"); +} +@font-face +{ + font-family: "droid sans bold"; + src: url("../fonts/droidsans-bold.ttf"); +} +body +{ + color:#333; + font-family: helvetica, arial, sans-serif; + font-size:87.5%; /* 16px * 0.875 = 14px */ + line-height: 137.5%; /* 16px * 1.375 = 22px */ +} +a +{ + color: #55862e; + text-decoration: none; + border-bottom: solid 1px #3030a2; +} +a:hover +{ + text-decoration: none; + border-bottom: 0; +} + +a:visited{ + color: #777; + border-bottom: solid 1px #ccc; +} + +h1, h2, h3, h4, h5, h6 +{ + color: #000; +} +h1, h2, h3 +{ + font-family: "droid sans", helvetica, arial, sans-serif; +} + +h4, h5, h6 +{ + font-family: "droid sans bold", helvetica, arial, sans-serif; +} + +h1 +{ + font-size: 150.0%; +} +h2 +{ + font-size: 137.5%; +} +h3 +{ + font-size: 125.0%; +} +h4 +{ + font-size: 112.5%; +} +h5, h6{ + font-size: 100%; +} + +pre,code +{ + font-family: "inconsolata", monospace; + /* font-size: 1.142em; */ +} + +pre { + border-left: 2px solid #55862e; + padding-left: 1em; +} + +.noul +{ + border-bottom: 0; + text-decoration: none; +} + +img { + border: 0; +} + +img.screenshot { + padding-left: 35px; + padding-right: 10px; +} + +header, footer +{ + display: block; + padding: .1em 0; +} + + +header h1{ + font-size:1.142em; +} + +header h1 a, header h1 a:visited +{ + color:#55862e; + text-decoration: none; + border-bottom: none; +} + +footer{ + margin-top:1em; + border-top: solid 3px #ccc; +} + +footer img { + vertical-align: middle; + height: 59px; +} +.twtr-widget a, +.twtr-widget a:visited, +footer a, +footer a:visited { + border-bottom: none; +} + +ul.posts +{ + list-style-type: none; +} + +nav { + margin-bottom: 25px; +} + +table { border-collapse: collapse; width: 100% } +table th, table td { border: 1px solid #aaa; padding: .2em; } +table td { white-space:nowrap; } +#standalone-downloads td { font-family: monospace; } +#standalone-downloads td.sha { font-size: 0.8em; } +#standalone-downloads .rc td { background-color: #ddd; } diff --git a/pages/pages_source/out/download.html b/pages/pages_source/out/download.html new file mode 100644 index 0000000..2a3be33 --- /dev/null +++ b/pages/pages_source/out/download.html @@ -0,0 +1,41 @@ + + + + + Jasmine: BDD for your JavaScript + + + + + + + Fork me on GitHub + +
+
+ These files are for the standalone release, meant for inclusion on a static HTML page and manual management of files. +
+
+ For a using Jasmine with Ruby on Rails, other Ruby frameworks, within continuous integration environments, or to gain more dynamic source and test file loading, see + Using the Jasmine Gem + . +
+ + + + + + + + +
VersionSizeDateSHA1
+
+
+ Powered by   + + Pivotal Labs, Inc. + + diff --git a/pages/pages_source/out/favicon.ico b/pages/pages_source/out/favicon.ico new file mode 100644 index 0000000..e69de29 diff --git a/pages/pages_source/out/images/jasmine_logo.png b/pages/pages_source/out/images/jasmine_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9ffc5a034f04a11cb1eafc3e5fb6556932a7d8ac GIT binary patch literal 4980 zcmV-)6N~JLP)2-`cQ?eB|;Uo$Tqa9($YEx3NNL0RHUe-(ynXql19oV zfm8|#yGfA}(yCtPrPz`1x-lv#S+pq?2BeDKZ+s@X9?#F6**ohoIiEBd|IE*wnR~zc zopaAUR|p1!!C){L3#Be%5NGIFcX zHoWhTN6Sfn39|escaDB7$TC;CYA_fHA{yC9b4!<9mw(`q$HWb7ZDRR~m164LgteV{ z>$v!I=93|L*nn)j^(GKTO71%4woPszzm(&UDs4_=+SjeOjvYIF3gyho@>aNdFc=9S z8d3t2J9j@TzH!^_^ZtLSRuhLu3LqUc?(VqM4G~N)RFx#URQtO7EW!ivskktGUJ~ET zyz^5xwp~8rBfPM9^`#d;O4-F=_AwZX0WA%lU%&KGO`JUXy6-`2vzx__p8u7Q<_XN2 zNl6ZQQbP@!ZE`m%2__A)GeI)862r4`^$;PoJzJk*mj2+t(yA6diNV_Yp5jN}kaCJsM|8`)ql)l+OHlZ{KYi(DfZjHD0^ zg6&KynEXr%Q{-yFV3`uL!9X^T{$Q6F8G3mTL*Zd! zb)u0>1ydxdNuEqeL;H5jQJp7#CiXj}#cU=6{!Ru=r#gk|#|DrKMx-#!L6ShM_nJ6s z)rH}Nf3HEgm1rB}CY@O1_&b>+n)3MB_=y_xq;9yeO`Ivc727>PVq`WIxJob>$s(FV zW2a9wrH~lXKKaHG5to9RkR&6?rp)m(3`X*Zrg&lce4T>aVg-h@+t;lZaVe;iM~^H9 zvx&jD`iO=y=IuqUnPy=5idB}w)-*8XpkAxN3Cv~_gONZ*0}LVcCCv|t9ZRn>Kco(m z41~#5fng9Z!OOJq$e@TgysfI5U5{@WI5JWgd}4O`KrDrXv-TaSoZ1Zs2vTliC^J?w z3}Ya5%yr73qQOfYlBP%T$VhxH4qW>)Nj9b~8jKt{-1}mDz(LFv^NuNCWdMwif zmM&W+KK*1yd?q(jstHNRku+VB%$}?5qfjrxyBy_x zEHPL>E2j)H=fxexYr+(J0=w6cnxsptE)}sOBtioCWM4oprY&u-WyErIjqnJB2PwS-jTGG95i^&%SCzx!& z1&~crVVO)56G&*DNwu|&qF138wkJx1S_CAMqsp6c>+R*%h2E65ZtA^N0@g`L<|g@b z4t3N=_vjLH9i_PbLCs6s$EF-=qub>fRP++@*``6sLAX$CLymXRC+25b%#&J)0~sn; z+NoHSGIi1K6_19Wia>0WE(B9{+&4?VmtBZ_Qm3P6jp2p$O`V&_nDp0t{P{)kZtZRH z;mnly{C}T_uYKhvaqIPWi91qvi?3ee?z2J64VHmH8SI?Kv^bnl7rcY|lEj0R9I*A% zWKl@NLknr28zh;$6H;(9u}3j`vuU*E*q;Ee$gZ0}C3BQI+pr zYlIar8cOA`8&OXFZH)X5>U9R3=AqKqhN$xyRL(&iDaWwpm#Sha^lW7hv&HTdRYjH| z63&JonUaIF{pvC`uua%nvi zk;SO;E~+BrO0q|!E*Z>bVzFQVrRDiak;7-~}M0ltal>M1=LkQQ4_M7nI&B$fu#2B$WUM>afRo zeyEdKqph&TmBj$n?^o812B$`^-ZLGOzox27GD^9!4pX;Z%a)OWBghVRxL_B+w>0}c|*1ent* zsYk9G)NysGrY(&$Hjii&e@*32zuzaYjSRgkUiszEto@OZg6C{(_+-ZZeJnIF#RZTQ zmW6qEdoE36)0tF;Az7^UwgZM{rFRRxWrFLDikAvdOl5o1EJqlS%1r&nodLcewQe*Ni$i5D1SzVPm@7QkEnSy{g2swvbGP?ABkbjKNA|w#dhUDm zzlXlx`yan+nNo2A<`}KQU}Wv^n9%8{yhA1~N@S(e$jc6OV>0nmJql^kIdz9A83pQj zDZ{38qp>jRd*A5MCNqlZYmc;HoHm0xz@HHKqwgM#%B9yzApdf=NN7l$aGBWnkeLlP#bEc0n^6oyh954 zb&7EFf`X7U?ZY8u)35kz81Vr^(DoF8PWkTpOqkX#(dY$d_(H44i7=CLk3G4oDNbHp z+1Ia?zY^!b+OUSFX~Qq11b*JxF_q zhMv(;G%iyG1`SP@$ZHTmnkt>O@kml4p-va*Z*-C{`EOMxortG7@ypZwmAu!@mH3i3e zE=469I!}$D^-T8P;v#+1UxpWoc~mP`$Dh#wewtKUTbTSLPR7p%k${WYQuUj4ORA>Z z(U?P5D2kcNi}`6e{h*esN8>g@TN(`M0r@A}w$PM8pi7^4u5 z*Dm@{X$RR+^>;Y#QRI0~%{8Iqcd3iHzBhC#Ii+rt6(Y(gbz_e4AZDkK_&0fGbxU`0x7Fmn)O2hubh)qHPu zGZLSpK@~JUGL{m~l6{+Ts185#Mmtxoqe4}vLS-C2A04?|Cz1&hl$aHBbJ=zT_-iU6 znKR+P>||3^>PCl4-3U_YWvUxNDmOSX7|tD8n8KOT@jQlcF&Y&o*+9jBWRTz2#CM%7)+BIYj z^$5M7yQ*+mKu+_1Hj$#D_6CqxVv@gKrDS7SF(DThEQ^pc?^{C_CjW<*UdSPTOkDGv zU@F1vF-c~)7Pe1kKCvhHS+*vYg~0}XA(BX|WT8ts7pA9i?Xrjv97kUIJ>-mYE(KyO zLuzU+m7-G9!hK0xo#j^h#N5Qzo@9e#Y1tF|+0x2=#)Mw-rGg^i8zCdDa%-wJ^?fx` zW}R#4q9PiYE2dF5>?MNBQE~}|UTy_FuxzybTet6+ldQ^wPXGDCYJ_0Cyd;A(rYJ-q1zNaGOq{J)=2E>@Lqi1#6V0xOr41>W$ z6ED#qO4u|I$HQPSm}o4}aCz0Vp9WFLf)gt-7)&$@%BEEfraA~t70F;Q(I^-*t!T!_ ztVIKc`I9pkOf<158q5es8i$3BPG&HeXc7bvLcLb2o5=SIC-AWY`|;xde{KeYiDsUv zF=0L(85suIa6VcFgNeo!CmLOs=}hT3GWJyk=c8pXm}opuBnNIJz%L_BCObnr=c8pX zm}uq$v%rz#7deEZD4D|}1&~XY9l#6*6HTD1q4*aq!0~%zq+lx}3_h zV6dWzWIjnE>3!gl+vlm6k)hvML)WZe7>s12Wf7Ed*v(IKcs4!;D;)Bu5`)1oV?O=) z&HZ1z|M7Wi!_V?>qx@zV3^tuiqU-QTp)_@FJhgnqDxOlnU@S5$Su6#mC2Fx~d>ZDI ysr9HC30JU>7_07{hrOO`}HKRZH508EzvPMH8tlt@EDLq$S6Mo|M$ zl?G9kK1ftbMnywNN=HdX5L1}|Se;HvNJ>mf0b8I;Pf=4&O-E5(x-&vWQ)E_AP(W5@ zL|0)TT%1%@Q&?0}6JelSS5~_{N?2M~2x_StWu#wPSs!PoN?>qYURz#ZT_bCxT488q zU|%O~r%+~gXJcVwWnxfke{5%FVrp?yZi6v&t}}J8aBFFDZESCGZaI9hcXDw)fVD_| zw0w7VcX@WoV{&?Yd1Zi=Oog?9e0xuaw|{_s&TM#AjlOD%rOtDFj){nhjEQ2CzGs)h zkCBdHo5hclmTQ~GaGkw!oWpCM#G96sfSa50+nc4Ttf_^w(~h##v8<|$w9l=ttdF$TjkeLWudS7}(y_C! zn!4BHsczTdM~h;oI8M-t5fa?eo{%;@#Wa-`mvS?#|-w z)#32w;osro;MnBy)#mKoE`(4=Hcq{-|PAH=;-9^_2usO=kNIH z@AByJ`Tzg_A^8LW3IP8AEC2ui0FMAW000R70RIUbNU)&6g9sBUT*$DY!-o(fN}Ncs zqQ#3C7rs+>FQdngAVU(2CvM!hjv`a4T&eKgxN0?Q=rpS0NVZs#0&!*3x6J6>Y zDif&DqX_5a96A)`!)4NtO1*e*DbtduzPX~yjf;0MROZDxu(aMSP;l&V^9tUhl0!3&IJ|k!qbvF( z!AG|j*Pv99AH3knSMrnHeCEG+MST8fW(-X1x@W*>jnd=_dv=xT2HWjfD0=E5;ueBl z*2~rUOqy^aiYS_V_1;R7)uqlhMbyC6Vm?rD&{)a<;~#*WfC9>Z91b{2PY0@06=CXd zb4en4P=SLEHM}9vJ>DqO-zc4E(#a?t<~YhIoM>W-dk3Z?5IPLGgOHJ*IpYjjlmYn< zKbLH=Mk2ku0*WS+AmWIYj%+Cjjva33h$O#M)6ZM!AeoRh$h7khG97@xK?g0+K@UQK zG|+}YvT)FXny^G51U5r?Hw`PS2qTa;rtrAoDSk{~!2}p!Fo6SHpfVsRJ+8tC1|bM} z5I8BQK;%M4w89WLAf$rO75*Toph6J57^IC6DWm{G8^H{~01qZ05P%j4*#STm2GP@j z0F4Z!L;!&JQ;s*)lp|0bC}g0m71sQ-j3yjHYJmj~9H79Znf5qJFV)~<#{dHWf{-=~ zEC3EeC2Yb_9t{M6&tX~lZ=8(H6Yg00Rji8FfRiQ+`CW; zpDg5#3bL3m%t1TAGSCS64n$7`&=BM>#Q(H1am58)d=NAUD4@$XXbjN9dOg1K&p9us zta1jV{38vx9FF2j{u(u(va@#sH6lP5I}A|DLD~>)v_eQPw1^S^z=83>st6R!2-g&( z0vYuTG)w^uw9o=L&G3!3cAx z88!e?yz>k(ubk2&@da#<#sMVAY&-7B$N=w9;5*=DLKN!4#WxHQfGZ$m7X@fRJDL%J z0~Etn(K}kw5+Vzs3FHWSFvt$<5DZ^5!UeZDNG-Ymfii4OA={}27zl6!RA?d-8uAb# zCV&737{CnvtKbkQ+y=J+W`GsmnnWmeh7wOS5Fu44zyS~dv;u?ygAF(p<2Hy8B{X0P zPME?6Kp;X{3?vXUNXRV;;IK4)W*q#91p-m=1R4f0N1`~z5)6O<2_OPY1JZ;y{_%$l zcwlZ;u*W}oK@6t|#EA|x2s9MHfG|$M2nc9EI0}+D2HXM~(4a;_QcyXBAj1NUs6-_! zVF?aYO?ze(2q0LHkaRF07y)p>K$dZ#OyF=psAxg}U~tDAK?(r|SVHZ>6bpgyAzLEI zfEBv&ByX4la00Oe{0_nf07OzCI{<(kIH`aFP!RzT=-fd{;D%ec^JxU>f)@(1hZYn> z25|nkg)Hn4fk+Uf9y}lfIhZj83N%9nR}@Gugx8@}i~$2sSSB7h0fZ3vL82VW#4iLA z4M;#D7XsmjI(CA*f84?Zb2x|-THp(Uw1NfS6bLznFoT-PUFi_ zP$OF7_~jq>Fb8w^idv6Mm9?1#g)L(H9Q)LkF^(BXSYguJkJtjOS-lb{Vqpx@5ab?F z2<>qfg9FZ7wkZh@TP+?;9iyx zLlalxM19ZO5J4FCxX0-)g7jt#0z1ST`PDCDsH5P=^x?n=-e`pZlZYA=N54KGg0(gb zm{(At2HLG{gh&jTdkBIr+r@#4SPU6ur~$>bt-&B@?3qv?!MHlG1&=+W4n62#FN?{> wkXu8HFQ7O=WL+{~?(v8s#K0|5-ib%7 literal 0 HcmV?d00001 diff --git a/pages/pages_source/out/index.html b/pages/pages_source/out/index.html new file mode 100644 index 0000000..e5563f9 --- /dev/null +++ b/pages/pages_source/out/index.html @@ -0,0 +1,79 @@ + + + + + Jasmine: BDD for your JavaScript + + + + + + + Fork me on GitHub + +
+
+ Jasmine is a behavior-driven development framework for testing your JavaScript code. It does not depend on any other + JavaScript frameworks. It does not require a DOM. And it has a clean, obvious syntax so that you can easily write tests. +
+
+
describe("Jasmine", function() {
  it("makes testing JavaScript awesome!", function() {
    expect(yourCode).toBeLotsBetter();
  });
});
+
+
+ Jasmine can be run anywhere you can execute JavaScript: a static web page, your continuous integration environment, + or server-side environments like + Node.js + . +
+
+ Find out more in the + documentation + . +
+

Downloads

+ +

Support

+ +
+
+ Powered by   + + Pivotal Labs, Inc. + + diff --git a/pages/pages_source/setup.rb b/pages/pages_source/setup.rb new file mode 100644 index 0000000..0d021a9 --- /dev/null +++ b/pages/pages_source/setup.rb @@ -0,0 +1,70 @@ +# ---------------------- +# Server settings: +# +# Change the server host/port to bind rack to. +# 'server' can be any Rack-supported server, e.g. +# Mongrel, Thin, WEBrick +# +Frank.server.handler = "mongrel" +Frank.server.hostname = "0.0.0.0" +Frank.server.port = "3601" + +# ---------------------- +# Static folder: +# +# All files in this folder will be served up +# directly, without interpretation +# +Frank.static_folder = "static" + +# ---------------------- +# Dynamic folder: +# +# Frank will try to interpret any of the files +# in this folder based on their extension +# +Frank.dynamic_folder = "dynamic" + +# ---------------------- +# Layouts folder: +# +# Frank will look for layouts in this folder +# the default layout is `default' +# it respects nested layouts that correspond to nested +# folders in the `dynamic_folder' +# for example: a template: `dynamic_folder/blog/a-blog-post.haml' +# would look for a layout: `layouts/blog/default.haml' +# and if not found use the default: `layouts/default.haml' +# +# Frank also supports defining layouts on an +# individual template basis using meta data +# you can do this by defining a meta field `layout: my_layout.haml' +# +Frank.layouts_folder = "layouts" + +# ---------------------- +# Publish settings: +# +# Frank can publish your exported project to +# a server. All you have to do is tell Frank what host, path, and username. +# If you have ssh keys setup there is no need for a password. +# Just uncomment the Publish settings below and +# make the appropriate changes. +# +# Frank.publish.host = "example.com" +# Frank.publish.path = "/www" +# Frank.publish.username = 'me' +# Frank.publish.password = 'secret' +# Frank.publish.port = 22 +# + +# ---------------------- +# Sass Options: +# Frank.sass_options = { :load_paths => [ File.join(File.dirname(__FILE__), 'dynamic/css') ] } + + +# ---------------------- +# Initializers: +# +# Add any other project setup code, or requires here +# .... \ No newline at end of file diff --git a/pages/pages_source/static/css/960gs/960.css b/pages/pages_source/static/css/960gs/960.css new file mode 100644 index 0000000..bdfa213 --- /dev/null +++ b/pages/pages_source/static/css/960gs/960.css @@ -0,0 +1 @@ +.container_12,.container_16{margin-left:auto;margin-right:auto;width:960px}.grid_1,.grid_2,.grid_3,.grid_4,.grid_5,.grid_6,.grid_7,.grid_8,.grid_9,.grid_10,.grid_11,.grid_12,.grid_13,.grid_14,.grid_15,.grid_16{display:inline;float:left;position:relative;margin-left:10px;margin-right:10px}.container_12 .grid_3,.container_16 .grid_4{width:220px}.container_12 .grid_6,.container_16 .grid_8{width:460px}.container_12 .grid_9,.container_16 .grid_12{width:700px}.container_12 .grid_12,.container_16 .grid_16{width:940px}.alpha{margin-left:0}.omega{margin-right:0}.container_12 .grid_1{width:60px}.container_12 .grid_2{width:140px}.container_12 .grid_4{width:300px}.container_12 .grid_5{width:380px}.container_12 .grid_7{width:540px}.container_12 .grid_8{width:620px}.container_12 .grid_10{width:780px}.container_12 .grid_11{width:860px}.container_16 .grid_1{width:40px}.container_16 .grid_2{width:100px}.container_16 .grid_3{width:160px}.container_16 .grid_5{width:280px}.container_16 .grid_6{width:340px}.container_16 .grid_7{width:400px}.container_16 .grid_9{width:520px}.container_16 .grid_10{width:580px}.container_16 .grid_11{width:640px}.container_16 .grid_13{width:760px}.container_16 .grid_14{width:820px}.container_16 .grid_15{width:880px}.container_12 .prefix_3,.container_16 .prefix_4{padding-left:240px}.container_12 .prefix_6,.container_16 .prefix_8{padding-left:480px}.container_12 .prefix_9,.container_16 .prefix_12{padding-left:720px}.container_12 .prefix_1{padding-left:80px}.container_12 .prefix_2{padding-left:160px}.container_12 .prefix_4{padding-left:320px}.container_12 .prefix_5{padding-left:400px}.container_12 .prefix_7{padding-left:560px}.container_12 .prefix_8{padding-left:640px}.container_12 .prefix_10{padding-left:800px}.container_12 .prefix_11{padding-left:880px}.container_16 .prefix_1{padding-left:60px}.container_16 .prefix_2{padding-left:120px}.container_16 .prefix_3{padding-left:180px}.container_16 .prefix_5{padding-left:300px}.container_16 .prefix_6{padding-left:360px}.container_16 .prefix_7{padding-left:420px}.container_16 .prefix_9{padding-left:540px}.container_16 .prefix_10{padding-left:600px}.container_16 .prefix_11{padding-left:660px}.container_16 .prefix_13{padding-left:780px}.container_16 .prefix_14{padding-left:840px}.container_16 .prefix_15{padding-left:900px}.container_12 .suffix_3,.container_16 .suffix_4{padding-right:240px}.container_12 .suffix_6,.container_16 .suffix_8{padding-right:480px}.container_12 .suffix_9,.container_16 .suffix_12{padding-right:720px}.container_12 .suffix_1{padding-right:80px}.container_12 .suffix_2{padding-right:160px}.container_12 .suffix_4{padding-right:320px}.container_12 .suffix_5{padding-right:400px}.container_12 .suffix_7{padding-right:560px}.container_12 .suffix_8{padding-right:640px}.container_12 .suffix_10{padding-right:800px}.container_12 .suffix_11{padding-right:880px}.container_16 .suffix_1{padding-right:60px}.container_16 .suffix_2{padding-right:120px}.container_16 .suffix_3{padding-right:180px}.container_16 .suffix_5{padding-right:300px}.container_16 .suffix_6{padding-right:360px}.container_16 .suffix_7{padding-right:420px}.container_16 .suffix_9{padding-right:540px}.container_16 .suffix_10{padding-right:600px}.container_16 .suffix_11{padding-right:660px}.container_16 .suffix_13{padding-right:780px}.container_16 .suffix_14{padding-right:840px}.container_16 .suffix_15{padding-right:900px}.container_12 .push_3,.container_16 .push_4{left:240px}.container_12 .push_6,.container_16 .push_8{left:480px}.container_12 .push_9,.container_16 .push_12{left:720px}.container_12 .push_1{left:80px}.container_12 .push_2{left:160px}.container_12 .push_4{left:320px}.container_12 .push_5{left:400px}.container_12 .push_7{left:560px}.container_12 .push_8{left:640px}.container_12 .push_10{left:800px}.container_12 .push_11{left:880px}.container_16 .push_1{left:60px}.container_16 .push_2{left:120px}.container_16 .push_3{left:180px}.container_16 .push_5{left:300px}.container_16 .push_6{left:360px}.container_16 .push_7{left:420px}.container_16 .push_9{left:540px}.container_16 .push_10{left:600px}.container_16 .push_11{left:660px}.container_16 .push_13{left:780px}.container_16 .push_14{left:840px}.container_16 .push_15{left:900px}.container_12 .pull_3,.container_16 .pull_4{left:-240px}.container_12 .pull_6,.container_16 .pull_8{left:-480px}.container_12 .pull_9,.container_16 .pull_12{left:-720px}.container_12 .pull_1{left:-80px}.container_12 .pull_2{left:-160px}.container_12 .pull_4{left:-320px}.container_12 .pull_5{left:-400px}.container_12 .pull_7{left:-560px}.container_12 .pull_8{left:-640px}.container_12 .pull_10{left:-800px}.container_12 .pull_11{left:-880px}.container_16 .pull_1{left:-60px}.container_16 .pull_2{left:-120px}.container_16 .pull_3{left:-180px}.container_16 .pull_5{left:-300px}.container_16 .pull_6{left:-360px}.container_16 .pull_7{left:-420px}.container_16 .pull_9{left:-540px}.container_16 .pull_10{left:-600px}.container_16 .pull_11{left:-660px}.container_16 .pull_13{left:-780px}.container_16 .pull_14{left:-840px}.container_16 .pull_15{left:-900px}.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:after{clear:both;content:' ';display:block;font-size:0;line-height:0;visibility:hidden;width:0;height:0}* html .clearfix,*:first-child+html .clearfix{zoom:1} \ No newline at end of file diff --git a/pages/pages_source/static/css/960gs/960_24_col.css b/pages/pages_source/static/css/960gs/960_24_col.css new file mode 100644 index 0000000..6d92fa7 --- /dev/null +++ b/pages/pages_source/static/css/960gs/960_24_col.css @@ -0,0 +1 @@ +.container_24{margin-left:auto;margin-right:auto;width:960px}.grid_1,.grid_2,.grid_3,.grid_4,.grid_5,.grid_6,.grid_7,.grid_8,.grid_9,.grid_10,.grid_11,.grid_12,.grid_13,.grid_14,.grid_15,.grid_16,.grid_17,.grid_18,.grid_19,.grid_20,.grid_21,.grid_22,.grid_23,.grid_24{display:inline;float:left;position:relative;margin-left:5px;margin-right:5px}.alpha{margin-left:0}.omega{margin-right:0}.container_24 .grid_1{width:30px}.container_24 .grid_2{width:70px}.container_24 .grid_3{width:110px}.container_24 .grid_4{width:150px}.container_24 .grid_5{width:190px}.container_24 .grid_6{width:230px}.container_24 .grid_7{width:270px}.container_24 .grid_8{width:310px}.container_24 .grid_9{width:350px}.container_24 .grid_10{width:390px}.container_24 .grid_11{width:430px}.container_24 .grid_12{width:470px}.container_24 .grid_13{width:510px}.container_24 .grid_14{width:550px}.container_24 .grid_15{width:590px}.container_24 .grid_16{width:630px}.container_24 .grid_17{width:670px}.container_24 .grid_18{width:710px}.container_24 .grid_19{width:750px}.container_24 .grid_20{width:790px}.container_24 .grid_21{width:830px}.container_24 .grid_22{width:870px}.container_24 .grid_23{width:910px}.container_24 .grid_24{width:950px}.container_24 .prefix_1{padding-left:40px}.container_24 .prefix_2{padding-left:80px}.container_24 .prefix_3{padding-left:120px}.container_24 .prefix_4{padding-left:160px}.container_24 .prefix_5{padding-left:200px}.container_24 .prefix_6{padding-left:240px}.container_24 .prefix_7{padding-left:280px}.container_24 .prefix_8{padding-left:320px}.container_24 .prefix_9{padding-left:360px}.container_24 .prefix_10{padding-left:400px}.container_24 .prefix_11{padding-left:440px}.container_24 .prefix_12{padding-left:480px}.container_24 .prefix_13{padding-left:520px}.container_24 .prefix_14{padding-left:560px}.container_24 .prefix_15{padding-left:600px}.container_24 .prefix_16{padding-left:640px}.container_24 .prefix_17{padding-left:680px}.container_24 .prefix_18{padding-left:720px}.container_24 .prefix_19{padding-left:760px}.container_24 .prefix_20{padding-left:800px}.container_24 .prefix_21{padding-left:840px}.container_24 .prefix_22{padding-left:880px}.container_24 .prefix_23{padding-left:920px}.container_24 .suffix_1{padding-right:40px}.container_24 .suffix_2{padding-right:80px}.container_24 .suffix_3{padding-right:120px}.container_24 .suffix_4{padding-right:160px}.container_24 .suffix_5{padding-right:200px}.container_24 .suffix_6{padding-right:240px}.container_24 .suffix_7{padding-right:280px}.container_24 .suffix_8{padding-right:320px}.container_24 .suffix_9{padding-right:360px}.container_24 .suffix_10{padding-right:400px}.container_24 .suffix_11{padding-right:440px}.container_24 .suffix_12{padding-right:480px}.container_24 .suffix_13{padding-right:520px}.container_24 .suffix_14{padding-right:560px}.container_24 .suffix_15{padding-right:600px}.container_24 .suffix_16{padding-right:640px}.container_24 .suffix_17{padding-right:680px}.container_24 .suffix_18{padding-right:720px}.container_24 .suffix_19{padding-right:760px}.container_24 .suffix_20{padding-right:800px}.container_24 .suffix_21{padding-right:840px}.container_24 .suffix_22{padding-right:880px}.container_24 .suffix_23{padding-right:920px}.container_24 .push_1{left:40px}.container_24 .push_2{left:80px}.container_24 .push_3{left:120px}.container_24 .push_4{left:160px}.container_24 .push_5{left:200px}.container_24 .push_6{left:240px}.container_24 .push_7{left:280px}.container_24 .push_8{left:320px}.container_24 .push_9{left:360px}.container_24 .push_10{left:400px}.container_24 .push_11{left:440px}.container_24 .push_12{left:480px}.container_24 .push_13{left:520px}.container_24 .push_14{left:560px}.container_24 .push_15{left:600px}.container_24 .push_16{left:640px}.container_24 .push_17{left:680px}.container_24 .push_18{left:720px}.container_24 .push_19{left:760px}.container_24 .push_20{left:800px}.container_24 .push_21{left:840px}.container_24 .push_22{left:880px}.container_24 .push_23{left:920px}.container_24 .pull_1{left:-40px}.container_24 .pull_2{left:-80px}.container_24 .pull_3{left:-120px}.container_24 .pull_4{left:-160px}.container_24 .pull_5{left:-200px}.container_24 .pull_6{left:-240px}.container_24 .pull_7{left:-280px}.container_24 .pull_8{left:-320px}.container_24 .pull_9{left:-360px}.container_24 .pull_10{left:-400px}.container_24 .pull_11{left:-440px}.container_24 .pull_12{left:-480px}.container_24 .pull_13{left:-520px}.container_24 .pull_14{left:-560px}.container_24 .pull_15{left:-600px}.container_24 .pull_16{left:-640px}.container_24 .pull_17{left:-680px}.container_24 .pull_18{left:-720px}.container_24 .pull_19{left:-760px}.container_24 .pull_20{left:-800px}.container_24 .pull_21{left:-840px}.container_24 .pull_22{left:-880px}.container_24 .pull_23{left:-920px}.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:after{clear:both;content:' ';display:block;font-size:0;line-height:0;visibility:hidden;width:0;height:0}* html .clearfix,*:first-child+html .clearfix{zoom:1} \ No newline at end of file diff --git a/pages/pages_source/static/css/960gs/reset.css b/pages/pages_source/static/css/960gs/reset.css new file mode 100644 index 0000000..99a0211 --- /dev/null +++ b/pages/pages_source/static/css/960gs/reset.css @@ -0,0 +1 @@ +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outline:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0} \ No newline at end of file diff --git a/pages/pages_source/static/css/960gs/text.css b/pages/pages_source/static/css/960gs/text.css new file mode 100644 index 0000000..f37d174 --- /dev/null +++ b/pages/pages_source/static/css/960gs/text.css @@ -0,0 +1 @@ +body{font:13px/1.5 'Helvetica Neue',Arial,'Liberation Sans',FreeSans,sans-serif}a:focus{outline:1px dotted}hr{border:0 #ccc solid;border-top-width:1px;clear:both;height:0}h1{font-size:25px}h2{font-size:23px}h3{font-size:21px}h4{font-size:19px}h5{font-size:17px}h6{font-size:15px}ol{list-style:decimal}ul{list-style:disc}li{margin-left:30px}p,dl,hr,h1,h2,h3,h4,h5,h6,ol,ul,pre,table,address,fieldset{margin-bottom:20px} \ No newline at end of file diff --git a/pages/pages_source/static/css/pygments.css b/pages/pages_source/static/css/pygments.css new file mode 100644 index 0000000..e89794f --- /dev/null +++ b/pages/pages_source/static/css/pygments.css @@ -0,0 +1,62 @@ +code .hll { background-color: #ffffcc } +code { background: #ffffff; } +code .c { color: #808080 } /* Comment */ +code .err { color: #F00000; background-color: #F0A0A0 } /* Error */ +code .k { color: #008000; font-weight: bold } /* Keyword */ +code .o { color: #303030 } /* Operator */ +code .cm { color: #808080 } /* Comment.Multiline */ +code .cp { color: #507090 } /* Comment.Preproc */ +code .c1 { color: #808080 } /* Comment.Single */ +code .cs { color: #cc0000; font-weight: bold } /* Comment.Special */ +code .gd { color: #A00000 } /* Generic.Deleted */ +code .ge { font-style: italic } /* Generic.Emph */ +code .gr { color: #FF0000 } /* Generic.Error */ +code .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +code .gi { color: #00A000 } /* Generic.Inserted */ +code .go { color: #808080 } /* Generic.Output */ +code .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ +code .gs { font-weight: bold } /* Generic.Strong */ +code .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +code .gt { color: #0040D0 } /* Generic.Traceback */ +code .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +code .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +code .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +code .kp { color: #003080; font-weight: bold } /* Keyword.Pseudo */ +code .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +code .kt { color: #303090; font-weight: bold } /* Keyword.Type */ +code .m { color: #6000E0; font-weight: bold } /* Literal.Number */ +code .s { background-color: #fff0f0 } /* Literal.String */ +code .na { color: #0000C0 } /* Name.Attribute */ +code .nb { color: #007020 } /* Name.Builtin */ +code .nc { color: #B00060; font-weight: bold } /* Name.Class */ +code .no { color: #003060; font-weight: bold } /* Name.Constant */ +code .nd { color: #505050; font-weight: bold } /* Name.Decorator */ +code .ni { color: #800000; font-weight: bold } /* Name.Entity */ +code .ne { color: #F00000; font-weight: bold } /* Name.Exception */ +code .nf { color: #0060B0; font-weight: bold } /* Name.Function */ +code .nl { color: #907000; font-weight: bold } /* Name.Label */ +code .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ +code .nt { color: #007000 } /* Name.Tag */ +code .nv { color: #906030 } /* Name.Variable */ +code .ow { color: #000000; font-weight: bold } /* Operator.Word */ +code .w { color: #bbbbbb } /* Text.Whitespace */ +code .mf { color: #6000E0; font-weight: bold } /* Literal.Number.Float */ +code .mh { color: #005080; font-weight: bold } /* Literal.Number.Hex */ +code .mi { color: #0000D0; font-weight: bold } /* Literal.Number.Integer */ +code .mo { color: #4000E0; font-weight: bold } /* Literal.Number.Oct */ +code .sb { background-color: #fff0f0 } /* Literal.String.Backtick */ +code .sc { color: #0040D0 } /* Literal.String.Char */ +code .sd { color: #D04020 } /* Literal.String.Doc */ +code .s2 { background-color: #fff0f0 } /* Literal.String.Double */ +code .se { color: #606060; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */ +code .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */ +code .si { background-color: #e0e0e0 } /* Literal.String.Interpol */ +code .sx { color: #D02000; background-color: #fff0f0 } /* Literal.String.Other */ +code .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */ +code .s1 { background-color: #fff0f0 } /* Literal.String.Single */ +code .ss { color: #A06000 } /* Literal.String.Symbol */ +code .bp { color: #007020 } /* Name.Builtin.Pseudo */ +code .vc { color: #306090 } /* Name.Variable.Class */ +code .vg { color: #d07000; font-weight: bold } /* Name.Variable.Global */ +code .vi { color: #3030B0 } /* Name.Variable.Instance */ +code .il { color: #0000D0; font-weight: bold } /* Literal.Number.Integer.Long */ diff --git a/pages/pages_source/static/css/screen.css b/pages/pages_source/static/css/screen.css new file mode 100644 index 0000000..5a08a87 --- /dev/null +++ b/pages/pages_source/static/css/screen.css @@ -0,0 +1,152 @@ +@import url("960gs/960.css"); + +/* http://www.levien.com/type/myfonts/inconsolata.html */ +@font-face +{ + font-family: "inconsolata"; + src: url("../fonts/inconsolata.otf"); +} + +@font-face +{ + font-family: "droid sans"; + src: url("../fonts/droidsans.ttf"); +} +@font-face +{ + font-family: "droid sans bold"; + src: url("../fonts/droidsans-bold.ttf"); +} +body +{ + color:#333; + font-family: helvetica, arial, sans-serif; + font-size:87.5%; /* 16px * 0.875 = 14px */ + line-height: 137.5%; /* 16px * 1.375 = 22px */ +} +a +{ + color: #55862e; + text-decoration: none; + border-bottom: solid 1px #3030a2; +} +a:hover +{ + text-decoration: none; + border-bottom: 0; +} + +a:visited{ + color: #777; + border-bottom: solid 1px #ccc; +} + +h1, h2, h3, h4, h5, h6 +{ + color: #000; +} +h1, h2, h3 +{ + font-family: "droid sans", helvetica, arial, sans-serif; +} + +h4, h5, h6 +{ + font-family: "droid sans bold", helvetica, arial, sans-serif; +} + +h1 +{ + font-size: 150.0%; +} +h2 +{ + font-size: 137.5%; +} +h3 +{ + font-size: 125.0%; +} +h4 +{ + font-size: 112.5%; +} +h5, h6{ + font-size: 100%; +} + +pre,code +{ + font-family: "inconsolata", monospace; + /* font-size: 1.142em; */ +} + +pre { + border-left: 2px solid #55862e; + padding-left: 1em; +} + +.noul +{ + border-bottom: 0; + text-decoration: none; +} + +img { + border: 0; +} + +img.screenshot { + padding-left: 35px; + padding-right: 10px; +} + +header, footer +{ + display: block; + padding: .1em 0; +} + + +header h1{ + font-size:1.142em; +} + +header h1 a, header h1 a:visited +{ + color:#55862e; + text-decoration: none; + border-bottom: none; +} + +footer{ + margin-top:1em; + border-top: solid 3px #ccc; +} + +footer img { + vertical-align: middle; + height: 59px; +} +.twtr-widget a, +.twtr-widget a:visited, +footer a, +footer a:visited { + border-bottom: none; +} + +ul.posts +{ + list-style-type: none; +} + +nav { + margin-bottom: 25px; +} + +table { border-collapse: collapse; width: 100% } +table th, table td { border: 1px solid #aaa; padding: .2em; } +table td { white-space:nowrap; } +#standalone-downloads td { font-family: monospace; } +#standalone-downloads td.sha { font-size: 0.8em; } +#standalone-downloads .rc td { background-color: #ddd; } diff --git a/pages/pages_source/static/favicon.ico b/pages/pages_source/static/favicon.ico new file mode 100644 index 0000000..e69de29 diff --git a/pages/pages_source/static/images/jasmine_logo.png b/pages/pages_source/static/images/jasmine_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9ffc5a034f04a11cb1eafc3e5fb6556932a7d8ac GIT binary patch literal 4980 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 wkXu8HFQ7O=WL+{~?(v8s#K0|5-ib%7 literal 0 HcmV?d00001 diff --git a/pages/src/stylesheets/screen.sass b/pages/src/stylesheets/screen.sass new file mode 100644 index 0000000..74bf16e --- /dev/null +++ b/pages/src/stylesheets/screen.sass @@ -0,0 +1,4 @@ +body + font: + family: Verdana + size: 10pt \ No newline at end of file diff --git a/pages/stylesheets/screen.css b/pages/stylesheets/screen.css new file mode 100644 index 0000000..a6b7f5b --- /dev/null +++ b/pages/stylesheets/screen.css @@ -0,0 +1,5 @@ +/* line 1 */ +body { + font-family: Verdana; + font-size: 10pt; +}