mirror of
https://github.com/DaveGamble/cJSON
synced 2024-12-27 17:12:06 +00:00
ab77a80e9b
f96c055 this is a minor release 2c7629a Documentation Updates b8bfb01 Add support for AStyle in test makefile. It’s going to assume you have it installed. e36d8b5 Merge pull request #276 from wolf99/pdf-to-markdown 1e43967 Add EACH_EQUAL changes e2cc679 Add newlines after headings for best practice, trim trailing spaces & convert sneaky incorrectly coded chars 192d517 Remove PDFs c48f6c9 Add Github Markdown versions of documents 2a5b24f Finished updating all Ruby scripts to match our coding standard. Woo! 3e0a712 Started to flesh out rubocop settings for this project. Added rakefile tasks to do so. Updated first script to make it compliant. 23f9c16 Another round of fixing things that the stylizer “corrected” for me. 3a6cca3 Fixed things that the stylizer “autocorrected” to wrong. ;) 3062c39 Starting to enforce our coding style. The first step is that we’ve pulled in Rubocop to check out Ruby syntax. There is likely a bit of customization to do yet AND there is definitely that backlog of todo’s that we just told it to ignore. 550d58b Attempt to fix remaining issues with casting ee038c2 Ha! Forgot to add the correct comment style d6b3508 Clean up some const issues, particularly when moving between single and double pointers 4ffafce Finish updating documentation to match 083564b Update docs to also understand the new Each Equal handlers 0dddf49 also update strings to support each element of an array. a11a137 Added memory each equal assertion d8d67a7 Added each_equal assertions for float and double b7956ea Added more tests for all the numerical types when performing each_equal assertions 7fe3191 Added some tests to prove this works. Still work in progress 56eeacd prepare for comparing value to array by setting up explicit compare of array to array in ints 7b80885 Merge pull request #272 from FSMaxB/gcc43-wconversion 0781e74 Add our coding standard to documentation c3658a0 Dropped support for pre-2.0 versions of Ruby (not even rubylang supports them anymore) 8a45ccf Use custom mock prefix when searching for mock header files. #263 689610b reorder includes in generated test runners 43c7511 stdlib.h explicitly called in fixtures when malloc used, now. (Fixes issue #268) 1c556d2 Fix -Wconversion with gcc-4.3 8723d50 Turn UNITY_OUTPUT_FLUSH off by default. Added a quick-define for the most common case: UNITY_USE_FLUSH_STDOUT. Clarified documentation. Fixes issue #269 c67a4ff - Add ability to detect TEST_FILE(“filename.c”) specifications in test files 41ee499 Tiny tweaks to make Unity fit in more smoothly with Ceedling git-subtree-dir: tests/unity git-subtree-split: f96c05532b3e00c9ca77e58fc07f9401cd46510d
119 lines
3.4 KiB
Ruby
119 lines
3.4 KiB
Ruby
# ==========================================
|
|
# Unity Project - A Test Framework for C
|
|
# Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
|
|
# [Released under MIT License. Please refer to license.txt for details]
|
|
# ==========================================
|
|
|
|
if RUBY_PLATFORM =~ /(win|w)32$/
|
|
begin
|
|
require 'Win32API'
|
|
rescue LoadError
|
|
puts 'ERROR! "Win32API" library not found'
|
|
puts '"Win32API" is required for colour on a windows machine'
|
|
puts ' try => "gem install Win32API" on the command line'
|
|
puts
|
|
end
|
|
# puts
|
|
# puts 'Windows Environment Detected...'
|
|
# puts 'Win32API Library Found.'
|
|
# puts
|
|
end
|
|
|
|
class ColourCommandLine
|
|
def initialize
|
|
return unless RUBY_PLATFORM =~ /(win|w)32$/
|
|
get_std_handle = Win32API.new('kernel32', 'GetStdHandle', ['L'], 'L')
|
|
@set_console_txt_attrb =
|
|
Win32API.new('kernel32', 'SetConsoleTextAttribute', %w(L N), 'I')
|
|
@hout = get_std_handle.call(-11)
|
|
end
|
|
|
|
def change_to(new_colour)
|
|
if RUBY_PLATFORM =~ /(win|w)32$/
|
|
@set_console_txt_attrb.call(@hout, win32_colour(new_colour))
|
|
else
|
|
"\033[30;#{posix_colour(new_colour)};22m"
|
|
end
|
|
end
|
|
|
|
def win32_colour(colour)
|
|
case colour
|
|
when :black then 0
|
|
when :dark_blue then 1
|
|
when :dark_green then 2
|
|
when :dark_cyan then 3
|
|
when :dark_red then 4
|
|
when :dark_purple then 5
|
|
when :dark_yellow, :narrative then 6
|
|
when :default_white, :default, :dark_white then 7
|
|
when :silver then 8
|
|
when :blue then 9
|
|
when :green, :success then 10
|
|
when :cyan, :output then 11
|
|
when :red, :failure then 12
|
|
when :purple then 13
|
|
when :yellow then 14
|
|
when :white then 15
|
|
else
|
|
0
|
|
end
|
|
end
|
|
|
|
def posix_colour(colour)
|
|
# ANSI Escape Codes - Foreground colors
|
|
# | Code | Color |
|
|
# | 39 | Default foreground color |
|
|
# | 30 | Black |
|
|
# | 31 | Red |
|
|
# | 32 | Green |
|
|
# | 33 | Yellow |
|
|
# | 34 | Blue |
|
|
# | 35 | Magenta |
|
|
# | 36 | Cyan |
|
|
# | 37 | Light gray |
|
|
# | 90 | Dark gray |
|
|
# | 91 | Light red |
|
|
# | 92 | Light green |
|
|
# | 93 | Light yellow |
|
|
# | 94 | Light blue |
|
|
# | 95 | Light magenta |
|
|
# | 96 | Light cyan |
|
|
# | 97 | White |
|
|
|
|
case colour
|
|
when :black then 30
|
|
when :red, :failure then 31
|
|
when :green, :success then 32
|
|
when :yellow then 33
|
|
when :blue, :narrative then 34
|
|
when :purple, :magenta then 35
|
|
when :cyan, :output then 36
|
|
when :white, :default_white then 37
|
|
when :default then 39
|
|
else
|
|
39
|
|
end
|
|
end
|
|
|
|
def out_c(mode, colour, str)
|
|
case RUBY_PLATFORM
|
|
when /(win|w)32$/
|
|
change_to(colour)
|
|
$stdout.puts str if mode == :puts
|
|
$stdout.print str if mode == :print
|
|
change_to(:default_white)
|
|
else
|
|
$stdout.puts("#{change_to(colour)}#{str}\033[0m") if mode == :puts
|
|
$stdout.print("#{change_to(colour)}#{str}\033[0m") if mode == :print
|
|
end
|
|
end
|
|
end # ColourCommandLine
|
|
|
|
def colour_puts(role, str)
|
|
ColourCommandLine.new.out_c(:puts, role, str)
|
|
end
|
|
|
|
def colour_print(role, str)
|
|
ColourCommandLine.new.out_c(:print, role, str)
|
|
end
|