diff --git a/Makefile b/Makefile index a4974e1bd..01f95ce95 100644 --- a/Makefile +++ b/Makefile @@ -45,11 +45,8 @@ sources := $(foreach d,$(source_directories),$(call sort_directory,$(d))) uses_tests_enabled := \ src/classes/Post.coffee \ - src/site/SW.tinyboard.coffee \ src/General/Test.coffee \ src/Linkification/Linkify.coffee \ - src/Miscellaneous/Keybinds.coffee \ - src/Monitoring/Unread.coffee \ src/main/Main.coffee imports_src/globals/globals.js := \ diff --git a/src/Archive/Redirect.coffee b/src/Archive/Redirect.coffee index 5e601191d..cfdbc84f9 100644 --- a/src/Archive/Redirect.coffee +++ b/src/Archive/Redirect.coffee @@ -1,11 +1,11 @@ Redirect = archives: - `<%= + ```<%= JSON.stringify(readJSON('archives.json'), null, 2) .replace(/\n {2,}(?!{)/g, ' ') .replace(/\n/g, '\n ') .replace(/`/g, '\\`') - %>` + %>``` init: -> @selectArchives() diff --git a/src/General/Test.coffee b/src/General/Test.coffee index 98ce9d8e7..1d9ef4cfa 100644 --- a/src/General/Test.coffee +++ b/src/General/Test.coffee @@ -1,16 +1,17 @@ <% if (readJSON('/.tests_enabled')) { %> Test = init: -> - return if !Conf['Menu'] or g.VIEW not in ['index', 'thread'] + return unless g.SITE.software is 'yotsuba' and g.VIEW in ['index', 'thread'] - a = $.el 'a', - textContent: 'Test HTML building' - $.on a, 'click', @cb.testOne - Menu.menu.addEntry - el: a - open: (post) -> - a.dataset.fullID = post.fullID - true + if Conf['Menu'] + a = $.el 'a', + textContent: 'Test HTML building' + $.on a, 'click', @cb.testOne + Menu.menu.addEntry + el: a + open: (post) -> + a.dataset.fullID = post.fullID + true a2 = $.el 'a', textContent: 'Test HTML building' @@ -18,6 +19,15 @@ Test = Header.menu.addEntry el: a2 + if Unread.posts + testOrderLink = $.el 'a', + textContent: 'Test Post Order' + $.on testOrderLink, 'click', @cb.testOrder + Header.menu.addEntry + el: testOrderLink + + $.on d, 'keydown', @cb.keydown + assert: (condition) -> unless condition() new Notice 'warning', "Assertion failed: #{condition}", 30 @@ -137,4 +147,26 @@ Test = testAll: -> Test.testAll() Header.menu.close() + + testOrder: -> + list1 = (x.ID for x in Unread.order.order()) + list2 = (+x.id.match(/\d*$/)[0] for x in $$ (if g.SITE.isOPContainerThread then "#{g.SITE.selectors.thread}, " else '') + g.SITE.selectors.postContainer) + pass = do -> + return false unless list1.length is list2.length + for i in [0...list1.length] by 1 + return false if list1[i] isnt list2[i] + true + if pass + new Notice 'success', "Orders same (#{list1.length} posts)", 5 + else + new Notice 'warning', 'Orders differ.', 30 + c.log list1 + c.log list2 + + keydown: (e) -> + return unless Keybinds.keyCode(e) is 'v' + return if e.target.nodeName in ['INPUT', 'TEXTAREA'] + Test.testAll() + e.preventDefault() + e.stopPropagation() <% } %> diff --git a/src/Miscellaneous/Keybinds.coffee b/src/Miscellaneous/Keybinds.coffee index f89cc9d94..b51e12304 100644 --- a/src/Miscellaneous/Keybinds.coffee +++ b/src/Miscellaneous/Keybinds.coffee @@ -218,11 +218,6 @@ Keybinds = when Conf['Next Post Quoting You'] return unless threadRoot and QuoteYou.db QuoteYou.cb.seek 'following' - <% if (readJSON('/.tests_enabled')) { %> - when 'v' - return unless threadRoot - Test.testAll() - <% } %> else return e.preventDefault() diff --git a/src/Monitoring/Favicon.coffee b/src/Monitoring/Favicon.coffee index d66400274..84418213d 100644 --- a/src/Monitoring/Favicon.coffee +++ b/src/Monitoring/Favicon.coffee @@ -12,52 +12,52 @@ Favicon = switch: -> items = { ferongr: [ - '<%= readBase64('ferongr.unreadDead.png') %>' - '<%= readBase64('ferongr.unreadDeadY.png') %>' - '<%= readBase64('ferongr.unreadSFW.png') %>' - '<%= readBase64('ferongr.unreadSFWY.png') %>' - '<%= readBase64('ferongr.unreadNSFW.png') %>' - '<%= readBase64('ferongr.unreadNSFWY.png') %>' + '<%= readBase64("ferongr.unreadDead.png") %>' + '<%= readBase64("ferongr.unreadDeadY.png") %>' + '<%= readBase64("ferongr.unreadSFW.png") %>' + '<%= readBase64("ferongr.unreadSFWY.png") %>' + '<%= readBase64("ferongr.unreadNSFW.png") %>' + '<%= readBase64("ferongr.unreadNSFWY.png") %>' ] 'xat-': [ - '<%= readBase64('xat-.unreadDead.png') %>' - '<%= readBase64('xat-.unreadDeadY.png') %>' - '<%= readBase64('xat-.unreadSFW.png') %>' - '<%= readBase64('xat-.unreadSFWY.png') %>' - '<%= readBase64('xat-.unreadNSFW.png') %>' - '<%= readBase64('xat-.unreadNSFWY.png') %>' + '<%= readBase64("xat-.unreadDead.png") %>' + '<%= readBase64("xat-.unreadDeadY.png") %>' + '<%= readBase64("xat-.unreadSFW.png") %>' + '<%= readBase64("xat-.unreadSFWY.png") %>' + '<%= readBase64("xat-.unreadNSFW.png") %>' + '<%= readBase64("xat-.unreadNSFWY.png") %>' ] Mayhem: [ - '<%= readBase64('Mayhem.unreadDead.png') %>' - '<%= readBase64('Mayhem.unreadDeadY.png') %>' - '<%= readBase64('Mayhem.unreadSFW.png') %>' - '<%= readBase64('Mayhem.unreadSFWY.png') %>' - '<%= readBase64('Mayhem.unreadNSFW.png') %>' - '<%= readBase64('Mayhem.unreadNSFWY.png') %>' + '<%= readBase64("Mayhem.unreadDead.png") %>' + '<%= readBase64("Mayhem.unreadDeadY.png") %>' + '<%= readBase64("Mayhem.unreadSFW.png") %>' + '<%= readBase64("Mayhem.unreadSFWY.png") %>' + '<%= readBase64("Mayhem.unreadNSFW.png") %>' + '<%= readBase64("Mayhem.unreadNSFWY.png") %>' ] '4chanJS': [ - '<%= readBase64('4chanJS.unreadDead.png') %>' - '<%= readBase64('4chanJS.unreadDeadY.png') %>' - '<%= readBase64('4chanJS.unreadSFW.png') %>' - '<%= readBase64('4chanJS.unreadSFWY.png') %>' - '<%= readBase64('4chanJS.unreadNSFW.png') %>' - '<%= readBase64('4chanJS.unreadNSFWY.png') %>' + '<%= readBase64("4chanJS.unreadDead.png") %>' + '<%= readBase64("4chanJS.unreadDeadY.png") %>' + '<%= readBase64("4chanJS.unreadSFW.png") %>' + '<%= readBase64("4chanJS.unreadSFWY.png") %>' + '<%= readBase64("4chanJS.unreadNSFW.png") %>' + '<%= readBase64("4chanJS.unreadNSFWY.png") %>' ] Original: [ - '<%= readBase64('Original.unreadDead.png') %>' - '<%= readBase64('Original.unreadDeadY.png') %>' - '<%= readBase64('Original.unreadSFW.png') %>' - '<%= readBase64('Original.unreadSFWY.png') %>' - '<%= readBase64('Original.unreadNSFW.png') %>' - '<%= readBase64('Original.unreadNSFWY.png') %>' + '<%= readBase64("Original.unreadDead.png") %>' + '<%= readBase64("Original.unreadDeadY.png") %>' + '<%= readBase64("Original.unreadSFW.png") %>' + '<%= readBase64("Original.unreadSFWY.png") %>' + '<%= readBase64("Original.unreadNSFW.png") %>' + '<%= readBase64("Original.unreadNSFWY.png") %>' ] 'Metro': [ - '<%= readBase64('Metro.unreadDead.png') %>' - '<%= readBase64('Metro.unreadDeadY.png') %>' - '<%= readBase64('Metro.unreadSFW.png') %>' - '<%= readBase64('Metro.unreadSFWY.png') %>' - '<%= readBase64('Metro.unreadNSFW.png') %>' - '<%= readBase64('Metro.unreadNSFWY.png') %>' + '<%= readBase64("Metro.unreadDead.png") %>' + '<%= readBase64("Metro.unreadDeadY.png") %>' + '<%= readBase64("Metro.unreadSFW.png") %>' + '<%= readBase64("Metro.unreadSFWY.png") %>' + '<%= readBase64("Metro.unreadNSFW.png") %>' + '<%= readBase64("Metro.unreadNSFWY.png") %>' ] } items = $.getOwn(items, Conf['favicon']) @@ -81,5 +81,5 @@ Favicon = SFW: '//s.4cdn.org/image/favicon-ws.ico' NSFW: '//s.4cdn.org/image/favicon.ico' - dead: 'data:image/gif;base64,<%= readBase64('dead.gif') %>' - logo: 'data:image/png;base64,<%= readBase64('/src/meta/icon128.png') %>' + dead: 'data:image/gif;base64,<%= readBase64("dead.gif") %>' + logo: 'data:image/png;base64,<%= readBase64("/src/meta/icon128.png") %>' diff --git a/src/Monitoring/ThreadUpdater.coffee b/src/Monitoring/ThreadUpdater.coffee index ba33f3e53..fcee0a8e6 100644 --- a/src/Monitoring/ThreadUpdater.coffee +++ b/src/Monitoring/ThreadUpdater.coffee @@ -91,7 +91,7 @@ ThreadUpdater = http://freesound.org/people/pierrecartoons1979/sounds/90112/ cc-by-nc-3.0 ### - beep: 'data:audio/wav;base64,<%= readBase64('beep.wav') %>' + beep: 'data:audio/wav;base64,<%= readBase64("beep.wav") %>' playBeep: -> {audio} = ThreadUpdater diff --git a/src/Monitoring/Unread.coffee b/src/Monitoring/Unread.coffee index 48dabf83e..66a0381f1 100644 --- a/src/Monitoring/Unread.coffee +++ b/src/Monitoring/Unread.coffee @@ -29,27 +29,6 @@ Unread = name: 'Unread' cb: @addPost - <% if (readJSON('/.tests_enabled')) { %> - testLink = $.el 'a', - textContent: 'Test Post Order' - $.on testLink, 'click', -> - list1 = (x.ID for x in Unread.order.order()) - list2 = (+x.id.match(/\d*$/)[0] for x in $$ (if g.SITE.isOPContainerThread then "#{g.SITE.selectors.thread}, " else '') + g.SITE.selectors.postContainer) - pass = do -> - return false unless list1.length is list2.length - for i in [0...list1.length] by 1 - return false if list1[i] isnt list2[i] - true - if pass - new Notice 'success', "Orders same (#{list1.length} posts)", 5 - else - new Notice 'warning', 'Orders differ.', 30 - c.log list1 - c.log list2 - Header.menu.addEntry - el: testLink - <% } %> - node: -> Unread.thread = @ Unread.title = d.title diff --git a/src/config/Config.coffee b/src/config/Config.coffee index cc0331269..28a788b5c 100644 --- a/src/config/Config.coffee +++ b/src/config/Config.coffee @@ -1182,4 +1182,4 @@ Config = hiddenPSAList: [{}] - knownBanners: '<%= readJSON('banners.json').join(',') %>' + knownBanners: '<%= readJSON("banners.json").join(",") %>' diff --git a/src/main/Main.coffee b/src/main/Main.coffee index 07239c33b..89666e41c 100644 --- a/src/main/Main.coffee +++ b/src/main/Main.coffee @@ -671,7 +671,8 @@ Main = ['Flash Features', Flash] ['Reply Pruning', ReplyPruning] ['Mod Contact Links', ModContact] - <% if (readJSON('/.tests_enabled')) { %> - ['Build Test', Test] - <% } %> ] + +<% if (readJSON('/.tests_enabled')) { %> +Main.features.push ['Build Test', Test] +<% } %> diff --git a/src/platform/$.coffee b/src/platform/$.coffee index 266935441..da0726e2d 100644 --- a/src/platform/$.coffee +++ b/src/platform/$.coffee @@ -396,8 +396,8 @@ do -> $.modifiedClick = (e) -> e.shiftKey or e.altKey or e.ctrlKey or e.metaKey or e.button isnt 0 -$.open = <% if (type === 'userscript') { %> +$.open = if GM?.openInTab? GM.openInTab else if GM_openInTab? @@ -405,6 +405,7 @@ $.open = else (url) -> window.open url, '_blank' <% } else { %> +$.open = (url) -> window.open url, '_blank' <% } %> diff --git a/src/site/SW.tinyboard.coffee b/src/site/SW.tinyboard.coffee index 4651467bf..be137eea9 100644 --- a/src/site/SW.tinyboard.coffee +++ b/src/site/SW.tinyboard.coffee @@ -25,9 +25,6 @@ SW.tinyboard = 'Banner' 'Flash Features' 'Reply Pruning' - <% if (readJSON('/.tests_enabled')) { %> - 'Build Test' - <% } %> ] detect: ->