ronin-exploits 1.0.0.beta2 → 1.0.0.beta3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +1 -0
  3. data/README.md +4 -0
  4. data/gemspec.yml +3 -1
  5. data/lib/ronin/exploits/cli/commands/run.rb +55 -5
  6. data/lib/ronin/exploits/version.rb +1 -1
  7. data/ronin-exploits.gemspec +2 -1
  8. metadata +10 -115
  9. data/spec/advisory_spec.rb +0 -71
  10. data/spec/cli/exploit_command_spec.rb +0 -68
  11. data/spec/cli/exploit_methods_spec.rb +0 -208
  12. data/spec/cli/ruby_shell_spec.rb +0 -14
  13. data/spec/client_side_web_vuln_spec.rb +0 -117
  14. data/spec/exploit_spec.rb +0 -538
  15. data/spec/exploits_spec.rb +0 -8
  16. data/spec/heap_overflow_spec.rb +0 -14
  17. data/spec/lfi_spec.rb +0 -162
  18. data/spec/loot/file_spec.rb +0 -131
  19. data/spec/loot_spec.rb +0 -138
  20. data/spec/memory_corruption_spec.rb +0 -22
  21. data/spec/metadata/arch_spec.rb +0 -82
  22. data/spec/metadata/cookie_param_spec.rb +0 -67
  23. data/spec/metadata/default_filename_spec.rb +0 -62
  24. data/spec/metadata/default_port_spec.rb +0 -62
  25. data/spec/metadata/header_name_spec.rb +0 -67
  26. data/spec/metadata/os_spec.rb +0 -164
  27. data/spec/metadata/shouts_spec.rb +0 -100
  28. data/spec/metadata/url_path_spec.rb +0 -67
  29. data/spec/metadata/url_query_param_spec.rb +0 -67
  30. data/spec/mixins/binary_spec.rb +0 -129
  31. data/spec/mixins/build_dir.rb +0 -66
  32. data/spec/mixins/file_builder_spec.rb +0 -67
  33. data/spec/mixins/format_string_spec.rb +0 -44
  34. data/spec/mixins/has_payload_spec.rb +0 -333
  35. data/spec/mixins/has_targets_spec.rb +0 -434
  36. data/spec/mixins/html_spec.rb +0 -772
  37. data/spec/mixins/http_spec.rb +0 -1227
  38. data/spec/mixins/loot_spec.rb +0 -20
  39. data/spec/mixins/nops_spec.rb +0 -165
  40. data/spec/mixins/remote_tcp_spec.rb +0 -217
  41. data/spec/mixins/remote_udp_spec.rb +0 -217
  42. data/spec/mixins/seh_spec.rb +0 -89
  43. data/spec/mixins/stack_overflow_spec.rb +0 -87
  44. data/spec/mixins/text_spec.rb +0 -43
  45. data/spec/open_redirect_spec.rb +0 -71
  46. data/spec/params/base_url_spec.rb +0 -71
  47. data/spec/params/bind_host_spec.rb +0 -34
  48. data/spec/params/bind_port_spec.rb +0 -35
  49. data/spec/params/filename_spec.rb +0 -77
  50. data/spec/params/host_spec.rb +0 -34
  51. data/spec/params/port_spec.rb +0 -77
  52. data/spec/rfi_spec.rb +0 -107
  53. data/spec/seh_overflow_spec.rb +0 -18
  54. data/spec/spec_helper.rb +0 -8
  55. data/spec/sqli_spec.rb +0 -306
  56. data/spec/ssti_spec.rb +0 -121
  57. data/spec/stack_overflow_spec.rb +0 -18
  58. data/spec/target_spec.rb +0 -92
  59. data/spec/test_result_spec.rb +0 -32
  60. data/spec/use_after_free_spec.rb +0 -14
  61. data/spec/web_spec.rb +0 -12
  62. data/spec/web_vuln_spec.rb +0 -854
  63. data/spec/xss_spec.rb +0 -69
