test_squad 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +28 -8
- data/Rakefile +1 -0
- data/lib/generators/test_squad/install/install_generator.rb +92 -62
- data/lib/generators/test_squad/install/templates/test_squad.rb.erb +24 -1
- data/lib/tasks/test_squad_tasks.rake +7 -35
- data/lib/test_squad.rb +8 -7
- data/lib/test_squad/configuration.rb +65 -0
- data/lib/test_squad/runner.rb +58 -0
- data/lib/test_squad/version.rb +1 -1
- data/phantomjs/helpers.js +8 -1
- data/phantomjs/runner.js +39 -13
- data/test/controllers/test_squad_controller_test.rb +50 -0
- data/test/dummy/log/test.log +2161 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/--Jr18gSi0dWQfX8IpGoxIeyt0ar6Z4qNtYBzt5o_U0.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/15vEz7HBqhg9JjDp9KyF_iFJ9DOccQCaj2XecY7ENdw.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/1bShYtup0I7zDOa8whDdypfQEZxH4rVEVKmz8aeDuS0.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/1fidLos4TsMC1Jzat66F4EuJMnvA4Ek4Yq3Wx_diqLA.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/1p035rqBDJG2S9jFXm8UVt4XiETe3l4TsAshRjkfgJU.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/28dNMvxD5YFKVJdljn6gcuwnJaQGlzKN1B_uJwfpWAQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/48aEVfcYY6MwkyeeyUtk-udKX4sVI6wCzCoGdcrXoHE.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/4oXbqlOtQXa7YIXA7S4jJT8mAZdpoSJ2oX9kXMr9Ouw.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/5BbgAT98H6HVF2DtEaZeL3jSwsvFzHkl6-vwuQ1UoGQ.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/6Y-2fFELXy514cZ-fXlvcoKlvvCMCHgIZ_Q06PZoMsg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/7yaZL2RIxe_zCwIWBeGtIKMbQQcvZU1Rvt1sfZGpAcY.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/BNfX-jq9S00e7dFjTRaWBt2BNThtsO0_vKQiBGYmus8.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/BT2K9suBmG7JzM_3FoJ5mpH8wti3_Phlsl7X-8nut_A.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/BY7dYj9QBZDvgqyzjw19Cs4S7rhvgaB6Tx-3ByAfR1o.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/BkUiqZe-edco2CWEnwq71RR7OlncirMqtHSAXxRiS58.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/CI3wmSM2mvTHVtxrm8aAXPicSU_UPT54tEsOxoL8674.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/CcqHY0ztO4n-nBK-XGEP6h0DrL6x2A0G_MXIYfLdOAc.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/DOjJwX_4kbLug1vCo5qKu8WhGWrlS3CO5ueJcLwHAiw.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Dj11DIpk6AMooko4HIrIRLle_Pku6Z3wm6JGkv6tQhY.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Dld2HJ_h197OmHkWuEk-msUaZ5dF27-KHGDNE37nJ94.cache +4 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/DnkprrM0pXn0tWZjZQUbxw9czuz9Eqc3qXokFvQPADk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/EvacufxhwsfPRuHbaKUtaE49aNAI6zySGzBX6QZ46fU.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/FXjOrhU0u21QlvjYFb8z9MZGZc39etPqywbESQ0wYWI.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/JlEfkGFQp4-hMkyCydaWpBH-k7TRHDnWVO4UICTABdE.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/JuyiNe16-3iPuyN77g0yLMm0Q4Yha01pWdNSfnYVfNE.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/JylXKmnNAPjfcYjj1jraIxmw8aRPbZ3LoWTzewaMHPU.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/MK8k0x0C6Wxn0o4iqysgqSy-vz5Ol5PWtsPh2uT8aRE.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/N8yUPpqki-1jUIftlMUzksb-3ImtAXdo0HK0yogXp98.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/NBnLLGZS0L0-K0XDp8wPfKEbULh0IdSnEnq5My6uLsg.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/NYqEn9nriI_u_tmIhqigPcBG-xaL_4DNAXcZZedduxo.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/NiaLRSbNa312S2yLs6OK99DsCk-OK5_WVSP5vlohbrU.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/O8AdQ9KuR_WslT3OMU_CB_XmZPkD3koya8_y3D1vQSg.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/OOE0vr9ZxtP3cSlMNmlKreGc5OdJjjZeAulus5KkgWg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/SVj7Xea5NdHsDZVgKDO33zwoRmPu8dsPEPUc--ZoSBA.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/UWG7vqp9QHDXQ8K7rWHxSLtTJjgpwAXa0VQeMC79S9c.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/UYzP9BM42aDQbQL2Hwzu7E_VjzmKRMEDUMn_YNwYJZQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/V04j3gLzI35tOG8HB1FQnZC0FkgXNiVo6CFAKe-vm08.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/W90wLqYLEL21UhoMzunmDZagcl_J-waowL_syTXFTfg.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/WRplQSvSLBRFE4SnNgUTaqjaD6QcugFgemVGJl-TcH0.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/XZHJ4q_Vqm8z67XoLCSR9Bf3bxRrNVgxY-Zn2Dl1_oc.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZpLasZgWCtI5ARba6j0TztDVBfvefbN_VeEm6WS4AlE.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/_ml2aIb-f7tzJpo9MTCAldaDVHqHn89WTB9ZmCoAVHI.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/bakkhKWQav5zpy-VjOssp_XTDY4mccVjeCQjmTWcvEQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/bqgbepkpHrkLsvcws1h6NEku20i6s1HNfRwUf3ds_bM.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/btifyRUVKrnuNOyCfHPRBE_b4IHXPAs-gwaNEtZNqR4.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/eBHGAOFSIHdU3R6gC__U1b2OtNaMsdZ8M6kKd6rX3uA.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ez1f_nTzpCVZp99l-TSKf5mnDr-FNT0AuA40By6h7nU.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/fOMwhE_LoK6PBz43rr86imRHqStpfn-j0zKwNCEFA7A.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/fk0Xn9aqGZauDCUL4PDM1A0riiRU3nTGEF8T0tfVi9Q.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/g6PEU0mrTD1F_JY1UnmLjn6OD29tp6XAa7CRxtbnssU.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/k9vjsOgT-S2u8LSPksFS2VZO5JJYQB1kOSOfkmBmncA.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/kB1DR3T5YiVkiJ5JQAjwNFNLjKoCrBWbjHzmUWQxwuE.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/l-Fy5bdFTh-kc8fFcJaPEiIprPT_Zro3btmmfaOSFGk.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/lk8cNS9qlZOFztN2ZtkUuLMG5il9UFV_6L9mzl0gJgs.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/lurwEsNalR_pkE6uX047tDOvODA4-5i3gDIrHi_4sWU.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/m4xIJn-Zz18i6rjvKkARjTE_Ogb7Y33Z1d1dkpwjIqc.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/mwqO_5fkZLqyQ6yJZPYvfEasJmaJTDBUxg0WMRs1qb8.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/nv2dwJTpEmjPq5nrQ5gYwOUkAdhKxPmwxfhzuIGq9tc.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/o_4WHxITiPaOrX75j567d0VpQJ3ibKEfwp5kLyz0g6I.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/pH8BdTuZBGfdsHebnGCXW4xKlDq20EJYTXXWDQ4pwF8.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/pfueHOXdqh2SVlAKfvEFrdhOpobUofsH-rxLMv9HeAo.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/qGl34xE7nyT_5bv_0LdftjhOhWqeaUsSD8RRR5e2LhE.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/r16KTswcSzCfPAeYpPsI3pB60v7bXkXdzIC9F0depbo.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/s1qM0DtayvbvOieVFIeEejbL_uzBbLhdJt4J-eDdfVs.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/sKmQ0vmdki8bEnqnNv5R6SxInKZ3wr6OYKZso5pK3A8.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/t3Llqx0uA6Qvi3W3tzxEvd6vCx1bNDEaOx3cv3jk7F8.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/t4CSlKWlnNjWc4HjzVuGu_xkGPJrf2XDT_z36WqPW10.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/tTT_rRtFLpee6FOwJBDH0h8tFNayUZozM9CRDjxh_0M.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/uEbg-8OHCY_n1CRoUJ1NxO7ZA25rem-WvK_BMk9nzmA.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/uhmMX7shFPI0NOePr7b3mCW2lOWT4osZ3sovJVlPyek.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/vRHlJJvzk-cVDuhS4H0cS0JQ4XQxPvzCLHSuDSsBABY.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/xqI5M8GTfQOT1WzlvBIaK6SBF84-BkQ162gE8xJibGY.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/y1-icrLhuhHxxsTl1oMCwvaQljaPTUg8pGKp4ktBmHk.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/yLDP63LRuXDtsRtf-U1w7iwCLO6TN0XaagOFr7ZMgJc.cache +3 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/01201a5597c67fa4700f373e24e47cc0 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/087c6a74e34024016056782770f67751 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/0e0ce4a8684bd87eafc0db448ee74990 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/0e6aec2a845fd340ec76abec275415f8 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/13096efe03b0d8f02b0f492ee46f8498 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/21822855ec5066372f2708fcc72bc18a +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/29369685706447987989cf495e746507 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/32e8c6b5f20fbc62c2c377ce3fd7d093 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/42b2a14b671c8f56aa1808a5ba8599e3 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/5254c3aa24743307528db89892e34ce7 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/54aa66a560f82535d5aff8761aa61689 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/55edadf6cfe27ddb6130791f7cb794c2 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/5b781f9fca11e70f837e07e3e9446a2d +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/60323fc3606b2c2ae59ff65886e957ef +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/63196e522f128686f2b1873406c06638 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/6d0f2dbd46d4ae67621d5544e74f789a +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/6e05ee0c7bd8a56e0aa68e9981b874c4 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/7874191c45ca716229829e331bbb6657 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/7faca529de077394ba9cccf0f936bad1 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/98ad9eb574ed821f48f81b41bcd9639f +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/991ff1c9e66557b891934a625e493439 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/9e0d5d4b56b478a2801215373bac8932 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/c95208cba67d830cebbbcb8c049d45d1 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/c9bd74b86a038dcdd4436a8dcf03041c +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/cf932323f346664ed0c3dd4af9a426f3 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/ec868f5486b890ab315724a887be51fc +0 -0
- data/test/dummy/tmp/generators/Gemfile +8 -0
- data/test/dummy/tmp/generators/test/javascript/dummy/answer_spec.js +6 -0
- data/test/dummy/tmp/generators/test/javascript/spec_helper.js +12 -0
- data/test/dummy/tmp/generators/test/javascript/test_squad.rb +28 -0
- data/test/lib/generators/test_squad/install_generator/ember_test.rb +48 -0
- data/test/lib/generators/test_squad/install_generator/jasmine_test.rb +44 -0
- data/test/lib/generators/test_squad/install_generator/mocha_test.rb +45 -0
- data/test/lib/generators/test_squad/install_generator/qunit_test.rb +44 -0
- data/test/lib/generators/test_squad/install_generator_test.rb +40 -0
- data/test/lib/test_squad/configuration_test.rb +68 -0
- data/test/lib/test_squad/runner_test.rb +66 -0
- data/test/test_helper.rb +10 -2
- data/test/test_squad_test.rb +1 -1
- data/vendor/assets/libs/jasmine/boot.js +2 -1
- data/vendor/assets/libs/jasmine/console.js +1 -1
- data/vendor/assets/libs/jasmine/jasmine-html.js +17 -5
- data/vendor/assets/libs/jasmine/jasmine.css +10 -10
- data/vendor/assets/libs/jasmine/jasmine.js +295 -155
- metadata +278 -9
- data/lib/terminal.png +0 -0
- data/test/integration/navigation_test.rb +0 -9
- data/test/lib/generators/squad/install_generator_test.rb +0 -14
@@ -0,0 +1,44 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
require "generators/test_squad/install/install_generator"
|
3
|
+
|
4
|
+
class TestSquadJasmineTest < Rails::Generators::TestCase
|
5
|
+
tests TestSquad::InstallGenerator
|
6
|
+
destination Rails.root.join("tmp/generators")
|
7
|
+
setup :prepare_destination
|
8
|
+
|
9
|
+
setup do
|
10
|
+
@destination_root = self.class.destination_root
|
11
|
+
@gemfile_path = @destination_root.join("Gemfile").to_s
|
12
|
+
FileUtils.rm_rf(@gemfile_path)
|
13
|
+
FileUtils.touch(@gemfile_path)
|
14
|
+
end
|
15
|
+
|
16
|
+
teardown do
|
17
|
+
FileUtils.rm_rf Rails.root.join("spec")
|
18
|
+
end
|
19
|
+
|
20
|
+
test "skip rails assets source" do
|
21
|
+
run_generator %w[--framework jasmine]
|
22
|
+
refute File.read(@gemfile_path).include?(%[source 'https://rails-assets.org'])
|
23
|
+
end
|
24
|
+
|
25
|
+
test "copy test_squad.rb" do
|
26
|
+
run_generator %w[--framework jasmine]
|
27
|
+
assert_file @destination_root.join("test/javascript/test_squad.rb"), /config.framework = "jasmine"/
|
28
|
+
end
|
29
|
+
|
30
|
+
test "create app dir" do
|
31
|
+
run_generator %w[--framework jasmine]
|
32
|
+
assert_directory @destination_root.join("test/javascript/dummy")
|
33
|
+
end
|
34
|
+
|
35
|
+
test "create spec helper file" do
|
36
|
+
run_generator %w[--framework jasmine]
|
37
|
+
assert_file @destination_root.join("test/javascript/spec_helper.js")
|
38
|
+
end
|
39
|
+
|
40
|
+
test "copy sample test file" do
|
41
|
+
run_generator %w[--framework jasmine]
|
42
|
+
assert_file @destination_root.join("test/javascript/dummy/answer_spec.js")
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
require "generators/test_squad/install/install_generator"
|
3
|
+
|
4
|
+
class TestSquadMochaTest < Rails::Generators::TestCase
|
5
|
+
tests TestSquad::InstallGenerator
|
6
|
+
destination Rails.root.join("tmp/generators")
|
7
|
+
setup :prepare_destination
|
8
|
+
|
9
|
+
setup do
|
10
|
+
@destination_root = self.class.destination_root
|
11
|
+
@gemfile_path = @destination_root.join("Gemfile").to_s
|
12
|
+
FileUtils.rm_rf(@gemfile_path)
|
13
|
+
FileUtils.touch(@gemfile_path)
|
14
|
+
end
|
15
|
+
|
16
|
+
teardown do
|
17
|
+
FileUtils.rm_rf Rails.root.join("spec")
|
18
|
+
end
|
19
|
+
|
20
|
+
test "copy test_squad.rb" do
|
21
|
+
run_generator %w[--framework mocha]
|
22
|
+
assert_file @destination_root.join("test/javascript/test_squad.rb"), /config.framework = "mocha"/
|
23
|
+
end
|
24
|
+
|
25
|
+
test "create app dir" do
|
26
|
+
run_generator %w[--framework mocha]
|
27
|
+
assert_directory @destination_root.join("test/javascript/dummy")
|
28
|
+
end
|
29
|
+
|
30
|
+
test "create spec helper file" do
|
31
|
+
run_generator %w[--framework mocha]
|
32
|
+
assert_file @destination_root.join("test/javascript/spec_helper.js")
|
33
|
+
end
|
34
|
+
|
35
|
+
test "copy sample test file" do
|
36
|
+
run_generator %w[--framework mocha]
|
37
|
+
assert_file @destination_root.join("test/javascript/dummy/answer_spec.js")
|
38
|
+
end
|
39
|
+
|
40
|
+
test "add gems" do
|
41
|
+
run_generator %w[--framework mocha]
|
42
|
+
assert_file @gemfile_path, /gem 'rails-assets-mocha'/
|
43
|
+
assert_file @gemfile_path, /gem 'rails-assets-expect'/
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
require "generators/test_squad/install/install_generator"
|
3
|
+
|
4
|
+
class TestSquadQunitTest < Rails::Generators::TestCase
|
5
|
+
tests TestSquad::InstallGenerator
|
6
|
+
destination Rails.root.join("tmp/generators")
|
7
|
+
setup :prepare_destination
|
8
|
+
|
9
|
+
setup do
|
10
|
+
@destination_root = self.class.destination_root
|
11
|
+
@gemfile_path = @destination_root.join("Gemfile").to_s
|
12
|
+
FileUtils.rm_rf(@gemfile_path)
|
13
|
+
FileUtils.touch(@gemfile_path)
|
14
|
+
end
|
15
|
+
|
16
|
+
teardown do
|
17
|
+
FileUtils.rm_rf Rails.root.join("spec")
|
18
|
+
end
|
19
|
+
|
20
|
+
test "copy test_squad.rb" do
|
21
|
+
run_generator %w[--framework qunit]
|
22
|
+
assert_file @destination_root.join("test/javascript/test_squad.rb"), /config.framework = "qunit"/
|
23
|
+
end
|
24
|
+
|
25
|
+
test "add gem" do
|
26
|
+
run_generator %w[--framework qunit]
|
27
|
+
assert_file @gemfile_path, /gem 'rails-assets-qunit'/
|
28
|
+
end
|
29
|
+
|
30
|
+
test "create app dir" do
|
31
|
+
run_generator %w[--framework qunit]
|
32
|
+
assert_directory @destination_root.join("test/javascript/dummy")
|
33
|
+
end
|
34
|
+
|
35
|
+
test "create test helper file" do
|
36
|
+
run_generator %w[--framework qunit]
|
37
|
+
assert_file @destination_root.join("test/javascript/test_helper.js")
|
38
|
+
end
|
39
|
+
|
40
|
+
test "copy sample test file" do
|
41
|
+
run_generator %w[--framework qunit]
|
42
|
+
assert_file @destination_root.join("test/javascript/dummy/answer_test.js")
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
require "generators/test_squad/install/install_generator"
|
3
|
+
|
4
|
+
class TestSquadInstallGeneratorTest < Rails::Generators::TestCase
|
5
|
+
tests TestSquad::InstallGenerator
|
6
|
+
destination Rails.root.join("tmp/generators")
|
7
|
+
setup :prepare_destination
|
8
|
+
|
9
|
+
setup do
|
10
|
+
@destination_root = self.class.destination_root
|
11
|
+
@gemfile_path = @destination_root.join("Gemfile").to_s
|
12
|
+
FileUtils.rm_rf(@gemfile_path)
|
13
|
+
FileUtils.touch(@gemfile_path)
|
14
|
+
end
|
15
|
+
|
16
|
+
teardown do
|
17
|
+
FileUtils.rm_rf Rails.root.join("spec")
|
18
|
+
end
|
19
|
+
|
20
|
+
test "detect spec directory" do
|
21
|
+
FileUtils.mkdir_p @destination_root.join("spec")
|
22
|
+
run_generator %w[--framework qunit]
|
23
|
+
assert_directory @destination_root.join("spec/javascript")
|
24
|
+
end
|
25
|
+
|
26
|
+
test "detect test directory" do
|
27
|
+
run_generator %w[--framework qunit]
|
28
|
+
assert_directory @destination_root.join("test/javascript")
|
29
|
+
end
|
30
|
+
|
31
|
+
test "add rails-assets.org source" do
|
32
|
+
run_generator %w[--framework qunit]
|
33
|
+
assert_file @gemfile_path, %r[source "https://rails-assets.org"]
|
34
|
+
end
|
35
|
+
|
36
|
+
test "skip source" do
|
37
|
+
run_generator %w[--framework qunit --skip-source]
|
38
|
+
refute File.read(@gemfile_path).match(%r[source "https://rails-assets.org"])
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
|
3
|
+
class TestSquadConfigurationTest < ActiveSupport::TestCase
|
4
|
+
def with_env(options, &block)
|
5
|
+
options.each do |name, value|
|
6
|
+
ENV[name] = value.to_s
|
7
|
+
end
|
8
|
+
|
9
|
+
yield
|
10
|
+
ensure
|
11
|
+
options.each do |name, _|
|
12
|
+
ENV.delete(name)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def assert_configuration(env_var, option_name, default_value)
|
17
|
+
assert_env_var(env_var, option_name)
|
18
|
+
assert_option_value(option_name)
|
19
|
+
assert_default_value(option_name, default_value)
|
20
|
+
end
|
21
|
+
|
22
|
+
def assert_env_var(env_var, option_name)
|
23
|
+
custom_value = "#{env_var}_CUSTOM_VALUE"
|
24
|
+
|
25
|
+
with_env(env_var => custom_value) do
|
26
|
+
assert_equal custom_value, @config.public_send(option_name)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def assert_option_value(option_name)
|
31
|
+
custom_value = "#{option_name}_custom_value"
|
32
|
+
@config.public_send("#{option_name}=", custom_value)
|
33
|
+
assert_equal custom_value, @config.public_send(option_name)
|
34
|
+
end
|
35
|
+
|
36
|
+
def assert_default_value(option_name, default_value)
|
37
|
+
@config.public_send("#{option_name}=", nil)
|
38
|
+
assert_equal default_value, @config.public_send(option_name)
|
39
|
+
end
|
40
|
+
|
41
|
+
setup do
|
42
|
+
@config = TestSquad::Configuration.new
|
43
|
+
end
|
44
|
+
|
45
|
+
test "phantomjs_bin option" do
|
46
|
+
assert_configuration "TEST_SQUAD_PHANTOMJS_BIN", "phantomjs_bin", "phantomjs"
|
47
|
+
end
|
48
|
+
|
49
|
+
test "server_host option" do
|
50
|
+
assert_configuration "TEST_SQUAD_SERVER_HOST", "server_host", "127.0.0.1"
|
51
|
+
end
|
52
|
+
|
53
|
+
test "server_port option" do
|
54
|
+
assert_configuration "TEST_SQUAD_SERVER_PORT", "server_port", 42424
|
55
|
+
end
|
56
|
+
|
57
|
+
test "server_path option" do
|
58
|
+
assert_configuration "TEST_SQUAD_SERVER_PATH", "server_path", "/tests"
|
59
|
+
end
|
60
|
+
|
61
|
+
test "timeout option" do
|
62
|
+
assert_configuration "TEST_SQUAD_TIMEOUT", "timeout", 10
|
63
|
+
end
|
64
|
+
|
65
|
+
test "server uri" do
|
66
|
+
assert_equal @config.server_uri, "http://127.0.0.1:42424/tests"
|
67
|
+
end
|
68
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
|
3
|
+
class TestSquadRunnerTest < ActiveSupport::TestCase
|
4
|
+
test "server adapter" do
|
5
|
+
server = TestSquad::Runner.new.app_server
|
6
|
+
assert_equal Rack::Handler::WEBrick, server
|
7
|
+
end
|
8
|
+
|
9
|
+
test "starts server" do
|
10
|
+
runner = TestSquad::Runner.new
|
11
|
+
config = runner.config
|
12
|
+
app_server = mock
|
13
|
+
app_server_options = {
|
14
|
+
Port: config.server_port,
|
15
|
+
Host: config.server_host,
|
16
|
+
Logger: runner.logger,
|
17
|
+
AccessLog: []
|
18
|
+
}
|
19
|
+
|
20
|
+
app_server
|
21
|
+
.expects(:run)
|
22
|
+
.with(Rails.application, app_server_options)
|
23
|
+
|
24
|
+
runner
|
25
|
+
.expects(:app_server)
|
26
|
+
.returns(app_server)
|
27
|
+
|
28
|
+
thread = runner.run_server
|
29
|
+
thread.join
|
30
|
+
thread.kill
|
31
|
+
end
|
32
|
+
|
33
|
+
test "execute tests" do
|
34
|
+
runner = TestSquad::Runner.new
|
35
|
+
config = runner.config
|
36
|
+
process_status = mock
|
37
|
+
calls = sequence("calls")
|
38
|
+
|
39
|
+
Open3.expects(:capture2)
|
40
|
+
.with(
|
41
|
+
config.phantomjs_bin,
|
42
|
+
runner.runner_script,
|
43
|
+
config.server_uri,
|
44
|
+
config.timeout.to_s
|
45
|
+
)
|
46
|
+
.returns(["OUTPUT", process_status])
|
47
|
+
.in_sequence(calls)
|
48
|
+
|
49
|
+
$stdout
|
50
|
+
.expects(:<<)
|
51
|
+
.with("OUTPUT")
|
52
|
+
.in_sequence(calls)
|
53
|
+
|
54
|
+
process_status
|
55
|
+
.expects(:exitstatus)
|
56
|
+
.returns(1234)
|
57
|
+
.in_sequence(calls)
|
58
|
+
|
59
|
+
runner
|
60
|
+
.expects(:exit)
|
61
|
+
.with(1234)
|
62
|
+
.in_sequence(calls)
|
63
|
+
|
64
|
+
runner.run_tests
|
65
|
+
end
|
66
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -1,8 +1,16 @@
|
|
1
|
+
# Set up Codeclimate.
|
2
|
+
require "codeclimate-test-reporter"
|
3
|
+
CodeClimate::TestReporter.start
|
4
|
+
|
1
5
|
# Configure Rails Environment
|
2
6
|
ENV["RAILS_ENV"] = "test"
|
3
|
-
|
4
|
-
require File.expand_path("../../test/dummy/config/environment.rb",
|
7
|
+
ENV["BUNDLE_GEMFILE"] = File.expand_path("../../Gemfile", __FILE__)
|
8
|
+
require File.expand_path("../../test/dummy/config/environment.rb", __FILE__)
|
5
9
|
require "rails/test_help"
|
10
|
+
require "mocha"
|
11
|
+
require "mocha/mini_test"
|
12
|
+
require "minitest/utils"
|
13
|
+
require "minitest/autorun"
|
6
14
|
|
7
15
|
# Filter out Minitest backtrace while allowing backtrace from other libraries
|
8
16
|
# to be shown.
|
data/test/test_squad_test.rb
CHANGED
@@ -62,7 +62,8 @@
|
|
62
62
|
*/
|
63
63
|
var htmlReporter = new jasmine.HtmlReporter({
|
64
64
|
env: env,
|
65
|
-
onRaiseExceptionsClick: function() { queryString.
|
65
|
+
onRaiseExceptionsClick: function() { queryString.navigateWithNewParam("catch", !env.catchingExceptions()); },
|
66
|
+
addToExistingQueryString: function(key, value) { return queryString.fullStringWithNewParam(key, value); },
|
66
67
|
getContainer: function() { return document.body; },
|
67
68
|
createElement: function() { return document.createElement.apply(document, arguments); },
|
68
69
|
createTextNode: function() { return document.createTextNode.apply(document, arguments); },
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
Copyright (c) 2008-
|
2
|
+
Copyright (c) 2008-2015 Pivotal Labs
|
3
3
|
|
4
4
|
Permission is hereby granted, free of charge, to any person obtaining
|
5
5
|
a copy of this software and associated documentation files (the
|
@@ -40,6 +40,7 @@ jasmineRequire.HtmlReporter = function(j$) {
|
|
40
40
|
createElement = options.createElement,
|
41
41
|
createTextNode = options.createTextNode,
|
42
42
|
onRaiseExceptionsClick = options.onRaiseExceptionsClick || function() {},
|
43
|
+
addToExistingQueryString = options.addToExistingQueryString || defaultQueryString,
|
43
44
|
timer = options.timer || noopTimer,
|
44
45
|
results = [],
|
45
46
|
specsExecuted = 0,
|
@@ -220,6 +221,9 @@ jasmineRequire.HtmlReporter = function(j$) {
|
|
220
221
|
if(noExpectations(resultNode.result)) {
|
221
222
|
specDescription = 'SPEC HAS NO EXPECTATIONS ' + specDescription;
|
222
223
|
}
|
224
|
+
if(resultNode.result.status === 'pending' && resultNode.result.pendingReason !== '') {
|
225
|
+
specDescription = specDescription + ' PENDING WITH MESSAGE: ' + resultNode.result.pendingReason;
|
226
|
+
}
|
223
227
|
specListNode.appendChild(
|
224
228
|
createDom('li', {
|
225
229
|
className: resultNode.result.status,
|
@@ -267,7 +271,7 @@ jasmineRequire.HtmlReporter = function(j$) {
|
|
267
271
|
function clearPrior() {
|
268
272
|
// return the reporter
|
269
273
|
var oldReporter = find('');
|
270
|
-
|
274
|
+
|
271
275
|
if(oldReporter) {
|
272
276
|
getContainer().removeChild(oldReporter);
|
273
277
|
}
|
@@ -306,7 +310,11 @@ jasmineRequire.HtmlReporter = function(j$) {
|
|
306
310
|
}
|
307
311
|
|
308
312
|
function specHref(result) {
|
309
|
-
return '
|
313
|
+
return addToExistingQueryString('spec', result.fullName);
|
314
|
+
}
|
315
|
+
|
316
|
+
function defaultQueryString(key, value) {
|
317
|
+
return '?' + key + '=' + value;
|
310
318
|
}
|
311
319
|
|
312
320
|
function setMenuModeTo(mode) {
|
@@ -358,10 +366,14 @@ jasmineRequire.ResultsNode = function() {
|
|
358
366
|
jasmineRequire.QueryString = function() {
|
359
367
|
function QueryString(options) {
|
360
368
|
|
361
|
-
this.
|
369
|
+
this.navigateWithNewParam = function(key, value) {
|
370
|
+
options.getWindowLocation().search = this.fullStringWithNewParam(key, value);
|
371
|
+
};
|
372
|
+
|
373
|
+
this.fullStringWithNewParam = function(key, value) {
|
362
374
|
var paramMap = queryStringToParamMap();
|
363
375
|
paramMap[key] = value;
|
364
|
-
|
376
|
+
return toQueryString(paramMap);
|
365
377
|
};
|
366
378
|
|
367
379
|
this.getParam = function(key) {
|
@@ -1,18 +1,18 @@
|
|
1
1
|
body { overflow-y: scroll; }
|
2
2
|
|
3
|
-
.jasmine_html-reporter { background-color: #
|
3
|
+
.jasmine_html-reporter { background-color: #eee; padding: 5px; margin: -8px; font-size: 11px; font-family: Monaco, "Lucida Console", monospace; line-height: 14px; color: #333; }
|
4
4
|
.jasmine_html-reporter a { text-decoration: none; }
|
5
5
|
.jasmine_html-reporter a:hover { text-decoration: underline; }
|
6
6
|
.jasmine_html-reporter p, .jasmine_html-reporter h1, .jasmine_html-reporter h2, .jasmine_html-reporter h3, .jasmine_html-reporter h4, .jasmine_html-reporter h5, .jasmine_html-reporter h6 { margin: 0; line-height: 14px; }
|
7
7
|
.jasmine_html-reporter .banner, .jasmine_html-reporter .symbol-summary, .jasmine_html-reporter .summary, .jasmine_html-reporter .result-message, .jasmine_html-reporter .spec .description, .jasmine_html-reporter .spec-detail .description, .jasmine_html-reporter .alert .bar, .jasmine_html-reporter .stack-trace { padding-left: 9px; padding-right: 9px; }
|
8
8
|
.jasmine_html-reporter .banner { position: relative; }
|
9
|
-
.jasmine_html-reporter .banner .title { background: url('data:image/png;base64,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') no-repeat; background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmVyc2lvbj0iMS4xIgogICB3aWR0aD0iNjgxLjk2MjUyIgogICBoZWlnaHQ9IjE4Ny41IgogICBpZD0ic3ZnMiIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhOCI+PHJkZjpSREY+PGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPjxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PjxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz48L2NjOldvcms+PC9yZGY6UkRGPjwvbWV0YWRhdGE+PGRlZnMKICAgICBpZD0iZGVmczYiPjxjbGlwUGF0aAogICAgICAgaWQ9ImNsaXBQYXRoMTgiPjxwYXRoCiAgICAgICAgIGQ9Ik0gMCwxNTAwIDAsMCBsIDU0NTUuNzQsMCAwLDE1MDAgTCAwLDE1MDAgeiIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgaWQ9InBhdGgyMCIgLz48L2NsaXBQYXRoPjwvZGVmcz48ZwogICAgIHRyYW5zZm9ybT0ibWF0cml4KDEuMjUsMCwwLC0xLjI1LDAsMTg3LjUpIgogICAgIGlkPSJnMTAiPjxnCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuMSwwLjEpIgogICAgICAgaWQ9ImcxMiI+PGcKICAgICAgICAgaWQ9ImcxNCI+PGcKICAgICAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxOCkiCiAgICAgICAgICAgaWQ9ImcxNiI+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMTU0NCw1OTkuNDM0IGMgMC45MiwtNDAuMzUyIDI1LjY4LC04MS42MDIgNzEuNTMsLTgxLjYwMiAyNy41MSwwIDQ3LjY4LDEyLjgzMiA2MS40NCwzNS43NTQgMTIuODMsMjIuOTMgMTIuODMsNTYuODUyIDEyLjgzLDgyLjUyNyBsIDAsMzI5LjE4NCAtNzEuNTIsMCAwLDEwNC41NDMgMjY2LjgzLDAgMCwtMTA0LjU0MyAtNzAuNiwwIDAsLTM0NC43NyBjIDAsLTU4LjY5MSAtMy42OCwtMTA0LjUzMSAtNDQuOTMsLTE1Mi4yMTggLTM2LjY4LC00Mi4xOCAtOTYuMjgsLTY2LjAyIC0xNTMuMTQsLTY2LjAyIC0xMTcuMzcsMCAtMjA3LjI0LDc3Ljk0MSAtMjAyLjY0LDE5Ny4xNDUgbCAxMzAuMiwwIgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMjIiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDIzMDEuNCw2NjIuNjk1IGMgMCw4MC43MDMgLTY2Ljk0LDE0NS44MTMgLTE0Ny42MywxNDUuODEzIC04My40NCwwIC0xNDcuNjMsLTY4Ljc4MSAtMTQ3LjYzLC0xNTEuMzAxIDAsLTc5Ljc4NSA2Ni45NCwtMTQ1LjgwMSAxNDUuOCwtMTQ1LjgwMSA4NC4zNSwwIDE0OS40Niw2Ny44NTIgMTQ5LjQ2LDE1MS4yODkgeiBtIC0xLjgzLC0xODEuNTQ3IGMgLTM1Ljc3LC01NC4wOTcgLTkzLjUzLC03OC44NTkgLTE1Ny43MiwtNzguODU5IC0xNDAuMywwIC0yNTEuMjQsMTE2LjQ0OSAtMjUxLjI0LDI1NC45MTggMCwxNDIuMTI5IDExMy43LDI2MC40MSAyNTYuNzQsMjYwLjQxIDYzLjI3LDAgMTE4LjI5LC0yOS4zMzYgMTUyLjIyLC04Mi41MjMgbCAwLDY5LjY4NyAxNzUuMTQsMCAwLC0xMDQuNTI3IC02MS40NCwwIDAsLTI4MC41OTggNjEuNDQsMCAwLC0xMDQuNTI3IC0xNzUuMTQsMCAwLDY2LjAxOSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDI0IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSAyNjIyLjMzLDU1Ny4yNTggYyAzLjY3LC00NC4wMTYgMzMuMDEsLTczLjM0OCA3OC44NiwtNzMuMzQ4IDMzLjkzLDAgNjYuOTMsMjMuODI0IDY2LjkzLDYwLjUwNCAwLDQ4LjYwNiAtNDUuODQsNTYuODU2IC04My40NCw2Ni45NDEgLTg1LjI4LDIyLjAwNCAtMTc4LjgxLDQ4LjYwNiAtMTc4LjgxLDE1NS44NzkgMCw5My41MzYgNzguODYsMTQ3LjYzMyAxNjUuOTgsMTQ3LjYzMyA0NCwwIDgzLjQzLC05LjE3NiAxMTAuOTQsLTQ0LjAwOCBsIDAsMzMuOTIyIDgyLjUzLDAgMCwtMTMyLjk2NSAtMTA4LjIxLDAgYyAtMS44MywzNC44NTYgLTI4LjQyLDU3Ljc3NCAtNjMuMjYsNTcuNzc0IC0zMC4yNiwwIC02Mi4zNSwtMTcuNDIyIC02Mi4zNSwtNTEuMzQ4IDAsLTQ1Ljg0NyA0NC45MywtNTUuOTMgODAuNjksLTY0LjE4IDg4LjAyLC0yMC4xNzUgMTgyLjQ3LC00Ny42OTUgMTgyLjQ3LC0xNTcuNzM0IDAsLTk5LjAyNyAtODMuNDQsLTE1NC4wMzkgLTE3NS4xMywtMTU0LjAzOSAtNDkuNTMsMCAtOTQuNDYsMTUuNTgyIC0xMjYuNTUsNTMuMTggbCAwLC00MC4zNCAtODUuMjcsMCAwLDE0Mi4xMjkgMTE0LjYyLDAiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGgyNiIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMjk4OC4xOCw4MDAuMjU0IC02My4yNiwwIDAsMTA0LjUyNyAxNjUuMDUsMCAwLC03My4zNTUgYyAzMS4xOCw1MS4zNDcgNzguODYsODUuMjc3IDE0MS4yMSw4NS4yNzcgNjcuODUsMCAxMjQuNzEsLTQxLjI1OCAxNTIuMjEsLTEwMi42OTkgMjYuNiw2Mi4zNTEgOTIuNjIsMTAyLjY5OSAxNjAuNDcsMTAyLjY5OSA1My4xOSwwIDEwNS40NiwtMjIgMTQxLjIxLC02Mi4zNTEgMzguNTIsLTQ0LjkzOCAzOC41MiwtOTMuNTMyIDM4LjUyLC0xNDkuNDU3IGwgMCwtMTg1LjIzOSA2My4yNywwIDAsLTEwNC41MjcgLTIzOC40MiwwIDAsMTA0LjUyNyA2My4yOCwwIDAsMTU3LjcxNSBjIDAsMzIuMTAyIDAsNjAuNTI3IC0xNC42Nyw4OC45NTcgLTE4LjM0LDI2LjU4MiAtNDguNjEsNDAuMzQ0IC03OS43Nyw0MC4zNDQgLTMwLjI2LDAgLTYzLjI4LC0xMi44NDQgLTgyLjUzLC0zNi42NzIgLTIyLjkzLC0yOS4zNTUgLTIyLjkzLC01Ni44NjMgLTIyLjkzLC05Mi42MjkgbCAwLC0xNTcuNzE1IDYzLjI3LDAgMCwtMTA0LjUyNyAtMjM4LjQxLDAgMCwxMDQuNTI3IDYzLjI4LDAgMCwxNTAuMzgzIGMgMCwyOS4zNDggMCw2Ni4wMjMgLTE0LjY3LDkxLjY5OSAtMTUuNTksMjkuMzM2IC00Ny42OSw0NC45MzQgLTgwLjcsNDQuOTM0IC0zMS4xOCwwIC01Ny43NywtMTEuMDA4IC03Ny45NCwtMzUuNzc0IC0yNC43NywtMzAuMjUzIC0yNi42LC02Mi4zNDMgLTI2LjYsLTk5Ljk0MSBsIDAsLTE1MS4zMDEgNjMuMjcsMCAwLC0xMDQuNTI3IC0yMzguNCwwIDAsMTA0LjUyNyA2My4yNiwwIDAsMjgwLjU5OCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDI4IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSAzOTk4LjY2LDk1MS41NDcgLTExMS44NywwIDAsMTE4LjI5MyAxMTEuODcsMCAwLC0xMTguMjkzIHogbSAwLC00MzEuODkxIDYzLjI3LDAgMCwtMTA0LjUyNyAtMjM5LjMzLDAgMCwxMDQuNTI3IDY0LjE5LDAgMCwyODAuNTk4IC02My4yNywwIDAsMTA0LjUyNyAxNzUuMTQsMCAwLC0zODUuMTI1IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzAiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDQxNTkuMTIsODAwLjI1NCAtNjMuMjcsMCAwLDEwNC41MjcgMTc1LjE0LDAgMCwtNjkuNjg3IGMgMjkuMzUsNTQuMTAxIDg0LjM2LDgwLjY5OSAxNDQuODcsODAuNjk5IDUzLjE5LDAgMTA1LjQ1LC0yMi4wMTYgMTQxLjIyLC02MC41MjcgNDAuMzQsLTQ0LjkzNCA0MS4yNiwtODguMDMyIDQxLjI2LC0xNDMuOTU3IGwgMCwtMTkxLjY1MyA2My4yNywwIDAsLTEwNC41MjcgLTIzOC40LDAgMCwxMDQuNTI3IDYzLjI2LDAgMCwxNTguNjM3IGMgMCwzMC4yNjIgMCw2MS40MzQgLTE5LjI2LDg4LjAzNSAtMjAuMTcsMjYuNTgyIC01My4xOCwzOS40MTQgLTg2LjE5LDM5LjQxNCAtMzMuOTMsMCAtNjguNzcsLTEzLjc1IC04OC45NCwtNDEuMjUgLTIxLjA5LC0yNy41IC0yMS4wOSwtNjkuNjg3IC0yMS4wOSwtMTAyLjcwNyBsIDAsLTE0Mi4xMjkgNjMuMjYsMCAwLC0xMDQuNTI3IC0yMzguNCwwIDAsMTA0LjUyNyA2My4yNywwIDAsMjgwLjU5OCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDMyIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA1MDgyLjQ4LDcwMy45NjUgYyAtMTkuMjQsNzAuNjA1IC04MS42LDExNS41NDcgLTE1NC4wNCwxMTUuNTQ3IC02Ni4wNCwwIC0xMjkuMywtNTEuMzQ4IC0xNDMuMDUsLTExNS41NDcgbCAyOTcuMDksMCB6IG0gODUuMjcsLTE0NC44ODMgYyAtMzguNTEsLTkzLjUyMyAtMTI5LjI3LC0xNTYuNzkzIC0yMzEuMDUsLTE1Ni43OTMgLTE0My4wNywwIC0yNTcuNjgsMTExLjg3MSAtMjU3LjY4LDI1NS44MzYgMCwxNDQuODgzIDEwOS4xMiwyNjEuMzI4IDI1NC45MSwyNjEuMzI4IDY3Ljg3LDAgMTM1LjcyLC0zMC4yNTggMTgzLjM5LC03OC44NjMgNDguNjIsLTUxLjM0NCA2OC43OSwtMTEzLjY5NSA2OC43OSwtMTgzLjM4MyBsIC0zLjY3LC0zOS40MzQgLTM5Ni4xMywwIGMgMTQuNjcsLTY3Ljg2MyA3Ny4wMywtMTE3LjM2MyAxNDYuNzIsLTExNy4zNjMgNDguNTksMCA5MC43NiwxOC4zMjggMTE4LjI4LDU4LjY3MiBsIDExNi40NCwwIgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzQiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDY5MC44OTUsODUwLjcwMyA5MC43NSwwIDIyLjU0MywzMS4wMzUgMCwyNDMuMTIyIC0xMzUuODI5LDAgMCwtMjQzLjE0MSAyMi41MzYsLTMxLjAxNiIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDM2IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA2MzIuMzk1LDc0Mi4yNTggMjguMDM5LDg2LjMwNCAtMjIuNTUxLDMxLjA0IC0yMzEuMjIzLDc1LjEyOCAtNDEuOTc2LC0xMjkuMTgzIDIzMS4yNTcsLTc1LjEzNyAzNi40NTQsMTEuODQ4IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzgiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDcxNy40NDksNjUzLjEwNSAtNzMuNDEsNTMuMzYgLTM2LjQ4OCwtMTEuODc1IC0xNDIuOTAzLC0xOTYuNjkyIDEwOS44ODMsLTc5LjgyOCAxNDIuOTE4LDE5Ni43MDMgMCwzOC4zMzIiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGg0MCIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gODI4LjUyLDcwNi40NjUgLTczLjQyNiwtNTMuMzQgMC4wMTEsLTM4LjM1OSBMIDg5OC4wMDQsNDE4LjA3IDEwMDcuOSw0OTcuODk4IDg2NC45NzMsNjk0LjYwOSA4MjguNTIsNzA2LjQ2NSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDQyIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA4MTIuMDg2LDgyOC41ODYgMjguMDU1LC04Ni4zMiAzNi40ODQsLTExLjgzNiAyMzEuMjI1LDc1LjExNyAtNDEuOTcsMTI5LjE4MyAtMjMxLjIzOSwtNzUuMTQgLTIyLjU1NSwtMzEuMDA0IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNDQiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDczNi4zMDEsMTMzNS44OCBjIC0zMjMuMDQ3LDAgLTU4NS44NzUsLTI2Mi43OCAtNTg1Ljg3NSwtNTg1Ljc4MiAwLC0zMjMuMTE4IDI2Mi44MjgsLTU4NS45NzcgNTg1Ljg3NSwtNTg1Ljk3NyAzMjMuMDE5LDAgNTg1LjgwOSwyNjIuODU5IDU4NS44MDksNTg1Ljk3NyAwLDMyMy4wMDIgLTI2Mi43OSw1ODUuNzgyIC01ODUuODA5LDU4NS43ODIgbCAwLDAgeiBtIDAsLTExOC42MSBjIDI1Ny45NzIsMCA0NjcuMTg5LC0yMDkuMTMgNDY3LjE4OSwtNDY3LjE3MiAwLC0yNTguMTI5IC0yMDkuMjE3LC00NjcuMzQ4IC00NjcuMTg5LC00NjcuMzQ4IC0yNTguMDc0LDAgLTQ2Ny4yNTQsMjA5LjIxOSAtNDY3LjI1NCw0NjcuMzQ4IDAsMjU4LjA0MiAyMDkuMTgsNDY3LjE3MiA0NjcuMjU0LDQ2Ny4xNzIiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGg0NiIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMTA5MS4xMyw2MTkuODgzIC0xNzUuNzcxLDU3LjEyMSAxMS42MjksMzUuODA4IDE3NS43NjIsLTU3LjEyMSAtMTEuNjIsLTM1LjgwOCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDQ4IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0iTSA4NjYuOTU3LDkwMi4wNzQgODM2LjUsOTI0LjE5OSA5NDUuMTIxLDEwNzMuNzMgOTc1LjU4NiwxMDUxLjYxIDg2Ni45NTcsOTAyLjA3NCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDUwIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0iTSA2MDcuNDY1LDkwMy40NDUgNDk4Ljg1NSwxMDUyLjk3IDUyOS4zMiwxMDc1LjEgNjM3LjkzLDkyNS41NjYgNjA3LjQ2NSw5MDMuNDQ1IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNTIiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDM4MC42ODgsNjIyLjEyOSAtMTEuNjI2LDM1LjgwMSAxNzUuNzU4LDU3LjA5IDExLjYyMSwtMzUuODAxIC0xNzUuNzUzLC01Ny4wOSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDU0IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA3MTYuMjg5LDM3Ni41OSAzNy42NDA2LDAgMCwxODQuODE2IC0zNy42NDA2LDAgMCwtMTg0LjgxNiB6IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNTYiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=') no-repeat, none; -webkit-background-size: 100%; -moz-background-size: 100%; -o-background-size: 100%; background-size: 100%; display: block; float: left; width: 90px; height: 25px; }
|
9
|
+
.jasmine_html-reporter .banner .title { background: url('data:image/png;base64,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') no-repeat; background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmVyc2lvbj0iMS4xIgogICB3aWR0aD0iNjgxLjk2MjUyIgogICBoZWlnaHQ9IjE4Ny41IgogICBpZD0ic3ZnMiIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhOCI+PHJkZjpSREY+PGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPjxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PjxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz48L2NjOldvcms+PC9yZGY6UkRGPjwvbWV0YWRhdGE+PGRlZnMKICAgICBpZD0iZGVmczYiPjxjbGlwUGF0aAogICAgICAgaWQ9ImNsaXBQYXRoMTgiPjxwYXRoCiAgICAgICAgIGQ9Ik0gMCwxNTAwIDAsMCBsIDU0NTUuNzQsMCAwLDE1MDAgTCAwLDE1MDAgeiIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgaWQ9InBhdGgyMCIgLz48L2NsaXBQYXRoPjwvZGVmcz48ZwogICAgIHRyYW5zZm9ybT0ibWF0cml4KDEuMjUsMCwwLC0xLjI1LDAsMTg3LjUpIgogICAgIGlkPSJnMTAiPjxnCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuMSwwLjEpIgogICAgICAgaWQ9ImcxMiI+PGcKICAgICAgICAgaWQ9ImcxNCI+PGcKICAgICAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxOCkiCiAgICAgICAgICAgaWQ9ImcxNiI+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMTU0NCw1OTkuNDM0IGMgMC45MiwtNDAuMzUyIDI1LjY4LC04MS42MDIgNzEuNTMsLTgxLjYwMiAyNy41MSwwIDQ3LjY4LDEyLjgzMiA2MS40NCwzNS43NTQgMTIuODMsMjIuOTMgMTIuODMsNTYuODUyIDEyLjgzLDgyLjUyNyBsIDAsMzI5LjE4NCAtNzEuNTIsMCAwLDEwNC41NDMgMjY2LjgzLDAgMCwtMTA0LjU0MyAtNzAuNiwwIDAsLTM0NC43NyBjIDAsLTU4LjY5MSAtMy42OCwtMTA0LjUzMSAtNDQuOTMsLTE1Mi4yMTggLTM2LjY4LC00Mi4xOCAtOTYuMjgsLTY2LjAyIC0xNTMuMTQsLTY2LjAyIC0xMTcuMzcsMCAtMjA3LjI0LDc3Ljk0MSAtMjAyLjY0LDE5Ny4xNDUgbCAxMzAuMiwwIgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMjIiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDIzMDEuNCw2NjIuNjk1IGMgMCw4MC43MDMgLTY2Ljk0LDE0NS44MTMgLTE0Ny42MywxNDUuODEzIC04My40NCwwIC0xNDcuNjMsLTY4Ljc4MSAtMTQ3LjYzLC0xNTEuMzAxIDAsLTc5Ljc4NSA2Ni45NCwtMTQ1LjgwMSAxNDUuOCwtMTQ1LjgwMSA4NC4zNSwwIDE0OS40Niw2Ny44NTIgMTQ5LjQ2LDE1MS4yODkgeiBtIC0xLjgzLC0xODEuNTQ3IGMgLTM1Ljc3LC01NC4wOTcgLTkzLjUzLC03OC44NTkgLTE1Ny43MiwtNzguODU5IC0xNDAuMywwIC0yNTEuMjQsMTE2LjQ0OSAtMjUxLjI0LDI1NC45MTggMCwxNDIuMTI5IDExMy43LDI2MC40MSAyNTYuNzQsMjYwLjQxIDYzLjI3LDAgMTE4LjI5LC0yOS4zMzYgMTUyLjIyLC04Mi41MjMgbCAwLDY5LjY4NyAxNzUuMTQsMCAwLC0xMDQuNTI3IC02MS40NCwwIDAsLTI4MC41OTggNjEuNDQsMCAwLC0xMDQuNTI3IC0xNzUuMTQsMCAwLDY2LjAxOSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDI0IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSAyNjIyLjMzLDU1Ny4yNTggYyAzLjY3LC00NC4wMTYgMzMuMDEsLTczLjM0OCA3OC44NiwtNzMuMzQ4IDMzLjkzLDAgNjYuOTMsMjMuODI0IDY2LjkzLDYwLjUwNCAwLDQ4LjYwNiAtNDUuODQsNTYuODU2IC04My40NCw2Ni45NDEgLTg1LjI4LDIyLjAwNCAtMTc4LjgxLDQ4LjYwNiAtMTc4LjgxLDE1NS44NzkgMCw5My41MzYgNzguODYsMTQ3LjYzMyAxNjUuOTgsMTQ3LjYzMyA0NCwwIDgzLjQzLC05LjE3NiAxMTAuOTQsLTQ0LjAwOCBsIDAsMzMuOTIyIDgyLjUzLDAgMCwtMTMyLjk2NSAtMTA4LjIxLDAgYyAtMS44MywzNC44NTYgLTI4LjQyLDU3Ljc3NCAtNjMuMjYsNTcuNzc0IC0zMC4yNiwwIC02Mi4zNSwtMTcuNDIyIC02Mi4zNSwtNTEuMzQ4IDAsLTQ1Ljg0NyA0NC45MywtNTUuOTMgODAuNjksLTY0LjE4IDg4LjAyLC0yMC4xNzUgMTgyLjQ3LC00Ny42OTUgMTgyLjQ3LC0xNTcuNzM0IDAsLTk5LjAyNyAtODMuNDQsLTE1NC4wMzkgLTE3NS4xMywtMTU0LjAzOSAtNDkuNTMsMCAtOTQuNDYsMTUuNTgyIC0xMjYuNTUsNTMuMTggbCAwLC00MC4zNCAtODUuMjcsMCAwLDE0Mi4xMjkgMTE0LjYyLDAiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGgyNiIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMjk4OC4xOCw4MDAuMjU0IC02My4yNiwwIDAsMTA0LjUyNyAxNjUuMDUsMCAwLC03My4zNTUgYyAzMS4xOCw1MS4zNDcgNzguODYsODUuMjc3IDE0MS4yMSw4NS4yNzcgNjcuODUsMCAxMjQuNzEsLTQxLjI1OCAxNTIuMjEsLTEwMi42OTkgMjYuNiw2Mi4zNTEgOTIuNjIsMTAyLjY5OSAxNjAuNDcsMTAyLjY5OSA1My4xOSwwIDEwNS40NiwtMjIgMTQxLjIxLC02Mi4zNTEgMzguNTIsLTQ0LjkzOCAzOC41MiwtOTMuNTMyIDM4LjUyLC0xNDkuNDU3IGwgMCwtMTg1LjIzOSA2My4yNywwIDAsLTEwNC41MjcgLTIzOC40MiwwIDAsMTA0LjUyNyA2My4yOCwwIDAsMTU3LjcxNSBjIDAsMzIuMTAyIDAsNjAuNTI3IC0xNC42Nyw4OC45NTcgLTE4LjM0LDI2LjU4MiAtNDguNjEsNDAuMzQ0IC03OS43Nyw0MC4zNDQgLTMwLjI2LDAgLTYzLjI4LC0xMi44NDQgLTgyLjUzLC0zNi42NzIgLTIyLjkzLC0yOS4zNTUgLTIyLjkzLC01Ni44NjMgLTIyLjkzLC05Mi42MjkgbCAwLC0xNTcuNzE1IDYzLjI3LDAgMCwtMTA0LjUyNyAtMjM4LjQxLDAgMCwxMDQuNTI3IDYzLjI4LDAgMCwxNTAuMzgzIGMgMCwyOS4zNDggMCw2Ni4wMjMgLTE0LjY3LDkxLjY5OSAtMTUuNTksMjkuMzM2IC00Ny42OSw0NC45MzQgLTgwLjcsNDQuOTM0IC0zMS4xOCwwIC01Ny43NywtMTEuMDA4IC03Ny45NCwtMzUuNzc0IC0yNC43NywtMzAuMjUzIC0yNi42LC02Mi4zNDMgLTI2LjYsLTk5Ljk0MSBsIDAsLTE1MS4zMDEgNjMuMjcsMCAwLC0xMDQuNTI3IC0yMzguNCwwIDAsMTA0LjUyNyA2My4yNiwwIDAsMjgwLjU5OCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDI4IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSAzOTk4LjY2LDk1MS41NDcgLTExMS44NywwIDAsMTE4LjI5MyAxMTEuODcsMCAwLC0xMTguMjkzIHogbSAwLC00MzEuODkxIDYzLjI3LDAgMCwtMTA0LjUyNyAtMjM5LjMzLDAgMCwxMDQuNTI3IDY0LjE5LDAgMCwyODAuNTk4IC02My4yNywwIDAsMTA0LjUyNyAxNzUuMTQsMCAwLC0zODUuMTI1IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzAiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDQxNTkuMTIsODAwLjI1NCAtNjMuMjcsMCAwLDEwNC41MjcgMTc1LjE0LDAgMCwtNjkuNjg3IGMgMjkuMzUsNTQuMTAxIDg0LjM2LDgwLjY5OSAxNDQuODcsODAuNjk5IDUzLjE5LDAgMTA1LjQ1LC0yMi4wMTYgMTQxLjIyLC02MC41MjcgNDAuMzQsLTQ0LjkzNCA0MS4yNiwtODguMDMyIDQxLjI2LC0xNDMuOTU3IGwgMCwtMTkxLjY1MyA2My4yNywwIDAsLTEwNC41MjcgLTIzOC40LDAgMCwxMDQuNTI3IDYzLjI2LDAgMCwxNTguNjM3IGMgMCwzMC4yNjIgMCw2MS40MzQgLTE5LjI2LDg4LjAzNSAtMjAuMTcsMjYuNTgyIC01My4xOCwzOS40MTQgLTg2LjE5LDM5LjQxNCAtMzMuOTMsMCAtNjguNzcsLTEzLjc1IC04OC45NCwtNDEuMjUgLTIxLjA5LC0yNy41IC0yMS4wOSwtNjkuNjg3IC0yMS4wOSwtMTAyLjcwNyBsIDAsLTE0Mi4xMjkgNjMuMjYsMCAwLC0xMDQuNTI3IC0yMzguNCwwIDAsMTA0LjUyNyA2My4yNywwIDAsMjgwLjU5OCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDMyIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA1MDgyLjQ4LDcwMy45NjUgYyAtMTkuMjQsNzAuNjA1IC04MS42LDExNS41NDcgLTE1NC4wNCwxMTUuNTQ3IC02Ni4wNCwwIC0xMjkuMywtNTEuMzQ4IC0xNDMuMDUsLTExNS41NDcgbCAyOTcuMDksMCB6IG0gODUuMjcsLTE0NC44ODMgYyAtMzguNTEsLTkzLjUyMyAtMTI5LjI3LC0xNTYuNzkzIC0yMzEuMDUsLTE1Ni43OTMgLTE0My4wNywwIC0yNTcuNjgsMTExLjg3MSAtMjU3LjY4LDI1NS44MzYgMCwxNDQuODgzIDEwOS4xMiwyNjEuMzI4IDI1NC45MSwyNjEuMzI4IDY3Ljg3LDAgMTM1LjcyLC0zMC4yNTggMTgzLjM5LC03OC44NjMgNDguNjIsLTUxLjM0NCA2OC43OSwtMTEzLjY5NSA2OC43OSwtMTgzLjM4MyBsIC0zLjY3LC0zOS40MzQgLTM5Ni4xMywwIGMgMTQuNjcsLTY3Ljg2MyA3Ny4wMywtMTE3LjM2MyAxNDYuNzIsLTExNy4zNjMgNDguNTksMCA5MC43NiwxOC4zMjggMTE4LjI4LDU4LjY3MiBsIDExNi40NCwwIgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzQiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDY5MC44OTUsODUwLjcwMyA5MC43NSwwIDIyLjU0MywzMS4wMzUgMCwyNDMuMTIyIC0xMzUuODI5LDAgMCwtMjQzLjE0MSAyMi41MzYsLTMxLjAxNiIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDM2IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA2MzIuMzk1LDc0Mi4yNTggMjguMDM5LDg2LjMwNCAtMjIuNTUxLDMxLjA0IC0yMzEuMjIzLDc1LjEyOCAtNDEuOTc2LC0xMjkuMTgzIDIzMS4yNTcsLTc1LjEzNyAzNi40NTQsMTEuODQ4IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzgiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDcxNy40NDksNjUzLjEwNSAtNzMuNDEsNTMuMzYgLTM2LjQ4OCwtMTEuODc1IC0xNDIuOTAzLC0xOTYuNjkyIDEwOS44ODMsLTc5LjgyOCAxNDIuOTE4LDE5Ni43MDMgMCwzOC4zMzIiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGg0MCIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gODI4LjUyLDcwNi40NjUgLTczLjQyNiwtNTMuMzQgMC4wMTEsLTM4LjM1OSBMIDg5OC4wMDQsNDE4LjA3IDEwMDcuOSw0OTcuODk4IDg2NC45NzMsNjk0LjYwOSA4MjguNTIsNzA2LjQ2NSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDQyIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA4MTIuMDg2LDgyOC41ODYgMjguMDU1LC04Ni4zMiAzNi40ODQsLTExLjgzNiAyMzEuMjI1LDc1LjExNyAtNDEuOTcsMTI5LjE4MyAtMjMxLjIzOSwtNzUuMTQgLTIyLjU1NSwtMzEuMDA0IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNDQiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDczNi4zMDEsMTMzNS44OCBjIC0zMjMuMDQ3LDAgLTU4NS44NzUsLTI2Mi43OCAtNTg1Ljg3NSwtNTg1Ljc4MiAwLC0zMjMuMTE4IDI2Mi44MjgsLTU4NS45NzcgNTg1Ljg3NSwtNTg1Ljk3NyAzMjMuMDE5LDAgNTg1LjgwOSwyNjIuODU5IDU4NS44MDksNTg1Ljk3NyAwLDMyMy4wMDIgLTI2Mi43OSw1ODUuNzgyIC01ODUuODA5LDU4NS43ODIgbCAwLDAgeiBtIDAsLTExOC42MSBjIDI1Ny45NzIsMCA0NjcuMTg5LC0yMDkuMTMgNDY3LjE4OSwtNDY3LjE3MiAwLC0yNTguMTI5IC0yMDkuMjE3LC00NjcuMzQ4IC00NjcuMTg5LC00NjcuMzQ4IC0yNTguMDc0LDAgLTQ2Ny4yNTQsMjA5LjIxOSAtNDY3LjI1NCw0NjcuMzQ4IDAsMjU4LjA0MiAyMDkuMTgsNDY3LjE3MiA0NjcuMjU0LDQ2Ny4xNzIiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGg0NiIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMTA5MS4xMyw2MTkuODgzIC0xNzUuNzcxLDU3LjEyMSAxMS42MjksMzUuODA4IDE3NS43NjIsLTU3LjEyMSAtMTEuNjIsLTM1LjgwOCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDQ4IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0iTSA4NjYuOTU3LDkwMi4wNzQgODM2LjUsOTI0LjE5OSA5NDUuMTIxLDEwNzMuNzMgOTc1LjU4NiwxMDUxLjYxIDg2Ni45NTcsOTAyLjA3NCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDUwIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0iTSA2MDcuNDY1LDkwMy40NDUgNDk4Ljg1NSwxMDUyLjk3IDUyOS4zMiwxMDc1LjEgNjM3LjkzLDkyNS41NjYgNjA3LjQ2NSw5MDMuNDQ1IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNTIiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDM4MC42ODgsNjIyLjEyOSAtMTEuNjI2LDM1LjgwMSAxNzUuNzU4LDU3LjA5IDExLjYyMSwtMzUuODAxIC0xNzUuNzUzLC01Ny4wOSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDU0IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA3MTYuMjg5LDM3Ni41OSAzNy42NDA2LDAgMCwxODQuODE2IC0zNy42NDA2LDAgMCwtMTg0LjgxNiB6IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNTYiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=') no-repeat, none; -moz-background-size: 100%; -o-background-size: 100%; -webkit-background-size: 100%; background-size: 100%; display: block; float: left; width: 90px; height: 25px; }
|
10
10
|
.jasmine_html-reporter .banner .version { margin-left: 14px; position: relative; top: 6px; }
|
11
11
|
.jasmine_html-reporter .banner .duration { position: absolute; right: 14px; top: 6px; }
|
12
12
|
.jasmine_html-reporter #jasmine_content { position: fixed; right: 100%; }
|
13
|
-
.jasmine_html-reporter .version { color: #
|
13
|
+
.jasmine_html-reporter .version { color: #aaa; }
|
14
14
|
.jasmine_html-reporter .banner { margin-top: 14px; }
|
15
|
-
.jasmine_html-reporter .duration { color: #
|
15
|
+
.jasmine_html-reporter .duration { color: #aaa; float: right; }
|
16
16
|
.jasmine_html-reporter .symbol-summary { overflow: hidden; *zoom: 1; margin: 14px 0; }
|
17
17
|
.jasmine_html-reporter .symbol-summary li { display: inline-block; height: 8px; width: 14px; font-size: 16px; }
|
18
18
|
.jasmine_html-reporter .symbol-summary li.passed { font-size: 14px; }
|
@@ -31,12 +31,12 @@ body { overflow-y: scroll; }
|
|
31
31
|
.jasmine_html-reporter .bar.passed { background-color: #007069; }
|
32
32
|
.jasmine_html-reporter .bar.skipped { background-color: #bababa; }
|
33
33
|
.jasmine_html-reporter .bar.errored { background-color: #ca3a11; }
|
34
|
-
.jasmine_html-reporter .bar.menu { background-color: #fff; color: #
|
35
|
-
.jasmine_html-reporter .bar.menu a { color: #
|
34
|
+
.jasmine_html-reporter .bar.menu { background-color: #fff; color: #aaa; }
|
35
|
+
.jasmine_html-reporter .bar.menu a { color: #333; }
|
36
36
|
.jasmine_html-reporter .bar a { color: white; }
|
37
37
|
.jasmine_html-reporter.spec-list .bar.menu.failure-list, .jasmine_html-reporter.spec-list .results .failures { display: none; }
|
38
38
|
.jasmine_html-reporter.failure-list .bar.menu.spec-list, .jasmine_html-reporter.failure-list .summary { display: none; }
|
39
|
-
.jasmine_html-reporter .running-alert { background-color: #
|
39
|
+
.jasmine_html-reporter .running-alert { background-color: #666; }
|
40
40
|
.jasmine_html-reporter .results { margin-top: 14px; }
|
41
41
|
.jasmine_html-reporter.showDetails .summaryMenuItem { font-weight: normal; text-decoration: inherit; }
|
42
42
|
.jasmine_html-reporter.showDetails .summaryMenuItem:hover { text-decoration: underline; }
|
@@ -53,10 +53,10 @@ body { overflow-y: scroll; }
|
|
53
53
|
.jasmine_html-reporter .summary li.pending a { color: #ba9d37; }
|
54
54
|
.jasmine_html-reporter .description + .suite { margin-top: 0; }
|
55
55
|
.jasmine_html-reporter .suite { margin-top: 14px; }
|
56
|
-
.jasmine_html-reporter .suite a { color: #
|
56
|
+
.jasmine_html-reporter .suite a { color: #333; }
|
57
57
|
.jasmine_html-reporter .failures .spec-detail { margin-bottom: 28px; }
|
58
58
|
.jasmine_html-reporter .failures .spec-detail .description { background-color: #ca3a11; }
|
59
59
|
.jasmine_html-reporter .failures .spec-detail .description a { color: white; }
|
60
|
-
.jasmine_html-reporter .result-message { padding-top: 14px; color: #
|
60
|
+
.jasmine_html-reporter .result-message { padding-top: 14px; color: #333; white-space: pre; }
|
61
61
|
.jasmine_html-reporter .result-message span.result { display: block; }
|
62
|
-
.jasmine_html-reporter .stack-trace { margin: 5px 0 0 0; max-height: 224px; overflow: auto; line-height: 18px; color: #
|
62
|
+
.jasmine_html-reporter .stack-trace { margin: 5px 0 0 0; max-height: 224px; overflow: auto; line-height: 18px; color: #666; border: 1px solid #ddd; background: white; white-space: pre; }
|