Skip to content
This repository was archived by the owner on Jun 17, 2022. It is now read-only.

Commit cd1943f

Browse files
elitegregagoode
authored andcommitted
Added support for Brother duplexing (BRDuplex) (#351)
* Added support for Brother duplexing (BRDuplex) * Added test for Brother duplexing (BRDuplex)
1 parent 343bb8d commit cd1943f

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

cups/translate-ppd.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121

2222
const (
2323
ppdBoolean = "Boolean"
24+
ppdBRDuplex = "BRDuplex"
2425
ppdCMAndResolution = "CMAndResolution"
2526
ppdCloseGroup = "CloseGroup"
2627
ppdCloseSubGroup = "CloseSubGroup"
@@ -157,6 +158,9 @@ func translatePPD(ppd string, vendorPPDOptions []string) (*cdd.PrinterDescriptio
157158
if e, exists := entriesByMainKeyword[ppdDuplex]; exists {
158159
pds.Duplex, duplexMap = convertDuplex(e)
159160
consideredMainKeywords[e.mainKeyword] = struct{}{}
161+
} else if e, exists := entriesByMainKeyword[ppdBRDuplex]; exists {
162+
pds.Duplex, duplexMap = convertDuplex(e)
163+
consideredMainKeywords[e.mainKeyword] = struct{}{}
160164
} else if e, exists := entriesByMainKeyword[ppdKMDuplex]; exists {
161165
pds.Duplex, duplexMap = convertDuplex(e)
162166
consideredMainKeywords[e.mainKeyword] = struct{}{}

cups/translate-ppd_test.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,36 @@ func TestTrKMDuplex(t *testing.T) {
253253
translationTest(t, ppd, []string{}, expected)
254254
}
255255

256+
func TestTrBRDuplex(t *testing.T) {
257+
ppd := `*PPD-Adobe: "4.3"
258+
*OpenUI *BRDuplex/Two-Sided Printing: PickOne
259+
*OrderDependency: 25 AnySetup *BRDuplex
260+
*DefaultBRDuplex: None
261+
*BRDuplex DuplexTumble/DuplexTumble: " "
262+
*BRDuplex DuplexNoTumble/DuplexNoTumble: " "
263+
*BRDuplex None/OFF: " "
264+
*CloseUI: *BRDuplex
265+
`
266+
267+
expected := testdata{
268+
&cdd.PrinterDescriptionSection{
269+
Duplex: &cdd.Duplex{
270+
Option: []cdd.DuplexOption{
271+
cdd.DuplexOption{cdd.DuplexShortEdge, false},
272+
cdd.DuplexOption{cdd.DuplexLongEdge, false},
273+
cdd.DuplexOption{cdd.DuplexNoDuplex, true},
274+
},
275+
},
276+
},
277+
lib.DuplexVendorMap{
278+
cdd.DuplexNoDuplex: "BRDuplex:None",
279+
cdd.DuplexLongEdge: "BRDuplex:DuplexNoTumble",
280+
cdd.DuplexShortEdge: "BRDuplex:DuplexTumble",
281+
},
282+
}
283+
translationTest(t, ppd, []string{}, expected)
284+
}
285+
256286
func TestTrDPI(t *testing.T) {
257287
ppd := `*PPD-Adobe: "4.3"
258288
*OpenUI *Resolution/Resolution: PickOne

0 commit comments

Comments
 (0)