@@ -1,62 +0,0 @@
1
- require 'spec_helper'
2
- require 'ronin/exploits/metadata/default_port'
3
-
4
- describe Ronin::Exploits::Metadata::DefaultPort do
5
- module TestMetadataDefaultPort
6
- class WithNoDefaultPortSet
7
- include Ronin::Exploits::Metadata::DefaultPort
8
- end
9
-
10
- class WithDefaultPortSet
11
- include Ronin::Exploits::Metadata::DefaultPort
12
-
13
- default_port 111
14
- end
15
-
16
- class InheritsItsDefaultPort < WithDefaultPortSet
17
- include Ronin::Exploits::Metadata::DefaultPort
18
- end
19
-
20
- class OverridesItsInheritedDefaultPort < WithDefaultPortSet
21
- include Ronin::Exploits::Metadata::DefaultPort
22
-
23
- default_port 222
24
- end
25
- end
26
-
27
- describe ".default_port" do
28
- subject { test_class }
29
-
30
- context "and when default port is not set in the class" do
31
- let(:test_class) { TestMetadataDefaultPort::WithNoDefaultPortSet }
32
-
33
- it "must default to nil" do
34
- expect(subject.default_port).to be(nil)
35
- end
36
- end
37
-
38
- context "and when default port is set in the class" do
39
- let(:test_class) { TestMetadataDefaultPort::WithDefaultPortSet }
40
-
41
- it "must return the set default_port" do
42
- expect(subject.default_port).to eq(111)
43
- end
44
- end
45
-
46
- context "but when the default port was set in the superclass" do
47
- let(:test_class) { TestMetadataDefaultPort::InheritsItsDefaultPort }
48
-
49
- it "must return the default port set in the superclass" do
50
- expect(subject.default_port).to eq(111)
51
- end
52
-
53
- context "but the default port is overridden in the sub-class" do
54
- let(:test_class) { TestMetadataDefaultPort::OverridesItsInheritedDefaultPort }
55
-
56
- it "must return the default port set in the sub-class" do
57
- expect(subject.default_port).to eq(222)
58
- end
59
- end
60
- end
61
- end
62
- end
@@ -1,67 +0,0 @@
1
- require 'spec_helper'
2
- require 'ronin/exploits/metadata/header_name'
3
-
4
- describe Ronin::Exploits::Metadata::HeaderName do
5
- describe ".header_name" do
6
- subject { test_class }
7
-
8
- context "and when header_name is not set in the class" do
9
- module TestMetadataHeaderName
10
- class WithNoHeaderNameSet
11
- include Ronin::Exploits::Metadata::HeaderName
12
- end
13
- end
14
-
15
- let(:test_class) { TestMetadataHeaderName::WithNoHeaderNameSet }
16
-
17
- it "must default to nil" do
18
- expect(subject.header_name).to be(nil)
19
- end
20
- end
21
-
22
- context "and when header_name is set in the class" do
23
- module TestMetadataHeaderName
24
- class WithHeaderNameSet
25
- include Ronin::Exploits::Metadata::HeaderName
26
-
27
- header_name 'test'
28
- end
29
- end
30
-
31
- let(:test_class) { TestMetadataHeaderName::WithHeaderNameSet }
32
-
33
- it "must return the set header_name" do
34
- expect(subject.header_name).to eq("test")
35
- end
36
- end
37
-
38
- context "but when the header_name was set in the superclass" do
39
- module TestMetadataHeaderName
40
- class InheritsItsHeaderName < WithHeaderNameSet
41
- end
42
- end
43
-
44
- let(:test_class) { TestMetadataHeaderName::InheritsItsHeaderName }
45
-
46
- it "must return the header_name set in the superclass" do
47
- expect(subject.header_name).to eq("test")
48
- end
49
-
50
- context "but the header_name is overridden in the sub-class" do
51
- module TestMetadataHeaderName
52
- class OverridesItsInheritedHeaderName < WithHeaderNameSet
53
- header_name "test2"
54
- end
55
- end
56
-
57
- let(:test_class) do
58
- TestMetadataHeaderName::OverridesItsInheritedHeaderName
59
- end
60
-
61
- it "must return the header_name set in the sub-class" do
62
- expect(subject.header_name).to eq("test2")
63
- end
64
- end
65
- end
66
- end
67
- end
@@ -1,164 +0,0 @@
1
- require 'spec_helper'
2
- require 'ronin/exploits/metadata/os'
3
-
4
- describe Ronin::Exploits::Metadata::OS do
5
- module TestMetadataOS
6
- class WithNoOSSet
7
- include Ronin::Exploits::Metadata::OS
8
- end
9
-
10
- class WithOSSet
11
- include Ronin::Exploits::Metadata::OS
12
-
13
- os :linux
14
- end
15
-
16
- class InheritsItsOS < WithOSSet
17
- include Ronin::Exploits::Metadata::OS
18
- end
19
-
20
- class OverridesItsInheritedOS < WithOSSet
21
- include Ronin::Exploits::Metadata::OS
22
-
23
- os :macos
24
- end
25
-
26
- class WithNoOSVersionSet
27
- include Ronin::Exploits::Metadata::OS
28
-
29
- os :linux
30
- end
31
-
32
- class WithOSVersionSet
33
- include Ronin::Exploits::Metadata::OS
34
-
35
- os :linux
36
- os_version '5.x'
37
- end
38
-
39
- class InheritsItsOSVersion < WithOSVersionSet
40
- include Ronin::Exploits::Metadata::OS
41
- end
42
-
43
- class OverridesItsInheritedOSVersion < WithOSVersionSet
44
- include Ronin::Exploits::Metadata::OS
45
-
46
- os :macos
47
- os_version '13'
48
- end
49
- end
50
-
51
- describe ".os" do
52
- subject { test_class }
53
-
54
- context "and when os is not set in the class" do
55
- let(:test_class) { TestMetadataOS::WithNoOSSet }
56
-
57
- it "must default to nil" do
58
- expect(subject.os).to be(nil)
59
- end
60
- end
61
-
62
- context "and when os is set in the class" do
63
- let(:test_class) { TestMetadataOS::WithOSSet }
64
-
65
- it "must return the set os" do
66
- expect(subject.os).to eq(:linux)
67
- end
68
- end
69
-
70
- context "but when the os was set in the superclass" do
71
- let(:test_class) { TestMetadataOS::InheritsItsOS }
72
-
73
- it "must return the os set in the superclass" do
74
- expect(subject.os).to eq(:linux)
75
- end
76
-
77
- context "but the os is overridden in the sub-class" do
78
- let(:test_class) { TestMetadataOS::OverridesItsInheritedOS }
79
-
80
- it "must return the os set in the sub-class" do
81
- expect(subject.os).to eq(:macos)
82
- end
83
- end
84
- end
85
- end
86
-
87
- describe ".os_version" do
88
- subject { test_class }
89
-
90
- context "and when os is not set in the class" do
91
- let(:test_class) { TestMetadataOS::WithNoOSVersionSet }
92
-
93
- it "must default to nil" do
94
- expect(subject.os_version).to be(nil)
95
- end
96
- end
97
-
98
- context "and when os_version is set in the class" do
99
- let(:test_class) { TestMetadataOS::WithOSVersionSet }
100
-
101
- it "must return the set os_version" do
102
- expect(subject.os_version).to eq('5.x')
103
- end
104
- end
105
-
106
- context "but when the os was set in the superclass" do
107
- let(:test_class) { TestMetadataOS::InheritsItsOSVersion }
108
-
109
- it "must return the os_version set in the superclass" do
110
- expect(subject.os_version).to eq('5.x')
111
- end
112
-
113
- context "but the os is overridden in the sub-class" do
114
- let(:test_class) do
115
- TestMetadataOS::OverridesItsInheritedOSVersion
116
- end
117
-
118
- it "must return the os_version set in the sub-class" do
119
- expect(subject.os_version).to eq('13')
120
- end
121
- end
122
- end
123
- end
124
-
125
- describe "#os" do
126
- subject { test_class.new }
127
-
128
- context "when the Exploit class has .os set" do
129
- let(:test_class) { TestMetadataOS::WithOSSet }
130
-
131
- it "must return the Exploit classes .os" do
132
- expect(subject.os).to eq(test_class.os)
133
- end
134
- end
135
-
136
- context "when the Exploit class does not have .os set" do
137
- let(:test_class) { TestMetadataOS::WithNoOSSet }
138
-
139
- it "must return nil" do
140
- expect(subject.os).to be(nil)
141
- end
142
- end
143
- end
144
-
145
- describe "#os_version" do
146
- subject { test_class.new }
147
-
148
- context "when the Exploit class has .os_version set" do
149
- let(:test_class) { TestMetadataOS::WithOSVersionSet }
150
-
151
- it "must return the Exploit classes .os_version" do
152
- expect(subject.os_version).to eq(test_class.os_version)
153
- end
154
- end
155
-
156
- context "when the Exploit class does not have .os_version set" do
157
- let(:test_class) { TestMetadataOS::WithNoOSVersionSet }
158
-
159
- it "must return nil" do
160
- expect(subject.os_version).to be(nil)
161
- end
162
- end
163
- end
164
- end
@@ -1,100 +0,0 @@
1
- require 'spec_helper'
2
- require 'ronin/exploits/metadata/shouts'
3
-
4
- describe Ronin::Exploits::Metadata::Shouts do
5
- describe ".shouts" do
6
- subject { test_class }
7
-
8
- context "and when shouts is not set in the class" do
9
- module TestMetadataShouts
10
- class WithNoShoutsSet
11
- include Ronin::Exploits::Metadata::Shouts
12
- end
13
- end
14
-
15
- let(:test_class) { TestMetadataShouts::WithNoShoutsSet }
16
-
17
- it "must default to []" do
18
- expect(subject.shouts).to eq([])
19
- end
20
- end
21
-
22
- context "and when shouts is set in the class" do
23
- module TestMetadataShouts
24
- class WithShoutsSet
25
- include Ronin::Exploits::Metadata::Shouts
26
-
27
- shouts [
28
- 'https://example.com/link1',
29
- 'https://example.com/link2'
30
- ]
31
- end
32
- end
33
-
34
- let(:test_class) { TestMetadataShouts::WithShoutsSet }
35
-
36
- it "must return the set shouts" do
37
- expect(subject.shouts).to eq(
38
- [
39
- 'https://example.com/link1',
40
- 'https://example.com/link2'
41
- ]
42
- )
43
- end
44
- end
45
-
46
- context "but when the shouts was set in the superclass" do
47
- module TestMetadataShouts
48
- class InheritsItsShouts < WithShoutsSet
49
- include Ronin::Exploits::Metadata::Shouts
50
- end
51
- end
52
-
53
- let(:test_class) { TestMetadataShouts::InheritsItsShouts }
54
-
55
- it "must return the shouts set in the superclass" do
56
- expect(subject.shouts).to eq(
57
- [
58
- 'https://example.com/link1',
59
- 'https://example.com/link2'
60
- ]
61
- )
62
- end
63
-
64
- context "but the shouts is overridden in the sub-class" do
65
- module TestMetadataShouts
66
- class OverridesItsInheritedShouts < WithShoutsSet
67
- include Ronin::Exploits::Metadata::Shouts
68
-
69
- shouts [
70
- 'https://example.com/link3'
71
- ]
72
- end
73
- end
74
-
75
- let(:test_class) do
76
- TestMetadataShouts::OverridesItsInheritedShouts
77
- end
78
-
79
- it "must return the shouts in the sub-class and the superclass" do
80
- expect(subject.shouts).to eq(
81
- [
82
- 'https://example.com/link1',
83
- 'https://example.com/link2',
84
- 'https://example.com/link3'
85
- ]
86
- )
87
- end
88
-
89
- it "must not modify the superclass'es shouts" do
90
- expect(subject.superclass.shouts).to eq(
91
- [
92
- 'https://example.com/link1',
93
- 'https://example.com/link2'
94
- ]
95
- )
96
- end
97
- end
98
- end
99
- end
100
- end
@@ -1,67 +0,0 @@
1
- require 'spec_helper'
2
- require 'ronin/exploits/metadata/url_path'
3
-
4
- describe Ronin::Exploits::Metadata::URLPath do
5
- describe ".url_path" do
6
- subject { test_class }
7
-
8
- context "and when url_path is not set in the class" do
9
- module TestMetadataURLPath
10
- class WithNoURLPathSet
11
- include Ronin::Exploits::Metadata::URLPath
12
- end
13
- end
14
-
15
- let(:test_class) { TestMetadataURLPath::WithNoURLPathSet }
16
-
17
- it "must default to '/'" do
18
- expect(subject.url_path).to eq('/')
19
- end
20
- end
21
-
22
- context "and when url_path is set in the class" do
23
- module TestMetadataURLPath
24
- class WithURLPathSet
25
- include Ronin::Exploits::Metadata::URLPath
26
-
27
- url_path '/test'
28
- end
29
- end
30
-
31
- let(:test_class) { TestMetadataURLPath::WithURLPathSet }
32
-
33
- it "must return the set url_path" do
34
- expect(subject.url_path).to eq("/test")
35
- end
36
- end
37
-
38
- context "but when the url_path was set in the superclass" do
39
- module TestMetadataURLPath
40
- class InheritsItsURLPath < WithURLPathSet
41
- end
42
- end
43
-
44
- let(:test_class) { TestMetadataURLPath::InheritsItsURLPath }
45
-
46
- it "must return the url_path set in the superclass" do
47
- expect(subject.url_path).to eq("/test")
48
- end
49
-
50
- context "but the url_path is overridden in the sub-class" do
51
- module TestMetadataURLPath
52
- class OverridesItsInheritedURLPath < WithURLPathSet
53
- url_path "/test2"
54
- end
55
- end
56
-
57
- let(:test_class) do
58
- TestMetadataURLPath::OverridesItsInheritedURLPath
59
- end
60
-
61
- it "must return the url_path set in the sub-class" do
62
- expect(subject.url_path).to eq("/test2")
63
- end
64
- end
65
- end
66
- end
67
- end
@@ -1,67 +0,0 @@
1
- require 'spec_helper'
2
- require 'ronin/exploits/metadata/url_query_param'
3
-
4
- describe Ronin::Exploits::Metadata::URLQueryParam do
5
- describe ".url_query_param" do
6
- subject { test_class }
7
-
8
- context "and when url_query_param is not set in the class" do
9
- module TestMetadataURLQueryParam
10
- class WithNoURLQueryParamSet
11
- include Ronin::Exploits::Metadata::URLQueryParam
12
- end
13
- end
14
-
15
- let(:test_class) { TestMetadataURLQueryParam::WithNoURLQueryParamSet }
16
-
17
- it "must default to nil" do
18
- expect(subject.url_query_param).to be(nil)
19
- end
20
- end
21
-
22
- context "and when url_query_param is set in the class" do
23
- module TestMetadataURLQueryParam
24
- class WithURLQueryParamSet
25
- include Ronin::Exploits::Metadata::URLQueryParam
26
-
27
- url_query_param 'test'
28
- end
29
- end
30
-
31
- let(:test_class) { TestMetadataURLQueryParam::WithURLQueryParamSet }
32
-
33
- it "must return the set url_query_param" do
34
- expect(subject.url_query_param).to eq("test")
35
- end
36
- end
37
-
38
- context "but when the url_query_param was set in the superclass" do
39
- module TestMetadataURLQueryParam
40
- class InheritsItsURLQueryParam < WithURLQueryParamSet
41
- end
42
- end
43
-
44
- let(:test_class) { TestMetadataURLQueryParam::InheritsItsURLQueryParam }
45
-
46
- it "must return the url_query_param set in the superclass" do
47
- expect(subject.url_query_param).to eq("test")
48
- end
49
-
50
- context "but the url_query_param is overridden in the sub-class" do
51
- module TestMetadataURLQueryParam
52
- class OverridesItsInheritedURLQueryParam < WithURLQueryParamSet
53
- url_query_param "test2"
54
- end
55
- end
56
-
57
- let(:test_class) do
58
- TestMetadataURLQueryParam::OverridesItsInheritedURLQueryParam
59
- end
60
-
61
- it "must return the url_query_param set in the sub-class" do
62
- expect(subject.url_query_param).to eq("test2")
63
- end
64
- end
65
- end
66
- end
67
- end
@@ -1,129 +0,0 @@
1
- require 'spec_helper'
2
- require 'ronin/exploits/mixins/binary'
3
-
4
- require 'ronin/exploits/exploit'
5
- require 'ronin/exploits/metadata/arch'
6
- require 'ronin/exploits/metadata/os'
7
-
8
- describe Ronin::Exploits::Mixins::Binary do
9
- module TestBinaryMixin
10
- class ExploitWithArchSet < Ronin::Exploits::Exploit
11
- include Ronin::Exploits::Metadata::Arch
12
- include Ronin::Exploits::Mixins::Binary
13
-
14
- arch :x86
15
- end
16
-
17
- class ExploitWithoutArch < Ronin::Exploits::Exploit
18
- include Ronin::Exploits::Mixins::Binary
19
- end
20
-
21
- class ExploitWithoutArchSet < Ronin::Exploits::Exploit
22
- include Ronin::Exploits::Metadata::Arch
23
- include Ronin::Exploits::Mixins::Binary
24
- end
25
-
26
- class ExploitWithArchSetButWithoutOSSet < Ronin::Exploits::Exploit
27
- include Ronin::Exploits::Metadata::Arch
28
- include Ronin::Exploits::Metadata::OS
29
- include Ronin::Exploits::Mixins::Binary
30
-
31
- arch :x86
32
- end
33
-
34
- class ExploitWithArchAndOSSet < Ronin::Exploits::Exploit
35
- include Ronin::Exploits::Metadata::Arch
36
- include Ronin::Exploits::Metadata::OS
37
- include Ronin::Exploits::Mixins::Binary
38
-
39
- arch :x86
40
- os :linux
41
- end
42
- end
43
-
44
- subject { exploit_class.new }
45
-
46
- describe "#perform_validate" do
47
- context "when the exploit class does not define an #arch method" do
48
- let(:exploit_class) { TestBinaryMixin::ExploitWithoutArch }
49
-
50
- it do
51
- expect {
52
- subject.perform_validate
53
- }.to raise_error(Ronin::Exploits::ValidationError,"exploit #{exploit_class} did not include Ronin::Exploits::Metadata::Arch or Ronin::Exploits::Mixins::HasTargets")
54
- end
55
- end
56
-
57
- context "when the exploit class's #arch method returns nil" do
58
- let(:exploit_class) { TestBinaryMixin::ExploitWithoutArchSet }
59
-
60
- it do
61
- expect {
62
- subject.perform_validate
63
- }.to raise_error(Ronin::Exploits::ValidationError,"exploit #{exploit_class} did not include define an architecture")
64
- end
65
- end
66
-
67
- context "when the exploit class defines an architecture" do
68
- let(:exploit_class) { TestBinaryMixin::ExploitWithArchSet }
69
-
70
- it do
71
- expect {
72
- subject.perform_validate
73
- }.to_not raise_error
74
- end
75
- end
76
- end
77
-
78
- describe "#platform" do
79
- context "when #arch returns nil" do
80
- let(:exploit_class) { TestBinaryMixin::ExploitWithoutArchSet }
81
-
82
- it "must return Ronin::Support::Binary::CTypes" do
83
- expect(subject.platform).to be(Ronin::Support::Binary::CTypes)
84
- end
85
- end
86
-
87
- context "when #arch returns a architecture name" do
88
- let(:exploit_class) { TestBinaryMixin::ExploitWithArchSet }
89
-
90
- it "must return the according Ronin::Support::Binary::CTypes::Arch:: module" do
91
- expect(subject.platform).to be(Ronin::Support::Binary::CTypes::Arch::X86)
92
- end
93
-
94
- context "and when #os is defined" do
95
- context "and it returns an OS name" do
96
- let(:exploit_class) do
97
- TestBinaryMixin::ExploitWithArchAndOSSet
98
- end
99
-
100
- it "must return the according Ronin::Support::Binary::CTypes::OS object with the according Ronin::Support::Binary::CTypes::Arch:: module inside it" do
101
- expect(subject.platform).to be_kind_of(Ronin::Support::Binary::CTypes::OS::Linux)
102
- expect(subject.platform.types).to be(Ronin::Support::Binary::CTypes::Arch::X86)
103
- end
104
- end
105
-
106
- context "but it returns nil" do
107
- let(:exploit_class) do
108
- TestBinaryMixin::ExploitWithArchSetButWithoutOSSet
109
- end
110
-
111
- it "must still return the according Ronin::Support::Binary::CTypes::Arch:: module" do
112
- expect(subject.platform).to be(Ronin::Support::Binary::CTypes::Arch::X86)
113
- end
114
- end
115
- end
116
- end
117
- end
118
-
119
- describe "#pack" do
120
- let(:exploit_class) { TestBinaryMixin::ExploitWithArchSet }
121
-
122
- let(:type) { :uint32 }
123
- let(:value) { 0x12345678 }
124
-
125
- it "must pack the value using the type from #platform" do
126
- expect(subject.pack(type,value)).to eq("\x78\x56\x34\x12".b)
127
- end
128
- end
129
- end